我是新角色,這是我正在做的事情。當將參數傳遞給Ansible角色時,變量是未定義的錯誤
更site.yml
---
- hosts: user1_checkserverlist
user: user1
roles:
- { role: speed_manager, DNAME: "/u" }
- hosts: oracle_checkserverlist
user: oracle
roles:
- { role: speed_manager, DNAME: "/tmp" }
更speed_manager /默認/ main.yml
DNAME: ""
更speed_manager /任務/ main.yml
---
- include: check.yml diskname={{DNAME}}
更speed_manager /任務/ check.yml
---
- name: ==== Reading Variable ====
ping:
vars:
dn: "{{ diskname }}"
- name: ====Sync to remote hosts ====
synchronize: src="/web/roles/speed_manager/files/" dest="/tmp/mohtt/"
- name: ====Execute shell=============
shell: /tmp/mohtt/fixwebserver.sh {{ dn }} chdir=/tmp/mohtt
這是
ansible-playbook -vvv site.yml -i /web/hostfiles/myhost.txt
錯誤我是如何執行的角色:
TASK [check_bk_speed_manager : ====Execute shell=============] ***************** task path: /web/roles/speed_manager/tasks/check.yml:25 fatal: [myserver.com]: FAILED! => {"failed": true, "msg": "'dn' is undefined"} fatal: [myserver.com]: FAILED! => {"failed": true, "msg": "'dn' is undefined"} to retry, use: --limit @check_bk_speed.retry
我期待DN是價值 「/ U」
你能指出我在哪裏我錯了,如果這是一個錯誤?