使用Ubuntu 16.04中的Ansible 2.0.0.2
在我的剧本中,我根据提示输入设置了以下环境变量:
---
- hosts: all
gather_facts: no
vars_prompt:
- name: "username"
prompt: "Specify user"
- name: "password"
prompt: "Specify password"
roles:
- { role: 'connection' }
environment:
OS_HOST: "https://os.host"
OS_USERNAME: "{{ username }}"
OS_PASSWORD: "{{ password }}"
在角色连接中,我尝试阅读并使用这些env变种:
- name: "connect"
shell: "client connect {{ lookup('env','OS_USERNAME') }} -p {{ lookup('env','OS_PASSWORD') }} {{ lookup('env','OS_HOST') }}"
但它给出了错误:
"Username: -p", "Password: Login failed (401 Unauthorized)"], "warnings": []}
所以似乎OS_USERNAME
和OS_PASSWORD
从未设置或未被查找读取(当我使用相同的信用卡手动登录时工作正常)。
所以不能使用提示来设置环境。 vars并从ansible读取它们?