Я пытаюсь автоматизировать создание имени хоста для 10x машин, используя ансабельные роли.Что я хочу при выполнении playbook, так как это ожидание, введите имя пользователя вручную.
Я пытался с модулем vars_prompt для удовлетворения требований.Но здесь для одного файла * .yml я могу видеть ожидаемые результаты
Без роли - я вижу, что входные данные передаются в переменную host.но это работает нормально.
#host.yml .
---
- hosts: ubuntu
user: test
sudo: yes
vars_prompt:
- name: host
prompt: "Specify host name?"
private: no
tasks:
- debug:
msg: ' log as {{ host }}'
- name: Changing hostname
hostname:
name: '{{ host }}'
С ролью <это не работает> {vars_prompt не работает}
#role.yml
---
- hosts: ubuntu
user: test
sudo: yes
roles:
# - hostname
#hostname/tasks/main.yml
- name: testing prompt
vars_prompt:
- name: host
prompt: "Specify host name?"
- name: Ansible prompt example
debug:
msg: "{{ host }}"
#Changing hostname
- name: Changing hostname
hostname:
name: "{{ host }}"
Здесь я получаю сообщение об ошибке как
ERROR! no action detected in task. This often indicates a misspelled module name, or incorrect module path.
The error appears to have been in '/root/roles/hostname/tasks/main.yml': line 1, column 3, but may
be elsewhere in the file depending on the exact syntax problem.
The offending line appears to be:
- name: testing prompt
^ here
Я ожидаю, чтобы установить некоторые параметры, необходимо установить вручную в качестве входных данных при выполнении playbook.Нужно работать с этим модулем vars_prompt в роли.