Я хотел бы выбрать конкретную переменную, основанную на пользовательском входе в загрузочную книгу Ansible. В частности, я хотел бы попросить ввести данные пользователя в месте расположения сервера, а затем выполнить определенное действие на основе ввода.Ansible - использование пользовательского ввода для выбора переменной
Это текущий анзибль сборник пьес:
- hosts: all
remote_user: root
gather_facts: True
vars:
loc1: "10.13.1.140"
loc2: "10.13.1.141"
loc3: "10.13.1.142"
vars_prompt:
- name: location
prompt: "Location of server? Input options: loc1/loc2/loc3"
private: no
tasks:
- name: Test connectivity to user selected location
wait_for: host={{ vars.location }} port=9999 delay=0 timeout=10 state=started
выход при выполнении пьес:
[[email protected] cfengine]# ansible-playbook testpoo.yaml -i /tmp/test
SSH password:
Location of server? Input options: loc1/loc2/loc3: loc2
PLAY ***************************************************************************
TASK [setup] *******************************************************************
ok: [hostname.domain.com]
TASK [Test connectivity to user selected location] *****************************
fatal: [hostname.domain.com]: FAILED! => {"changed": false, "elapsed": 10, "failed": true, "msg": "Timeout when waiting for loc2:9999"}
PLAY RECAP *********************************************************************
hostname.domain.com : ok=1 changed=0 unreachable=0 failed=1
Я хотел бы знать, как и лучший способ связать для чтения в пользовательском вводе местоположение с фактическим значением (IP-адресом) местоположения, которое определено в верхней части раздела переменных. Возможно, что-нибудь или что-то еще?
Он работал как шарм. Спасибо за помощь!!! – nickyt4free