Рейтинг:0

Ansible: связанная вторая книга воспроизведения не может запускать скрипт для переменных, переданных с нескольких хостов из первой книги воспроизведения.

флаг in

Я использую 2 связанных сборника игр, подробности указаны ниже.

playbook1: сбор необработанных данных с нескольких машин

- хосты: target_1
  сбор_фактов: ложь


  задачи:
   - имя: зарегистрировать новое значение
     оболочка: df -h|awk '{gsub("%","|");print $5 $6}'
     зарегистрироваться: PLAY1VAR

   - отладка: msg="{{PLAY1VAR.stdout}}"

   - имя: зарегистрировать новое значение
     оболочка: имя хоста
     зарегистрироваться: PLAY2VAR

   - отладка: msg="{{PLAY2VAR.stdout}}"

   - имя: Зарегистрировать фиктивный хост с переменной
     add_host:
       имя: "DUMMY_HOST"
       PLAY1VAR_NEW: " {{PLAY1VAR.stdout }}"

   - имя: Зарегистрировать фиктивный хост с переменной
     add_host:
       имя: "DUMMY_HOST_1"
       PLAY2VAR_NEW: " {{ PLAY2VAR.stdout }}"
- хосты: target_2
  сбор_фактов: ложь


  задачи:
   - имя: зарегистрировать новое значение

playbook2: анализировать данные с помощью скрипта Python

- хосты: локальный
  сбор_фактов: ложь

  задачи:
   - имя: эхо вывода - значение переменной PLAY1
     команда: python3 /opt/diskspace_watcher/watcher.py '{{hostvars['DUMMY_HOST']['PLAY1VAR_NEW']}}' '{{hostvars['DUMMY_HOST_1']['PLAY2VAR_NEW']}}'
     зарегистрироваться: PLAY2_RESULTS

   - отладка: msg="{{PLAY2_RESULTS.stdout}}"

Я передаю пару переменных из первого playbook в другой, когда я запускаю это только для одного хоста, он работает, как и ожидалось, но при попытке запуска для нескольких хостов он не может передать аргументы для всех хостов, упомянутых в инвентаре. файл и просто выбирает одну переменную для конкретного хоста.

Я ищу способ выполнить это. Любая помощь/идея приветствуется!!

флаг in
Пожалуйста, добавьте воспроизводимый пример.
U880D avatar
флаг ca
Можете ли вы добавить детали, которые вы упомянули, отредактировав свой вопрос?
Rishabh Shukla avatar
флаг in
@ U880D, я добавил конфигурацию playbooks
Rishabh Shukla avatar
флаг in
@GeraldSchneider, добавил
флаг in
Я не вижу ничего в первой пьесе, которая запускала бы вторую.
Rishabh Shukla avatar
флаг in
@GeraldSchneider Я запускаю оба через третью книгу, т.е. vi глобальный.yaml - import_playbook: playbook1.yaml - import_playbook: playbook2.yaml
Zeitounator avatar
флаг fr
Если я правильно понимаю, как вы пытаетесь использовать `dummy_host` для регистрации переменной между воспроизведениями, будут сохранены только последние зарегистрированные значения для последнего хоста в цикле хоста вашего первого воспроизведения. Вы должны отредактировать свой вопрос и дать более широкий обзор того, что именно вы пытаетесь решить здесь, потому что я почти уверен, что вы застряли в [проблеме x/y] (https://xyproblem.info).

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

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