@pro_ansible

Страница 621 из 625
Alex
23.10.2018
20:36:08
Я всё думаю как бы асинхронности понавтыкать для ускорения. Вместо 30 секунд на роль запускать плейбуки пачками асинхронно и таски в ролях асинхронные

И тогда вместо 10-15 минут на стенд, будет уходить 1-2 и то только из-за того что скачивать надо с кешера

Terminator
23.10.2018
21:44:34
@GrygoriiTriangu будет жить. Поприветствуем!

Юра
24.10.2018
04:06:05
Зачем проверка наличия /etc/sudoers ?
Хрен его знает... Помню, что когда писал, этому точно было какое-то объяснение.

Google
Юра
24.10.2018
04:06:49
Кусок легаси видимо)

Terminator
24.10.2018
06:37:33
@chipsetov будет жить. Поприветствуем!

Anton
24.10.2018
09:38:29
Пытаюсь понять как работают условия, помощь приветствуется) Есть элементарный таск: - name: Installing conan win_command: pip install conan Мне нужно чтобы каждый хост для себя запомнил что таск был на нём выполнен и не выполнял его снова, как это сделать?

Сразу скажу, что на винде нет модуля pip.

Sergey
24.10.2018
09:39:30
а что он устанавливает установленный?

Anton
24.10.2018
09:40:32
Обновляет. Ну и вообще вопрос более абстрактный, без привязки к pip.

Anton
24.10.2018
09:48:10
Но это сам модуль так умеет Но2 так умеют много модулей.
Спасибо, отличное решение, так и сделал?

Victor
24.10.2018
09:51:11
Ну такое, обычно это имеет смысл когда, например, разархивируешь что-нибудь куда-нибудь. В случае с пипом я бы лучше до этого выводил бы список установленных пакетов и скипал если он там есть. Или посмотрел бы на аргументы чтобы оно не обновляло если стоит.

Anton
24.10.2018
09:51:59
Теперь всё-таки с условиями хочется разобраться) Вот есть у меня в плейбуке набор тасков. После выполнения некоторых из них (если они вызвали changed) я хочу в конце плейбука вызывать перезагрузку. А если они все зелёные (ok) - не нужно перезагружаться. --- - hosts: windows tasks: - name: Installing Microsoft Visual Stuio 2013 win_chocolatey: name: visualstudio2013ultimate state: present - name: Installing Qt 5.5.1 msvc2013 win_package: path: http://download.qt.io/archive/qt/5.5/5.5.1/qt-opensource-windows-x86-msvc2013-5.5.1.exe arguments: --script C:\qt-installer.qs creates_path: C:\Qt - name: Installing conan win_command: pip install conan args: creates: C:\Python37\Scripts\conan.exe - name: Final reboot win_reboot: Вот если 1 или 2 таск changed - нужен reboot.

Google
Anton
24.10.2018
09:57:58
notify + handler
Спасибо!)

Victor
24.10.2018
09:57:59
Это потому что выполняешь команду

Anton
24.10.2018
09:58:19
Что шелл?)

Victor
24.10.2018
09:58:39
ну как ты определишь выполнив команду изменила она что или нет?

поэтому считается что она что-то меняет, по умолчанию

можешь в таск дописать changed_when

Anton
24.10.2018
10:17:30
Спасибо, всё понял))

Алексей
24.10.2018
10:17:30
Приветствую. Подскажите как правильно в инвентаре в формате YAML children группы делать. Я из офф документации нифига не понял там слишком всё упрощено как-то. Может есть какой то нормальный рабочий пример?

bebebe
24.10.2018
10:21:33
Приветствую. Подскажите как правильно в инвентаре в формате YAML children группы делать. Я из офф документации нифига не понял там слишком всё упрощено как-то. Может есть какой то нормальный рабочий пример?
только проверьте, какой версии у вас ansible, я ловил неприятные баги с inventory в формате yaml примерно до версии 2.4.XX (не помню что), лучше если что взять 2.6

Алексей
24.10.2018
10:21:40
у меня 2,7 сейчас

Victor
24.10.2018
10:23:11
боль была когда они завезли поддержку ямл в инвентори, пришлось переезжать с внешнего скрипта инвентори на родной

bebebe
24.10.2018
10:24:18
боль была когда они завезли поддержку ямл в инвентори, пришлось переезжать с внешнего скрипта инвентори на родной
штоууу? не очень понимаю зависимость от того в каком формате лежит inventory (ini или yaml) и dynamic inventory...

Victor
24.10.2018
10:25:53
штоууу? не очень понимаю зависимость от того в каком формате лежит inventory (ini или yaml) и dynamic inventory...
В анзибле не всегда была поддержка Yaml в инвентори (или я неосилил чтото). Запилил скрипт который с ямла делает динамик инвентори. Формат само собой немного различался.

Victor
24.10.2018
10:34:08
Чет по чейнжлогам найти не могу, в 2.4 написано что завезли инвентори плагин yaml Возможно была моя личная развлекуха.

bebebe
24.10.2018
10:37:06
да, но завезли с багами и в 2.4.xx починили

Google
Victor
24.10.2018
10:37:56
Ну по личным ощущением развлекуха была в районе 2.0-2.1 или апдейте от туда на 2.5. Пруфов не будет

Кто знает, как выпилить флаг -n для sudo когда ansible эскалирует привилегии до рута?

Сам спросил, сам отвечу, become_flags: -H -S

Terminator
24.10.2018
11:33:31
Alex Karabutin будет жить. Поприветствуем!

@WarraxUA будет жить. Поприветствуем!

@KeyJoo будет жить. Поприветствуем!

@androsov_sv будет жить. Поприветствуем!

@n6152413 будет жить. Поприветствуем!

?simplemice
24.10.2018
11:48:52
надо выключать свет

девопсы на свет бегут

bebebe
24.10.2018
11:49:14
надо выключать свет
не надо, это релевантные работяги из @devops_ru

?simplemice
24.10.2018
11:49:25
я вкурсе )

Alex
24.10.2018
12:20:40
Вопрос по ansible.cfg и запуску ansible-playbook. Можно ли указать путь к ansible.cfg прямо в плейбуке? Если да, то как? Если нет, то как можно это сделать через параметры запуска утилиты ansible-playbook?

Wom
24.10.2018
12:22:26
чем неудобно в текущей дире держать?

Alex
24.10.2018
12:23:08
Потому, что текущий дир .git/hooks, а он по умолчанию скрыт(недоступен)

Нужно держать в корне проекта или в каталоге deploy

Victor
24.10.2018
12:25:31
я пока не использую файл конфига - нужные изменения держу в env

Alex
24.10.2018
12:25:38
* ANSIBLE_CONFIG (an environment variable) * ansible.cfg (in the current directory) * .ansible.cfg (in the home directory) * /etc/ansible/ansible.cfg
Это я видел. У ранних версий была возможность указать путь в опциях при запуске

Terminator
24.10.2018
12:41:00
@Ferickon будет жить. Поприветствуем!

Google
Alexander
24.10.2018
12:46:13
Если у меня в defaults/main.yml в роли var1: 1, а в playbook'е var1: 2 - у меня var1 == 2 ?

Timur
24.10.2018
12:48:06
Да

Дефолтные значения роли переписываются плейбучными

Alexander
24.10.2018
12:49:30
Спс

Victor
24.10.2018
12:50:32
https://docs.ansible.com/ansible/2.7/user_guide/playbooks_variables.html#variable-precedence-where-should-i-put-a-variable

Alexander
24.10.2018
12:58:52
Victor
24.10.2018
13:00:33
Ну так-то обычно пользуешься не всем и тем более не сразу, так что он в целом соркращается до дефолты роли, инвентори, плейбук, роль, екстра варс

Alex
24.10.2018
13:02:16
cli - defaults - inventory - play - role - extra Этого достаточно, остальное интуитивно. Хотя я всегда думал что роли раньше плей загружает переменные.

Damir
24.10.2018
13:51:55
Парни, вопрос. В чем ошибка в структуре директорий. При выполнении backup.yml, таски которые прописаны в ролях не отрабатывают.

tree -I * backup.yml playbooks └── test_backup.yml roles ├── test-database │ └── task │ └── main.yml └── test-settings └── task └── main.yml 4 directories, 3 files [root@server-1 backup]# cat backup.yml --- - include: "playbooks/test_backup.yml" [root@server-1 backup]# cat playbooks/test_backup.yml --- - hosts: tests_dc1 become: yes gather_facts: yes roles: - test-settings - test-database [root@server-1 backup]#

По аутпуту видно, что ансибл даже не пытается их запустить.

mertv0e
24.10.2018
13:53:56
А содержимое backup.yml

Damir
24.10.2018
13:54:38
--- - include: "playbooks/test_backup.yml"

Аутпут:

ansible-playbook backup.yml -i hosts [DEPRECATION WARNING]: DEFAULT_TASK_INCLUDES_STATIC option, include itself is deprecated and this setting will not matter in the future . This feature will be removed in version 2.8. Deprecation warnings can be disabled by setting deprecation_warnings=False in ansible.cfg. [DEPRECATION WARNING]: 'include' for playbook includes. You should use 'import_playbook' instead. This feature will be removed in version 2.8. Deprecation warnings can be disabled by setting deprecation_warnings=False in ansible.cfg. PLAY [tests_dc1] ******************************************************************************************************************************************************************************************* TASK [Gathering Facts] ************************************************************************************************************************************************************************************ ok: [test2.example.com] ok: [test1.example.com] PLAY RECAP ************************************************************************************************************************************************************************************************ test1.example.com : ok=1 changed=0 unreachable=0 failed=0 test2.example.com : ok=1 changed=0 unreachable=0 failed=0

backup.yml

Который находится в корне

У меня структура следующая: backup.yml —> playbooks/test_backup.yml —> roles/test-settings

Теоретически должно так работать

Да ладно, зачем сообщения удалять (

Google
Div
24.10.2018
14:29:31
я задал не те вопросы

у меня аналогичная структура работает. проверяйте по цепочке все вызовы.

Страница 621 из 625