Рейтинг:0

Проблема с циклом Ansible-playbook

флаг us

У меня есть playbook, который отлично работает, когда я ограничиваюсь одним хостом. ansible-playbook -k playbook.yml group1

Мне нужно иметь возможность запускать его на нескольких хостах одновременно. Синтаксис будет таким: ansible-playbook -k playbook.yml 'группа1 группа2'

группа 1 — это группа, в которой есть несколько серверов с разными установленными приложениями server1 (это прокси-сервер) сервер2 сервер3 сервер4

группа 2 — это группа, в которой есть несколько серверов с разными установленными приложениями server5 (это прокси-сервер) сервер6 сервер7 сервер8

proxy — это группа всех моих прокси-серверов сервер1 сервер5

Я опрашиваю каталог для получения списка файлов для распаковки и спрашиваю пользователя, для какого файла они хотят использовать. Задача возвращает это: ЗАДАНИЕ пауза:

Выберите НОМЕР файла для выбора:

1--------файлы/jtt_test/file1.tgz

2--------файлы/jtt_test/file2.gz

3--------файлы/jtt_test/file3.tgz

4--------файлы/jtt_test/file4.jar

5--------файлы/jtt_test/file5.jar

Пользователь выбирает номер, и это файл, который нужно разархивировать.

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

Плейбук такой:

-name: Обновить файлы пользовательского интерфейса

хосты: прокси

задачи:

- найти:
    путь: "файлы/{{ instance_dir }}"
  регистрация: результат
  делегат_к: локальный
- set_fact:
    my_files: "{{ result.files|карта(атрибут='путь')|список|сортировка }}"
- Пауза:
    подсказка: |
      Выберите НОМЕР файла для выбора:
      {% для файла в my_files %}
      {{ loop.index }}----------{{ файл }}
      {% конец для %}
  регистрация: результат

- отладка:
    msg: "выбранный файл: {{my_files[result.user_input|int - 1] }}"

фатальный: [proxy.local.test]: FAILED! => {"msg": "Задача включает опцию с неопределенной переменной. Ошибка: "объект dict" не имеет атрибута "user_input"\n\nОшибка, по-видимому, находится в "playbook.yml": строка 30, столбец 7, но может быть\nв другом месте файла в зависимости от конкретной проблемы с синтаксисом.\n\nОшибочная строка выглядит следующим образом:\n\n\n - debug:\n ^ здесь\n"}

Я не уверен, как решить эту проблему.

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

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