# Module failure when using anisble to control cisco router

**URL:** <https://forum.ansible.com/t/module-failure-when-using-anisble-to-control-cisco-router/27344>\
**Category:** Ansible Project\
**Created:** [April 23, 2018, 3:25am UTC](https://forum.ansible.com/t/module-failure-when-using-anisble-to-control-cisco-router/27344 "2018-04-23T03:25:52Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![cral](https://avatars.discourse-cdn.com/v4/letter/c/d07c76/32.png) [@cral](https://forum.ansible.com/u/cral)\
**Post date:** [April 23, 2018, 3:25am UTC](https://forum.ansible.com/t/module-failure-when-using-anisble-to-control-cisco-router/27344/1 "2018-04-23T03:25:52Z")

</div>

Hi Ansible,  
I am a newbie on Ansible, Last week when I was trying to use Ansible to send command to my router Cisco 3725 in GNS3 from my miniPC (CentOS 7 64 bits, Ansible version 2.5). It keeps failing with the following issue. 192.168.1.10 (my miniPC) 192.168.1.9 (my router)

########run playbook

`

[root@EY ansible]# ansible-playbook router.yml -vvvvvvvvvvv  
ansible-playbook 2.5.0  
config file = /etc/ansible/ansible.cfg  
configured module search path = [u’/root/.ansible/plugins/modules’, u’/usr/share/ansible/plugins/modules’]  
ansible python module location = /usr/lib/python2.7/site-packages/ansible  
executable location = /usr/bin/ansible-playbook  
python version = 2.7.5 (default, Aug 4 2017, 00:39:18) [GCC 4.8.5 20150623 (Red Hat 4.8.5-16)]  
Using /etc/ansible/ansible.cfg as config file  
setting up inventory plugins  
Parsed /etc/ansible/hosts inventory source with ini plugin  
Loading callback plugin default of type stdout, v2.0 from /usr/lib/python2.7/site-packages/ansible/plugins/callback/default.pyc

PLAYBOOK: router.yml \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*  
1 plays in router.yml

PLAY [192.168.1.9] \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*  
META: ran handlers

TASK [run show version on remote devices] \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*  
task path: /etc/ansible/router.yml:7  
\<192.168.1.9\> attempting to start connection  
\<192.168.1.9\> using connection plugin network\_cli  
\<192.168.1.9\> local domain socket does not exist, starting it  
\<192.168.1.9\> control socket path is /root/.ansible/pc/84f038c732  
\<192.168.1.9\> \<192.168.1.9\> ESTABLISH CONNECTION FOR USER: root on PORT 22 TO 192.168.1.9  
\<192.168.1.9\> \<192.168.1.9\> ssh connection done, setting terminal  
\<192.168.1.9\> \<192.168.1.9\> loaded terminal plugin for network\_os ios  
\<192.168.1.9\> \<192.168.1.9\> loaded cliconf plugin for network\_os ios  
\<192.168.1.9\> \<192.168.1.9\> firing event: on\_open\_shell()  
\<192.168.1.9\> \<192.168.1.9\> firing event: on\_become  
\<192.168.1.9\> \<192.168.1.9\> ssh connection has completed successfully  
\<192.168.1.9\> connection to remote device started successfully  
\<192.168.1.9\> local domain socket listeners started successfully  
\<192.168.1.9\>  
\<192.168.1.9\> local domain socket path is /root/.ansible/pc/84f038c732  
Using module\_utils file /usr/lib/python2.7/site-packages/ansible/module\_utils/network/ **init**.py  
Using module\_utils file /usr/lib/python2.7/site-packages/ansible/module\_utils/network/common/parsing.py  
Using module\_utils file /usr/lib/python2.7/site-packages/ansible/module\_utils/six/ **init**.py  
Using module\_utils file /usr/lib/python2.7/site-packages/ansible/module\_utils/basic.py  
Using module\_utils file /usr/lib/python2.7/site-packages/ansible/module\_utils/network/common/utils.py  
Using module\_utils file /usr/lib/python2.7/site-packages/ansible/module\_utils/network/common/ **init**.py  
Using module\_utils file /usr/lib/python2.7/site-packages/ansible/module\_utils/network/ios/ios.py  
Using module\_utils file /usr/lib/python2.7/site-packages/ansible/module\_utils/network/ios/ **init**.py  
Using module\_utils file /usr/lib/python2.7/site-packages/ansible/module\_utils/parsing/convert\_bool.py  
Using module\_utils file /usr/lib/python2.7/site-packages/ansible/module\_utils/parsing/ **init**.py  
Using module\_utils file /usr/lib/python2.7/site-packages/ansible/module\_utils/\_text.py  
Using module\_utils file /usr/lib/python2.7/site-packages/ansible/module\_utils/pycompat24.py  
Using module\_utils file /usr/lib/python2.7/site-packages/ansible/module\_utils/connection.py  
Using module file /usr/lib/python2.7/site-packages/ansible/modules/network/ios/ios\_command.py  
\<192.168.1.9\> ESTABLISH LOCAL CONNECTION FOR USER: root  
\<192.168.1.9\> EXEC /bin/sh -c ‘echo ~ && sleep 0’  
\<192.168.1.9\> EXEC /bin/sh -c ‘( umask 77 && mkdir -p “`echo /root/.ansible/tmp/ansible-tmp-1524447089.65-260313024406209`” && echo ansible-tmp-1524447089.65-260313024406209=“`echo /root/.ansible/tmp/ansible-tmp-1524447089.65-260313024406209`” ) && sleep 0’  
\<192.168.1.9\> PUT /root/.ansible/tmp/ansible-local-2007vWdMIN/tmpmQErXi TO /root/.ansible/tmp/ansible-tmp-1524447089.65-260313024406209/ios\_command.py  
\<192.168.1.9\> EXEC /bin/sh -c ‘chmod u+x /root/.ansible/tmp/ansible-tmp-1524447089.65-260313024406209/ /root/.ansible/tmp/ansible-tmp-1524447089.65-260313024406209/ios\_command.py && sleep 0’  
\<192.168.1.9\> EXEC /bin/sh -c ‘/usr/bin/python /root/.ansible/tmp/ansible-tmp-1524447089.65-260313024406209/ios\_command.py && sleep 0’  
\<192.168.1.9\> EXEC /bin/sh -c ‘rm -f -r /root/.ansible/tmp/ansible-tmp-1524447089.65-260313024406209/ \> /dev/null 2\>&1 && sleep 0’  
ok: [192.168.1.9] =\> {  
“changed”: false,  
“invocation”: {  
“module\_args”: {  
“auth\_pass”: null,  
“authorize”: null,  
“commands”: [  
“show version”  
],  
“host”: null,  
“interval”: 1,  
“match”: “all”,  
“password”: null,  
“port”: null,  
“provider”: null,  
“retries”: 10,  
“ssh\_keyfile”: null,  
“timeout”: null,  
“username”: null,  
“wait\_for”: null  
}  
},  
“stdout”: [  
“Cisco IOS Software, 3700 Software (C3725-ADVENTERPRISEK9-M), Version 12.4(25d), RELEASE SOFTWARE (fc1)\nTechnical Support: [http://www.cisco.com/techsupport\nCopyright](http://www.cisco.com/techsupport%5CnCopyright) (c) 1986-2010 by Cisco Systems, Inc.\nCompiled Wed 18-Aug-10 07:55 by prod\_rel\_team\n\nROM: ROMMON Emulation Microcode\nROM: 3700 Software (C3725-ADVENTERPRISEK9-M), Version 12.4(25d), RELEASE SOFTWARE (fc1)\n\nRTR uptime is 3 minutes\nSystem returned to ROM by unknown reload cause - suspect boot\_data[BOOT\_COUNT] 0x0, BOOT\_COUNT 0, BOOTDATA 19\nSystem image file is "tftp://255.255.255.255/unknown"\n\n\nThis product contains cryptographic features and is subject to United\nStates and local country laws governing import, export, transfer and\nuse. Delivery of Cisco cryptographic products does not imply\nthird-party authority to import, export, distribute or use encryption.\nImporters, exporters, distributors and users are responsible for\ncompliance with U.S. and local country laws. By using this product you\nagree to comply with applicable laws and regulations. If you are unable\nto comply with U.S. and local laws, return this product immediately.\n\nA summary of U.S. laws governing Cisco cryptographic products may be found at:\n[http://www.cisco.com/wwl/export/crypto/tool/stqrg.html\n\nIf](http://www.cisco.com/wwl/export/crypto/tool/stqrg.html%5Cn%5CnIf) you require further assistance please contact us by sending email to\nexport@cisco.com.\n\nCisco 3725 (R7000) processor (revision 0.1) with 124928K/6144K bytes of memory.\nProcessor board ID FTX0945W0MY\nR7000 CPU at 240MHz, Implementation 39, Rev 2.1, 256KB L2, 512KB L3 Cache\n4 FastEthernet interfaces\n6 Serial(sync/async) interfaces\nDRAM configuration is 64 bits wide with parity enabled.\n55K bytes of NVRAM.\n\nConfiguration register is 0x2102”  
],  
“stdout\_lines”: [  
[  
“Cisco IOS Software, 3700 Software (C3725-ADVENTERPRISEK9-M), Version 12.4(25d), RELEASE SOFTWARE (fc1)”,  
“Technical Support: [http://www.cisco.com/techsupport](http://www.cisco.com/techsupport)”,  
“Copyright (c) 1986-2010 by Cisco Systems, Inc.”,  
“Compiled Wed 18-Aug-10 07:55 by prod\_rel\_team”,  
“”,  
“ROM: ROMMON Emulation Microcode”,  
“ROM: 3700 Software (C3725-ADVENTERPRISEK9-M), Version 12.4(25d), RELEASE SOFTWARE (fc1)”,  
“”,  
“RTR uptime is 3 minutes”,  
“System returned to ROM by unknown reload cause - suspect boot\_data[BOOT\_COUNT] 0x0, BOOT\_COUNT 0, BOOTDATA 19”,  
“System image file is "tftp://255.255.255.255/unknown"”,  
“”,  
“”,  
“This product contains cryptographic features and is subject to United”,  
“States and local country laws governing import, export, transfer and”,  
“use. Delivery of Cisco cryptographic products does not imply”,  
“third-party authority to import, export, distribute or use encryption.”,  
“Importers, exporters, distributors and users are responsible for”,  
“compliance with U.S. and local country laws. By using this product you”,  
“agree to comply with applicable laws and regulations. If you are unable”,  
“to comply with U.S. and local laws, return this product immediately.”,  
“”,  
“A summary of U.S. laws governing Cisco cryptographic products may be found at:”,  
“[http://www.cisco.com/wwl/export/crypto/tool/stqrg.html](http://www.cisco.com/wwl/export/crypto/tool/stqrg.html)”,  
“”,  
“If you require further assistance please contact us by sending email to”,  
“[export@cisco.com](mailto:export@cisco.com).”,  
“”,  
“Cisco 3725 (R7000) processor (revision 0.1) with 124928K/6144K bytes of memory.”,  
“Processor board ID FTX0945W0MY”,  
“R7000 CPU at 240MHz, Implementation 39, Rev 2.1, 256KB L2, 512KB L3 Cache”,  
“4 FastEthernet interfaces”,  
“6 Serial(sync/async) interfaces”,  
“DRAM configuration is 64 bits wide with parity enabled.”,  
“55K bytes of NVRAM.”,  
“”,  
“Configuration register is 0x2102”  
]  
]  
}

TASK [configure top level configuration] \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*  
task path: /etc/ansible/router.yml:15  
\<192.168.1.9\> attempting to start connection  
\<192.168.1.9\> using connection plugin network\_cli  
\<192.168.1.9\> found existing local domain socket, using it!  
\<192.168.1.9\> updating play\_context for connection  
\<192.168.1.9\>  
\<192.168.1.9\> local domain socket path is /root/.ansible/pc/84f038c732  
Using module\_utils file /usr/lib/python2.7/site-packages/ansible/module\_utils/network/ **init**.py  
Using module\_utils file /usr/lib/python2.7/site-packages/ansible/module\_utils/network/common/parsing.py  
Using module\_utils file /usr/lib/python2.7/site-packages/ansible/module\_utils/six/ **init**.py  
Using module\_utils file /usr/lib/python2.7/site-packages/ansible/module\_utils/basic.py  
Using module\_utils file /usr/lib/python2.7/site-packages/ansible/module\_utils/network/common/config.py  
Using module\_utils file /usr/lib/python2.7/site-packages/ansible/module\_utils/network/common/ **init**.py  
Using module\_utils file /usr/lib/python2.7/site-packages/ansible/module\_utils/network/ios/ios.py  
Using module\_utils file /usr/lib/python2.7/site-packages/ansible/module\_utils/network/ios/ **init**.py  
Using module\_utils file /usr/lib/python2.7/site-packages/ansible/module\_utils/parsing/convert\_bool.py  
Using module\_utils file /usr/lib/python2.7/site-packages/ansible/module\_utils/parsing/ **init**.py  
Using module\_utils file /usr/lib/python2.7/site-packages/ansible/module\_utils/\_text.py  
Using module\_utils file /usr/lib/python2.7/site-packages/ansible/module\_utils/pycompat24.py  
Using module\_utils file /usr/lib/python2.7/site-packages/ansible/module\_utils/network/common/utils.py  
Using module\_utils file /usr/lib/python2.7/site-packages/ansible/module\_utils/connection.py  
Using module file /usr/lib/python2.7/site-packages/ansible/modules/network/ios/ios\_config.py  
\<192.168.1.9\> ESTABLISH LOCAL CONNECTION FOR USER: root  
\<192.168.1.9\> EXEC /bin/sh -c ‘echo ~ && sleep 0’  
\<192.168.1.9\> EXEC /bin/sh -c ‘( umask 77 && mkdir -p “`echo /root/.ansible/tmp/ansible-tmp-1524447090.34-174383710450736`” && echo ansible-tmp-1524447090.34-174383710450736=“`echo /root/.ansible/tmp/ansible-tmp-1524447090.34-174383710450736`” ) && sleep 0’  
\<192.168.1.9\> PUT /root/.ansible/tmp/ansible-local-2007vWdMIN/tmpgDDBMY TO /root/.ansible/tmp/ansible-tmp-1524447090.34-174383710450736/ios\_config.py  
\<192.168.1.9\> EXEC /bin/sh -c ‘chmod u+x /root/.ansible/tmp/ansible-tmp-1524447090.34-174383710450736/ /root/.ansible/tmp/ansible-tmp-1524447090.34-174383710450736/ios\_config.py && sleep 0’  
\<192.168.1.9\> EXEC /bin/sh -c ‘/usr/bin/python /root/.ansible/tmp/ansible-tmp-1524447090.34-174383710450736/ios\_config.py && sleep 0’  
\<192.168.1.9\> EXEC /bin/sh -c 'rm -f -r /root/.ansible/tmp/ansible-tmp-152444709  
The full traceback is:  
Traceback (most recent call last):  
File “/tmp/ansible\_hfF8l5/ansible\_module\_ios\_config.py”, line 572, in   
main()  
File “/tmp/ansible\_hfF8l5/ansible\_module\_ios\_config.py”, line 475, in main  
config, have\_banners = get\_running\_config(module, config)  
File “/tmp/ansible\_hfF8l5/ansible\_module\_ios\_config.py”, line 373, in get\_runn  
contents = get\_config(module, flags=flags)  
File "/tmp/ansible\_hfF8l5/ansible\_modlib.zip/ansible/module\_utils/network/ios/  
File "/tmp/ansible\_hfF8l5/ansible\_modlib.zip/ansible/module\_utils/connection.p  
ansible.module\_utils.connection.ConnectionError: show running-config all  
^  
% Invalid input detected at ‘^’ marker.

RTR#

fatal: [192.168.1.9]: FAILED! =\> {  
“changed”: false,  
“module\_stderr”: "Traceback (most recent call last):\n File "/tmp/ansible\_ansible\_hfF8l5/ansible\_module\_ios\_config.py", line 475, in main\n config, hadule\_ios\_config.py", line 373, in get\_running\_config\n contents = get\_configils/network/ios/ios.py", line 117, in get\_config\n File "/tmp/ansible\_hfF8l5/odule\_utils.connection.ConnectionError: show running-config all\r\n  
“module\_stdout”: “”,  
“msg”: “MODULE FAILURE”,  
“rc”: 1  
}  
to retry, use: --limit @/etc/ansible/router.retry

PLAY RECAP \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*  
192.168.1.9 : ok=1 changed=0 unreachable=0 failed=1

`

###my ansible playbook

`

---

<div class="post-metadata">

**Author:** ![Christer\_Hemgren](https://avatars.discourse-cdn.com/v4/letter/c/97f17d/32.png) [@Christer\_Hemgren](https://forum.ansible.com/u/Christer_Hemgren)\
**Post date:** [April 24, 2018, 3:59am UTC](https://forum.ansible.com/t/module-failure-when-using-anisble-to-control-cisco-router/27344/2 "2018-04-24T03:59:59Z")

</div>

Hi

Try to remove 'connection: local' as you use network\_cli.

Regards  
Christer

---

<div class="post-metadata">

**Author:** ![cral](https://avatars.discourse-cdn.com/v4/letter/c/d07c76/32.png) [@cral](https://forum.ansible.com/u/cral)\
**Post date:** [April 24, 2018, 4:20am UTC](https://forum.ansible.com/t/module-failure-when-using-anisble-to-control-cisco-router/27344/3 "2018-04-24T04:20:32Z")

</div>

Hi, I try remove connection: local but still got the same error.

---

<div class="post-metadata">

**Author:** ![Hai\_Thanh\_Tran\_Nguye](https://avatars.discourse-cdn.com/v4/letter/h/82dd89/32.png) [@Hai\_Thanh\_Tran\_Nguye](https://forum.ansible.com/u/Hai_Thanh_Tran_Nguye)\
**Post date:** [April 24, 2018, 3:39pm UTC](https://forum.ansible.com/t/module-failure-when-using-anisble-to-control-cisco-router/27344/4 "2018-04-24T15:39:26Z")

</div>

Hi, I also got this problem, I think it’s error because of this:

> fatal: [192.168.1.9]: FAILED! =\> {  
> “changed”: false,  
> “module\_stderr”: "Traceback (most recent call last):\n File "/tmp/ansible\_ansible\_hfF8l5/ansible\_module\_ios\_config.py", line 475, in main\n config, hadule\_ios\_config.py", line 373, in get\_running\_config\n contents = get\_configils/network/ios/ios.py", line 117, in get\_config\n File "/tmp/ansible\_hfF8l5/odule\_utils.connection.ConnectionError: **show running-config all** \r\n

In my switch, it does not have “show running-config **all** ” but “show running-config” or

show running-config ?  
brief configuration without certificate data  
class-map Show class-map information  
full full configuration  
interface Show interface configuration  
linenum Display line numbers in output  
map-class Show map class information  
policy-map Show policy-map information  
view View options

> Output modifiers
