【发布时间】:2019-04-12 02:20:55
【问题描述】:
这是我的一些基本测试手册
---
- name: get username and password
import_playbook: credentials.yaml
- name: Run some commands
hosts:
- qfx5100-48s
roles:
- Juniper.junos
vars:
ansible_python_interpreter: "/opt/ansible/ansible-venv/bin/python"
connection: local
gather_facts: no
tasks:
- name: get uptime
juniper_junos_command:
commands:
- show system uptime
provider:
host: "{{ ansible_host }}"
port: 22
user: "{{ username }}"
passwd: "{{ password }}"
register: uptime
- name: Run some other commands
hosts:
- ex3300-48t
roles:
- Juniper.junos
vars:
ansible_python_interpreter: "/opt/ansible/ansible-venv/bin/python"
connection: local
gather_facts: no
tasks:
- name: get uptime
juniper_junos_command:
commands:
- show system alarms
provider:
host: "{{ ansible_host }}"
port: 22
user: "{{ username }}"
passwd: "{{ password }}"
register: alarms
- name: display uptime
debug:
var: uptime.stdout_lines
- name: display alarms
debug:
var: alarms.stdout_lines
当我运行这个时,我得到这个错误:
""任务包含一个带有未定义变量的选项。错误是:“密码”未定义\n\n错误似乎出现在“/opt/ansible/commands2.yaml”中:第 15 行第 7 列,但可能\n在文件中的其他位置,具体取决于确切的语法问题.\n\n违规行似乎是:\n\n tasks:\n - name: get uptime\n ^ here\n"}"
credentials.yaml 文件是:
- name: Get username and password
hosts: localhost
vars:
ansible_python_interpreter: "/opt/ansible/ansible-venv/bin/python"
connection: local
gather_facts: no
vars_prompt:
- name: username
prompt: Junos Username
private: no
- name: password
prompt: Junos Password
private: yes
由于有两个播放,我试图避免在每个播放运行时让用户两次提示他们的用户名和密码...
我是 ansible 的新手,很有可能我正在接近这个错误,但希望在这里得到一些指导。
谢谢!
【问题讨论】:
标签: ansible