2016-06-21 46 views
0

目前試圖在Centos7上的Ansible安裝上運行一個簡單的操作手冊,所有內容都是最新的。我可以運行一個簡單的原始模塊和指定主機,但是當我運行的劇本我都得到一個「無法解析主機名」Ansible無法解析主機名稱錯誤

這裏是日誌

[[email protected] playbooks]# ansible-playbook -vvvvvv -u user.user -k version_playbook.yaml 
Using /etc/ansible/ansible.cfg as config file 
SSH password: 
Loaded callback default of type stdout, v2.0 
PLAYBOOK: version_playbook.yaml ************************************************ 
1 plays in version_playbook.yaml 
PLAY [Get version] ************************************************************* 
TASK [setup] ******************************************************************* 
<192.168.1.34> ESTABLISH LOCAL CONNECTION FOR USER: root 
<192.168.1.34> EXEC /bin/sh -c '(umask 77 && mkdir -p "` echo /tmp/ansible/ansible-tmp-1466529280.8-264756931089857 `" && echo ansible-tmp-1466529280.8-264756931089857="` echo /tmp/ansible/ansible-tmp-1466529280.8-264756931089857 `") && sleep 0' 
<192.168.1.33> ESTABLISH LOCAL CONNECTION FOR USER: root 
<192.168.1.33> EXEC /bin/sh -c '(umask 77 && mkdir -p "` echo /tmp/ansible/ansible-tmp-1466529280.8-152708795243660 `" && echo ansible-tmp-1466529280.8-152708795243660="` echo /tmp/ansible/ansible-tmp-1466529280.8-152708795243660 `") && sleep 0' 
<192.168.1.34> PUT /tmp/tmpymgKXv TO /tmp/ansible/ansible-tmp-1466529280.8-264756931089857/setup 
<192.168.1.34> EXEC /bin/sh -c 'LANG=en_US.UTF-8 LC_ALL=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8 /usr/bin/python /tmp/ansible/ansible-tmp-1466529280.8-264756931089857/setup; rm -rf "/tmp/ansible/ansible-tmp-1466529280.8-264756931089857/" > /dev/null 2>&1 && sleep 0' 
<192.168.1.33> PUT /tmp/tmpW5FEgv TO /tmp/ansible/ansible-tmp-1466529280.8-152708795243660/setup 
<192.168.1.33> EXEC /bin/sh -c 'LANG=en_US.UTF-8 LC_ALL=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8 /usr/bin/python /tmp/ansible/ansible-tmp-1466529280.8-152708795243660/setup; rm -rf "/tmp/ansible/ansible-tmp-1466529280.8-152708795243660/" > /dev/null 2>&1 && sleep 0' 
ok: [P-9396PXb.domain.local] 
ok: [P-9396PXa.domain.local] 
TASK [nxos_facts] ************************************************************** 
task path: /home/user/playbooks/version_playbook.yaml:8 
<192.168.1.33> ESTABLISH LOCAL CONNECTION FOR USER: root 
<192.168.1.33> EXEC /bin/sh -c '(umask 77 && mkdir -p "` echo /tmp/ansible/ansible-tmp-1466529281.26-258697976681834 `" && echo ansible-tmp-1466529281.26-258697976681834="` echo /tmp/ansible/ansible-tmp-1466529281.26-258697976681834 `") && sleep 0' 
<192.168.1.34> ESTABLISH LOCAL CONNECTION FOR USER: root 
<192.168.1.34> EXEC /bin/sh -c '(umask 77 && mkdir -p "` echo /tmp/ansible/ansible-tmp-1466529281.26-135897636845763 `" && echo ansible-tmp-1466529281.26-135897636845763="` echo /tmp/ansible/ansible-tmp-1466529281.26-135897636845763 `") && sleep 0' 
<192.168.1.33> PUT /tmp/tmpvaaDMQ TO /tmp/ansible/ansible-tmp-1466529281.26-258697976681834/nxos_facts 
<192.168.1.33> EXEC /bin/sh -c 'LANG=en_US.UTF-8 LC_ALL=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8 /usr/bin/python /tmp/ansible/ansible-tmp-1466529281.26-258697976681834/nxos_facts; rm -rf "/tmp/ansible/ansible-tmp-1466529281.26-258697976681834/" > /dev/null 2>&1 && sleep 0' 
<192.168.1.34> PUT /tmp/tmpK7TYAS TO /tmp/ansible/ansible-tmp-1466529281.26-135897636845763/nxos_facts 
<192.168.1.34> EXEC /bin/sh -c 'LANG=en_US.UTF-8 LC_ALL=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8 /usr/bin/python /tmp/ansible/ansible-tmp-1466529281.26-135897636845763/nxos_facts; rm -rf "/tmp/ansible/ansible-tmp-1466529281.26-135897636845763/" > /dev/null 2>&1 && sleep 0' 
fatal: [P-9396PXa.domain.local]: FAILED! => {"changed": false, "failed": true, "invocation": {"module_args": {"host": "", "password": null, "port": null, "provider": null, "ssh_keyfile": null, "transport": "cli", "use_ssl": false, "username": null, "validate_certs": true}, "module_name": "nxos_facts"}, "msg": "failed to connect to :22 - unable to resolve host name"} 
fatal: [P-9396PXb.domain.local]: FAILED! => {"changed": false, "failed": true, "invocation": {"module_args": {"host": "", "password": null, "port": null, "provider": null, "ssh_keyfile": null, "transport": "cli", "use_ssl": false, "username": null, "validate_certs": true}, "module_name": "nxos_facts"}, "msg": "failed to connect to :22 - unable to resolve host name"} 
NO MORE HOSTS LEFT ************************************************************* 
     to retry, use: --limit @version_playbook.retry 
PLAY RECAP ********************************************************************* 
P-9396PXa.domain.local : ok=1 changed=0 unreachable=0 failed=1 
P-9396PXb.domain.local : ok=1 changed=0 unreachable=0 failed=1 

和這裏的主機文件和劇本我使用,非常簡單,因爲我只是試圖測試

#### Host entry #### 
[ProdCoreSwitches] 
P-9396PXa.domain.local ansible_host=192.168.1.33 
P-9396PXb.domain.local ansible_host=192.168.1.34 
#### Playbook #### 
--- 
- name: Get version 
    connection: local 
    hosts: ProdCoreSwitches 
    tasks: 
    - nxos_facts: 
     host= "{{ inventory_hostname }}" 

任何我應該改變?

編輯:改變從本地連接後,我得到如下:

fatal: [P-9396PXa.domain.local]: UNREACHABLE! => {"changed": false, "msg": "Authentication or permission failure. In some cases, you may have been able to authenticate and did not have permissions on the remote directory. Consider changing the remote temp path in ansible.cfg to a path rooted in \"/tmp\". Failed command was: (umask 77 && mkdir -p \"` echo /tmp/ansible/ansible-tmp-1466538148.97-100745005340782 `\" && echo ansible-tmp-1466538148.97-100745005340782=\"` echo /tmp/ansible/ansible-tmp-1466538148.97-100745005340782 `\"), exited with result 16: Syntax error while parsing '/bin/sh -c '(umask 77 && mkdir -p \"` echo /tmp/ansible/ansible-tmp-1466538148.97-100745005340782 `\" && echo ansible-tmp-1466538148.97-100745005340782=\"` echo /tmp/ansible/ansible-tmp-1466538148.97-100745005340782 `\") && sleep 0''\n\n\nCmd exec error.\n", "unreachable": true} 
+0

儘管顯然嘗試了遠程連接,但你有'connection:local'。那首先跳到我身上。 –

+0

我會改回它,這是最初的故障排除,並讓你kn – Fallacy11

+0

這是部分的問題,它似乎試圖讓遠程目錄這些網絡設備,我不認爲這是可能的...對不起,我很抱歉新的這一點,並一直在掙扎。 – Fallacy11

回答

0

你能告訴的任務「nxos_facts」的內容?您還在哪裏定義了「{{inventory_hostname}}」以及該值是多少?