
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

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.

Victor
24.10.2018
09:41:30
Но это сам модуль так умеет
Но2 так умеют много модулей.

Anton
24.10.2018
09:48:10

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.

Victor
24.10.2018
09:52:27

Anton
24.10.2018
09:56:55

Google

Anton
24.10.2018
09:57:58

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:20:57

Victor
24.10.2018
10:21:02

Алексей
24.10.2018
10:21:28

bebebe
24.10.2018
10:21:33

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

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

bebebe
24.10.2018
10:24:18

Victor
24.10.2018
10:25:53

bebebe
24.10.2018
10:26:37

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

?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

Wom
24.10.2018
12:24:38

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

Alex
24.10.2018
12:25:38

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
я задал не те вопросы
у меня аналогичная структура работает. проверяйте по цепочке все вызовы.