Oxyd76 / ansible_the_idempotent

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Воркшоп завершен

С окончательным вариантом сценария вы можете ознакомиться в ветке finished.

Ansible идемпотентный

Приветсвую!
Данный воркшоп познакомит вас с продвинутыми техниками написания сценариев Ansible. Вы попрактикуетесь в работе с отладочным выводом, разработке условной логики, а также создании сценариев, устойчивых к внешним факторам.
В процессе работы вам предстоит написать роль, настраивающую и запускающую тестовое приложение, описанное ниже.

Вам понадобится

  • Virtualbox (5.0 и выше)
  • Vagrant (2.0.1 и выше)
  • Ansible (2.4 и выше)
  • Git
  • текстовый редактор
  • доступ в интернет (только на этапе подготовки)

Подготовка

  1. Убедитесь, что все необходимые программы установлены.
  2. Загрузите Git-репозиторий.
    git clone https://github.com/zloyplohoy/ansible_the_idempotent.git
    
  3. Запустите в директории репозитория виртуальную машину Vagrant.
    vagrant up
    
  4. По результатам запуска должен успешно выполниться сценарий Ansible.
    ok: [default] => {
        "msg": "Тестовый стенд готов к воркшопу!"
    }
    
  5. Для экономии ресурсов вы можете остановить виртуальную машину, созданную Vagrant.
    vagrant halt
    
  6. При возникновении проблем используйте контакты, указанные ниже.

Тестовое приложение

  1. Приложение состоит из двух Python сценариев.
    Знание языка Python для работы не требуется.
    workshop.py
    workshop_.py
    
  2. Приложение работает с рядом файлов.
    /tmp/workshop.conf   -- конфигурация
    /tmp/workshop.sock   -- сокет
    
  3. Приложение принимает на вход одну из трех команд.
    run        -- запуск [по умолчанию]
    generate   -- генерация конфигурационного файла
    validate   -- проверка конфигурационного файла
    
  4. Приложение падает, если
    • запущено без конфигурации
    • генерация запускается при наличии конфигурации
    • проверка конфигурацонного файла не успешна

Об авторе

Алексей Соколов
Mail.Ru Group
Email: sokolovalekseyg(at)gmail.com
Telegram: sokolov_ag

About


Languages

Language:Python 100.0%