Я пытаюсь зарегистрировать переменную в роли, а затем использовать ее в другой.
Вот разные файлы, которые я использую:
playbook.yml
---
- хосты: hostsgroup1
[...]
роли:
- роль1
- хосты: 127.0.0.1
подключение: местное
роли:
- роль2
роль1/задачи/main.yml
- имя: Пример 1
[...]
- имя: Пример 2
ракушка:
агент qm {{ VM_id }} network-get-interfaces |grep ip-адрес |grep '172.20' |grep -oE '((1?[0-9][0-9]?|2[0-4][ 0-9]|25[0-5])\.){3}(1?[0-9][0-9]?|2[0-4][0-9]|25[0-5 ])'
регистр: var_role1
роль2/задачи/main.yml
- название: Добавление сервера в бастион
доступный.встроенный.отладка:
сообщение: Тест {{var_role1.stdout}}
Для информации, команда агента qm дает мне IP-адрес, и я хочу использовать его во второй роли. Но, очевидно, на данный момент он отображает ошибку, когда я запускаю playbook:
фатальный: [127.0.0.1]: НЕУДАЧА! => {"msg": "Задача включает параметр с неопределенной переменной. Ошибка: \"hostvars['proxmoxhosts']\" is undefined\n\nПохоже, ошибка находится в '/root/ansible/roles /bastion_add/tasks/main.yml': строка 3, столбец 3, но может быть\nв другом месте файла в зависимости от конкретной проблемы с синтаксисом.\n\nСбойная строка выглядит так:\n\n# файл задач для bastion_add \n- имя: Добавление сервера в бастион\n ^ здесь\n"}
Подводя итог, я хочу использовать var_role1, зарегистрированную в роли1, в роли2.