мастер playbook создает виртуальную машину перед загрузкой инвентаря для начальной загрузки - PullRequest
1 голос
/ 20 июня 2020

Возможно ли иметь один файл yaml для создания vms и bootstrap новых серверов?

У меня есть основная книга воспроизведения

---
# Master playbook for 
# - creating server
# - bootstrap server
#
- import_playbook: create_vm.yml
- import_playbook: bootsrap_vm.yml

import_playbook: create_vm.yml с использованием hosts: localhost

import_playbook: bootsrap_vm.yml с использованием hosts: all

Я использую динамический c инвентарь. Но bootstrap_vm.yaml не знает о вновь созданных серверах. Можно ли как-то обновить инвентарь после создания vms и до начала начальной загрузки?

1 Ответ

2 голосов
/ 20 июня 2020

meta: refresh_inventory было добавлено в ansible 2.0 специально для этого типа требований.

(meta: )refresh_inventory (добавлено в Ansible 2.0) вызывает перезагрузку инвентаря, что в случай скриптов инвентаризации Dynami c означает, что они будут повторно выполнены. Если динамический c скрипт инвентаризации использует кеш, Ansible не может знать об этом и не имеет возможности его обновить (вы можете отключить кеш или, если это доступно для вашего c источника данных инвентаризации (например, aws) , вы можете использовать плагин инвентаризации вместо скрипта инвентаризации). Это в основном полезно, когда создаются дополнительные хосты и пользователи wi sh используют их вместо модуля add_host.

Добавьте это как задачу в конце или в свою create_vm.yml playbook, или в конкретном c воспроизведении между двумя игровыми книгами.

Ссылка: https://docs.ansible.com/ansible/latest/modules/meta_module.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...