Рейтинг:0

Перебрать переменные var_files в недоступном

флаг us

У меня есть playbook, который вызывает роль и должен импортировать apache vars для веб-сайтов. Проблема в том, что когда я смотрю в ports.conf, я вижу только строку для веб-сайта1. Website2 никогда не вызывается. Любая помощь будет принята с благодарностью.

---
- хозяева: все
  vars_files:
   - [ "./roles/apache-vhost/vars/website1.yml", "./roles/apache-vhost/vars/website12.yml"]
  роли:
   - апач-вхост

/роли/apache-vhost/vars/website1.yml

сайт:
  - домен: сайт1
    http_порт: 5000
    https_порт: 6000

./роли/apache-vhost/vars/website2.yml

сайт:
  - домен: сайт2
    http_порт: 5001
    https_порт: 6001

задача в playbook

- имя: добавить http Listeners в ports.conf
  линейный файл:
    путь: /etc/httpd/conf.d/ports.conf
    строка: 'Слушайте {{item.http_port}} #{{ item.domain}}'
  цикл: "{{ сайт }}"

- имя: добавить слушателей https в ports.conf
  линейный файл:
    путь: /etc/httpd/conf.d/ports.conf
    строка: 'Слушайте {{item.https_port}} #{{ item.domain}}'
  цикл: "{{ сайт }}"

Спасибо.

Рейтинг:2
флаг br

Переменная сайт из 2-го файла Website2.yml переопределяет значение из 1-го файла Website1.yml, например.

- хосты: локальный
  vars_files:
    - сайт1.yml
    - сайт2.yml
  задачи:
    - отладка:
        переменная: сайт

дает

  сайт:
  - домен: сайт2
    http_порт: 5001
    https_порт: 6001

Вам нужно будет объединить (объединить) списки в цикле, например.

- хосты: локальный
  задачи:
    - set_fact:
        сайт: "{{ сайт|по умолчанию([]) + x.сайт }}"
      петля:
        - сайт1.yml
        - сайт2.yml
      вары:
        x: "{{ lookup('file', item)|from_yaml }}"
    - отладка:
        переменная: сайт

дает

  сайт:
  - домен: сайт1
    http_порт: 5000
    https_порт: 6000
  - домен: сайт2
    http_порт: 5001
    https_порт: 6001

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.