- Попробуйте запустить playbook на окружении из
test.yml, зафиксируйте какое значение имеет фактsome_factдля указанного хоста при выполнении playbook'a.
Ответ: Готово, демонстрация на скриншоте ниже.

- Найдите файл с переменными (group_vars) в котором задаётся найденное в первом пункте значение и поменяйте его на 'all default fact'.
Ответ: Готово, демонстрация на скриншоте ниже.

- Воспользуйтесь подготовленным (используется
docker) или создайте собственное окружение для проведения дальнейших испытаний. - Проведите запуск playbook на окружении из
prod.yml. Зафиксируйте полученные значенияsome_factдля каждого изmanaged host.
Ответ: Готово, демонстрация на скриншоте ниже.
- Добавьте факты в
group_varsкаждой из групп хостов так, чтобы дляsome_factполучились следующие значения: дляdeb- 'deb default fact', дляel- 'el default fact'. - Повторите запуск playbook на окружении
prod.yml. Убедитесь, что выдаются корректные значения для всех хостов. Ответ: Готово, демонстрация на скриншоте ниже.

- При помощи
ansible-vaultзашифруйте факты вgroup_vars/debиgroup_vars/elс паролемnetology. - Запустите playbook на окружении
prod.yml. При запускеansibleдолжен запросить у вас пароль. Убедитесь в работоспособности.
Ответ: Готово, демонстрация на скриншоте ниже.
- Посмотрите при помощи
ansible-docсписок плагинов для подключения. Выберите подходящий для работы наcontrol node. Ниже представлены команды с помощью которых можно получить ответ.
ansible-doc -t connection -l
ansible-doc -t connection local
- В
prod.ymlдобавьте новую группу хостов с именемlocal, в ней разместите localhost с необходимым типом подключения. - Запустите playbook на окружении
prod.yml. При запускеansibleдолжен запросить у вас пароль. Убедитесь что фактыsome_factдля каждого из хостов определены из верныхgroup_vars.
Ответ: Готово, демонстрация на скриншоте ниже.
- При помощи
ansible-vaultрасшифруйте все зашифрованные файлы с переменными. - Зашифруйте отдельное значение
PaSSw0rdдля переменнойsome_factпаролемnetology. Добавьте полученное значение вgroup_vars/all/exmp.yml. - Запустите
playbook, убедитесь, что для нужных хостов применился новыйfact.
Ответ: Готово, демонстрация на скриншоте ниже.
- Добавьте новую группу хостов
fedora, самостоятельно придумайте для неё переменную. В качестве образа можно использовать этот.
Ответ: Готово, демонстрация на скриншоте ниже.
- Напишите скрипт на bash: автоматизируйте поднятие необходимых контейнеров, запуск ansible-playbook и остановку контейнеров.
Ответ: Готово, демонстрация на скриншотах ниже и файл автоматизации во вложении. В файле предусмотрено 2 варианта запуска ансибла. Через запрос пароля и через файл с паролем. СКРИПТ
Ситуация когда нет всех необходимых образов и надо скачать.

