unixman
get-wmiobject Win32_Product | sort-object -property Name | Format-Table IdentifyingNumber, Name, LocalPackage -AutoSizeКажется, дотнеты и так в виндах все есть, их надо просто включить.
спасибо за скрипт экономит время сильно но по прежнему нет ничего про .net framewrok, есть dotnet core, dotnet sdk
Хоттабыч 🐕
get-itemproperty HKLM:\Software\wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\* |?{$_.DisplayName -like "*frame*"} так найдется?
[IPT] Dmitry
Например, нашу
покажите, посмотрим. просто я не очень вижу смысл в запихивании проприетарного ПО в репы за вендора
Хоттабыч 🐕
а он точно есть? PS>get-itemproperty HKLM:\Software\wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\* |?{$_.DisplayName -like "*frame*"} |select DisplayName DisplayName ----------- Microsoft .NET Framework 4.7.2 SDK
anikin
спасибо за скрипт экономит время сильно но по прежнему нет ничего про .net framewrok, есть dotnet core, dotnet sdk
Вероятно, необходимо поставить .Net 4.x и узнать его uuid, если дотнет нужной версии не установлен. И вот такой путь имеется: Get-WindowsOptionalFeature -Online | sort -Descending | ftФичи с префиксом NetFx4 Это если речь про Win10, как в 7 не подскажу.
unixman
а он точно есть? PS>get-itemproperty HKLM:\Software\wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\* |?{$_.DisplayName -like "*frame*"} |select DisplayName DisplayName ----------- Microsoft .NET Framework 4.7.2 SDK
есть, при чем такая проблема не на одном сервере, windows 2012r2. не получается добиться идемпотентности (
unixman
не оно? https://stackoverflow.com/questions/41835740/install-net-framework-4-6-1-using-ansible
тут указаны id конечно, но не понятно откуда они взяты, для 4.7.2 id тут нет, также мучает вопрос меняются ли эти id при изменении минорных версий?
unixman
нужна именно offline установка пакетов, поэтому использовать choco нет возможности, как и windows features
unixman
ладно возьму скрипт из choco для определения установленной версии и будем делать колхоз, всегда так в ansible в шаг сторону и уже нужно делать что то свое ...
[IPT] Dmitry
Что-то да, что-то нет
Sergey
Правило хорошего тона - держать локальную репу в инфре (если мы про бизнес вообще, который и завтра тоже должен работать).
[IPT] Dmitry
Ага, если бизнес компании - репозитории
Sergey
Ага, если бизнес компании - репозитории
Ладно, оффтопик здесь. При желании можно продолжить обсуждение в профильных чатах.
Хоттабыч 🐕
ладно возьму скрипт из choco для определения установленной версии и будем делать колхоз, всегда так в ansible в шаг сторону и уже нужно делать что то свое ...
https://docs.microsoft.com/ru-ru/dotnet/framework/migration-guide/how-to-determine-which-versions-are-installed можно получить версию установленного пакета как описано здесь, например и плясать от этого
Антон
коллеги, скажите пожалуйста, есть у кого-нибудь реальный опыт управления ансиблом windows 2019 over ssh?
Хоттабыч 🐕
пример - hosts: all tasks: - name: "Get dotnet registry key value" win_reg_stat: path: HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full name: Release register: dotnetversion - name: "Install dotnet 471" win_package: path: C:\installers\NDP471-KB4033342-x86-x64-AllOS-ENU.exe arguments: /q /norestart product_id: none state: "{{ 'present' if 'dotnetversion' == 461310 else 'absent' }}"
Антон
а в hosts так же прописывается?
Антон
просто у меня вываливается ошибка что не может использовать /tmp - явно считает что пришел к пингвину
Никита
ansible_connection: winrm ansible_winrm_transport: basic
Антон
нужно не ssh а winrm дергать
почему нет? там есть штатный ssh
Антон
о! в доке нашел -))) надо добавить ansible_shell_type=cmd|powershell
Антон
и заработало
Хоттабыч 🐕
нужно не ssh а winrm дергать
Это просто пример.
Maksim
Подскажите плиз, где можно посмотреть опции setup модуля, чтобы найти то, что нужно именно мне?
anikin
Подскажите плиз, где можно посмотреть опции setup модуля, чтобы найти то, что нужно именно мне?
полагаю, необходимо выполнить ad-hoc? ansible -m setup -i inventory host Секция Examples: https://docs.ansible.com/ansible/latest/modules/setup_module.html
Maksim
И еще вопрос, есть ansible_distribution_version. Как мне вывести это значение до точки
Maksim
т.е 7, вместо 7.7
Lamobot
И еще вопрос, есть ansible_distribution_version. Как мне вывести это значение до точки
Если в условиях, то есть тесты: https://docs.ansible.com/ansible/latest/user_guide/playbooks_tests.html#version-comparison И фильтры типа split(), regex_replace итд
Aleksandr
Привет! помогите отдебажить пожалуйста следующую ситуацию: Обновил на маке через brew питон и ансибл: ansible 2.9.2 config file = /Users/xxx/.ansible.cfg configured module search path = ['/Users/xxx/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules'] ansible python module location = /usr/local/Cellar/ansible/2.9.2_1/libexec/lib/python3.8/site-packages/ansible executable location = /usr/local/bin/ansible python version = 3.8.1 (default, Dec 27 2019, 18:06:00) [Clang 11.0.0 (clang-1100.0.33.16)] --- $ python3 --version Python 3.8.1 --- $ pip3 show pyvmomi Name: pyvmomi Version: 6.7.3 Summary: VMware vSphere Python SDK Home-page: https://github.com/vmware/pyvmomi Author: VMware, Inc. Author-email: jhu@vmware.com License: License :: OSI Approved :: Apache Software License Location: /usr/local/lib/python3.8/site-packages проблема в том что когда запускаешь ансибл, он не находит пакет pyvmomi. Если делать импорт вручную того что делает ансибл в библиотеке - все работает. Подозреваю что проблема в линковке, но не могу понять где он ищет и не находит. Спасибо за советы!
Sergey
Привет! помогите отдебажить пожалуйста следующую ситуацию: Обновил на маке через brew питон и ансибл: ansible 2.9.2 config file = /Users/xxx/.ansible.cfg configured module search path = ['/Users/xxx/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules'] ansible python module location = /usr/local/Cellar/ansible/2.9.2_1/libexec/lib/python3.8/site-packages/ansible executable location = /usr/local/bin/ansible python version = 3.8.1 (default, Dec 27 2019, 18:06:00) [Clang 11.0.0 (clang-1100.0.33.16)] --- $ python3 --version Python 3.8.1 --- $ pip3 show pyvmomi Name: pyvmomi Version: 6.7.3 Summary: VMware vSphere Python SDK Home-page: https://github.com/vmware/pyvmomi Author: VMware, Inc. Author-email: jhu@vmware.com License: License :: OSI Approved :: Apache Software License Location: /usr/local/lib/python3.8/site-packages проблема в том что когда запускаешь ансибл, он не находит пакет pyvmomi. Если делать импорт вручную того что делает ансибл в библиотеке - все работает. Подозреваю что проблема в линковке, но не могу понять где он ищет и не находит. Спасибо за советы!
У тебя ансибл установлен, судя по путям, в virtualenv/его маковскй аналог, а модуль нужный ты установил не в этот же virtualenv, а в системный питон.
Sergey
Оно так не работает.
Sergey
Вот смотри сам: ansible python module location = /usr/local/Cellar/ansible/2.9.2_1/libexec/lib/python3.8/site-packages/ansible
Sergey
это пользовательский каталог, соответственно, искать будет где-то в /usr/local/Cellar/ansible/2.9.2_1/libexec/lib/python3.8/site-packages
Sergey
но никак не в системном /usr/local/lib/python3.8/site-packages
Aleksandr
но ведь раньше как-то работало =)
Aleksandr
и также ставил и питон и ансибл из brew
Aleksandr
можно из ансиблового модуля вывести пути по которым он будет искать модули?
Aleksandr
try: from pyVim import connect from pyVmomi import vim, vmodl HAS_PYVMOMI = True except ImportError: HAS_PYVMOMI = False вот тут он делает проверку на наличие модулей
Sergey
но ведь раньше как-то работало =)
Ну если раньше работало- то повтори то, как было раньше =)
Sergey
А вообще я тебе уже сказал, в чём проблема. Ставь всё единообразно, и будет тебе счастье. Либо всё локально, в venv, либо всё системно.
Aleksandr
А вообще я тебе уже сказал, в чём проблема. Ставь всё единообразно, и будет тебе счастье. Либо всё локально, в venv, либо всё системно.
в общем да, спасибо. решил не выебываться, снес питон и ансибл homebrew и поставил все pip'ом, так заработало.
Антон
коллеги, автоматизирую работу с vmware через ansible и столкнулся с проблемой что при разворачивании машины из образа у нее не подключается сетевуха. При этом я выставил значения connected: True start_connected: True - не помогает. Может кто знает как с этим бороться?
Aleksandr
там видимо проблема в том как сеть настраивается внутри виртуалки. У вас какая ОС?
Aleksandr
я просто мучался с дебианом и кастомизацией (т.е. как раз назначение ip на адреса)
Aleksandr
решил проблему установкой старой версии net-tools, потому что у vmware парсинг рассчитан на лохматую версию ifconfig, потому что у современной вывод другой. (ынтырпрайз, блин)
Aleksandr
если у вас нетплан, то поидее уже вопрос не должен стоять в этом
Aleksandr
ну и в шаблоне из которого виртуалка клонится нужно сразу все эти галочки проставить что подключено и подключать при старте
Антон
нет, там проблема в том, что не стоит галка подключать сетевой адаптер при старте
Aleksandr
у тебя в темплейте с которого ты клонируешь эта галка стоит?
Антон
так даже если нет - то у меня в плейбуке прописано как должно быть же
Антон
посмотрел кстати - в темплейте все верно выставлено
Igor
помогите пожалуйста, как правильно символик линку назначить права, вот такой таск почему линку ставить рута... - name: Create config directory file: path: "{{ config_dir }}" state: directory mode: 0755 owner: "{{ my_user }}" group: "{{ my_group }}" - name: Create symlink in install directory file: src: "{{ config_dir }}" dest: "{{ install_dir }}/config" state: link owner: "{{ my_user }}" group: "{{ my_group }}"
Igor
через шелл обычно это делается c флагом -R, а тут видимо делается обычный chown
Igor
не хочется в таск пихать шелл
Lamobot
через шелл обычно это делается c флагом -R, а тут видимо делается обычный chown
Это у какой команды создающей директорию есть ключ -R? Или у команды создающей линк - ln?
Igor
Это у какой команды создающей директорию есть ключ -R? Или у команды создающей линк - ln?
не, я про что чтобы символик линку назначить права это делается через chown -R user.group, обычный chown user.group не сработает
Lamobot
Обычно у линка права юзера его создавшего, а доступ проверяется уже правами на саму директорию, куда линк ведёт
Igor
ну тут больше вопрос почему ансибл игнорит state: link owner: "{{ my_user }}" group: "{{ my_group }}"
Igor
у меня линк создается почему то с правами рута, хоят в таске явно указываю конкретного юзера и группу
Lamobot
у меня линк создается почему то с правами рута, хоят в таске явно указываю конкретного юзера и группу
Я бы не заморачивался, так как права на директорию есть и они проверятся при доступе с линка
Igor
Я бы не заморачивался, так как права на директорию есть и они проверятся при доступе с линка
ого, не знал про это, думал что доступ на сам линк так же важен как и на все остальное
Lamobot
ого, не знал про это, думал что доступ на сам линк так же важен как и на все остальное
Это скорее нужно для доступа к самому симлинку, типа кто может его менять
DjinN
Никто не сталкивался с проблемой, хочу создать docker volume, но выдает, что нет docker-py, но если заново перезапускаю задачу то volume создается
DjinN
какое условие проверяется в исходниках?
В исходниках энсибла? Туда еще не лазил
Vladislav 👻
Очень сильно сомневаюсь, что вольюм создастся без либы
Vladislav 👻
Возможно у вас какая-то креативная последовательность
Aleksandr
В исходниках энсибла? Туда еще не лазил
ну когда ошибку выдает он же пишет в какой либе на какой строчке эксепшн. Зная условие которое выполняется через раз можно будет подумать что делать дальше