Import_playbook с файлом переменных

Я работаю над оболочкой playbook для другого playbook, поэтому мне кажется, что мне нужно использовать директиву import_playbook. Проблема в том, что у меня есть список переменных, которые нужно добавить туда, а import_playbook, похоже, НЕ принимает директиву vars_files. ТАК Я попробовал include. Посмотри:

---
- name: Prepare AWX installation on localhost
  hosts: localhost
  become: true
  connection: local
  tasks:
  ...
  - name: Install docker-compose
    pip:
      name: docker-compose

  - name: Load AWX variables
    include_vars: config_vars.yml

  - name: launch TOWER installation
    include: /awx-repo/installer/install.yml

Но заканчивается ошибкой: ERROR! conflicting action statements: hosts, roles


person Tomasz Szandala    schedule 22.06.2020    source источник
comment
Отвечает ли это на ваш вопрос? Включить переменные из файла для нескольких import_playbooks   -  person Moon    schedule 22.06.2020


Ответы (1)


Невозможно включите учебник среди задач. Цитата:

Файлы со списком воспроизведений могут быть включены только на верхнем уровне.

Исправьте отступ. Например

---
- name: Prepare AWX installation on localhost
  hosts: localhost
  become: true
  connection: local
  tasks:
  ...
  - name: Install docker-compose
    pip:
      name: docker-compose

  - name: Load AWX variables
    include_vars: config_vars.yml

- name: launch TOWER installation
  include: /awx-repo/installer/install.yml

Будет это предупреждение

[ПРЕДУПРЕЖДЕНИЕ ОБ УСТАРЕНИИ]: 'include' для playbook включает. Вместо этого вы должны использовать import_playbook. Эта функция будет удалена в версии 2.12. Предупреждения об устаревании можно отключить, установив deprecation_warnings = False в ansible.cfg.

Используйте import_playbook. Например

---
- name: Prepare AWX installation on localhost
  hosts: localhost
  become: true
  connection: local
  tasks:
  ...
  - name: Install docker-compose
    pip:
      name: docker-compose

  - name: Load AWX variables
    include_vars: config_vars.yml

- name: launch TOWER installation
  import_playbook: /awx-repo/installer/install.yml
person Vladimir Botka    schedule 22.06.2020
comment
В основном это работает, но для работы на локальном хосте мне нужно указать переменную ansible_connection в import_playbook, иначе, несмотря на то, что она находится в config_vars.yml, это не сработает. Не знаю почему ... - person Tomasz Szandala; 23.06.2020