Подключение файла переменных и знакомство с pre_tasks и handlers

Чтобы сделать наш playbook более эффективным и удобочитаемым, давайте создадим файл с именем playbook.yml, и скажем Ansible загружать переменные из отдельного файла - vars.yml.

---
- hosts: all

  vars_files:
    - vars.yml

Использование одного или нескольких подключаемых файлов переменных очищает основной playbook и позволяет упорядочить все настраиваемые переменные в одном месте. В данный момент у нас нет переменных, которые нужно добавить; Мы определим содержимое vars.yml позже.

Добавьте в playbook.yml, pre_tasks:

pre_tasks:
  - name: Update apt cache if needed.
    apt: update_cache=yes cache_valid_time=3600

Ansible позволяет запускать задачи до или после основного набора задач с помощью pre_tasks и post_tasks. В этом случае мы должны убедиться, что наш apt cache обновится до того, как мы пройдем оставшуюся часть playbook. Мы используем модуль apt и сообщаем, что нужно обновить кэш, если с момента последнего обновления прошло 3600сек. (1 час).

Мы добавим еще один новый раздел к нашму playbook - handlers:

handlers:
  - name: restart apache
    service: name=apache2 state=restarted

handlers — базовая система событий, которая может использоваться для реагирования на изменения. Эти действия - notify запускаются в конце каждого блока задач в инструкции и будут запущены только один раз, даже если к ним обратятся несколько разных задач. Например, несколько ресурсов могут указывать на необходимость перезапуска Apache, поскольку они изменили файл конфигурации, но Apache будет перезапущен только один раз, чтобы избежать ненужного перезапуска.

results matching ""

    No results matching ""