# only show run give error

**URL:** <https://forum.ansible.com/t/only-show-run-give-error/28339>\
**Category:** Ansible Project\
**Created:** [August 16, 2018, 2:40am UTC](https://forum.ansible.com/t/only-show-run-give-error/28339 "2018-08-16T02:40:02Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![nbctcp](https://avatars.discourse-cdn.com/v4/letter/n/c5a1d2/32.png) [@nbctcp](https://forum.ansible.com/u/nbctcp)\
**Post date:** [August 16, 2018, 2:40am UTC](https://forum.ansible.com/t/only-show-run-give-error/28339/1 "2018-08-16T02:40:02Z")

</div>

Hi,  
I have working playbook to cisco on eve-ng.  
It will give error only when I want to run “show run”.  
Other commands like “show version” “show clock” all ok

Please help  
tq

# cat showrun.yml

---

<div class="post-metadata">

**Author:** ![Kai\_Stian\_Olstad](https://avatars.discourse-cdn.com/v4/letter/k/e19adc/32.png) [@Kai\_Stian\_Olstad](https://forum.ansible.com/u/Kai_Stian_Olstad)\
**Post date:** [August 16, 2018, 11:02am UTC](https://forum.ansible.com/t/only-show-run-give-error/28339/2 "2018-08-16T11:02:10Z")

</div>

show run need enable if I remember correctly.  
How to use enable with network\_cli is documented here  
[https://docs.ansible.com/ansible/2.6/network/user\_guide/platform\_ios.html](https://docs.ansible.com/ansible/2.6/network/user_guide/platform_ios.html)

---

<div class="post-metadata">

**Author:** ![nbctcp](https://avatars.discourse-cdn.com/v4/letter/n/c5a1d2/32.png) [@nbctcp](https://forum.ansible.com/u/nbctcp)\
**Post date:** [August 18, 2018, 12:42am UTC](https://forum.ansible.com/t/only-show-run-give-error/28339/3 "2018-08-18T00:42:01Z")

</div>

It will work if I put username and password directly in hosts, but not if separate file.  
I want separate file so that I can do vault on it

$ cat ansible.cfg  
[defaults]  
inventory = hosts  
host\_key\_checking = False  
pipelining = True  
retry\_files\_enabled = False  
display\_skipped\_hosts = True  
log\_path = /tmp/ansible.log

[persistent\_connection]  
command\_timeout=100  
connect\_timeout=100  
connect\_retry\_timeout=100

$ cat hosts  
[cisco]  
cisco1 ansible\_host=10.0.10.121

[cisco:vars]  
ansible\_network\_os=ios  
ansible\_become=yes  
ansible\_become\_method=enable  
ansible\_user=cisco  
ansible\_password=cisco  
ansible\_become\_pass=cisco

# cat playbooks/showrun.yml

---

<div class="post-metadata">

**Author:** ![Kai\_Stian\_Olstad](https://avatars.discourse-cdn.com/v4/letter/k/e19adc/32.png) [@Kai\_Stian\_Olstad](https://forum.ansible.com/u/Kai_Stian_Olstad)\
**Post date:** [August 18, 2018, 11:15am UTC](https://forum.ansible.com/t/only-show-run-give-error/28339/4 "2018-08-18T11:15:33Z")

</div>

> [cisco]  
> cisco1 ansible\_host=10.0.10.121
> 
> [cisco:vars]  
> ansible\_network\_os=ios  
> ansible\_become=yes  
> ansible\_become\_method=enable  
> ansible\_user=cisco  
> ansible\_password=cisco  
> ansible\_become\_pass=cisco
> 
> # cat playbooks/showrun.yml  
> ---  
> - name: Run multiple commands  
> &nbsp;&nbsp;connection: network\_cli  
> &nbsp;&nbsp;hosts: cisco1  
> &nbsp;&nbsp;gather\_facts: true  
> &nbsp;&nbsp;tasks:  
> &nbsp;&nbsp;&nbsp;&nbsp;- name: run multiple commands  
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ios\_command:  
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;commands:  
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;register: output  
> &nbsp;&nbsp;&nbsp;&nbsp;- name: copy output to file  
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;copy: content="{{ output.stdout[0] }}" dest=./output/{{  
> inventory\_hostname }}.txt  
> &nbsp;&nbsp;&nbsp;&nbsp;- debug: var=output.stdout\_lines  
> ...
> 
> BUT NOT  
> # cat hosts  
> [cisco]  
> cisco1 ansible\_host=10.0.10.121
> 
> # cat playbooks/showrun.yml  
> ---  
> - name: show run  
> &nbsp;&nbsp;connection: network\_cli  
> &nbsp;&nbsp;hosts: cisco1  
> &nbsp;&nbsp;gather\_facts: no  
> &nbsp;&nbsp;tasks:  
> &nbsp;&nbsp;&nbsp;&nbsp;- name: GET CREDENTIALS  
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;include\_vars: ../group\_vars/secretsios.yml

You shouldn't do this, group\_vars is special in Ansible and automatically load variables from this directory.  
So if you have a group called "mygroup" it will load the file group\_vars/mygroup.yml for all host in that group.  
In your case this is for the group called "secretsios".

If this is only manually loaded variables you should choose another name since group\_vars has special meaning.

> &nbsp;&nbsp;&nbsp;&nbsp;- name: DEFINE CONNECTION  
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;set\_fact:  
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;connection:  
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;authorize: yes  
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;host: "{{ inventory\_hostname }}"  
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;username: "{{ creds['username'] }}"  
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;password: "{{ creds['password'] }}"  
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;auth\_pass: "{{ creds['auth\_pass'] }}"

You aren't using the variable anywhere in your playbook so this have no effect, and you shouldn't use variable name that is the same as Ansible directive.

Instead, you should create a file group\_vars/cisco.yml since your host is in the cisco group.  
The content should be the same as your vars in the inventory of your first example.

group\_vars/cisco.yml

---

<div class="post-metadata">

**Author:** ![nbctcp](https://avatars.discourse-cdn.com/v4/letter/n/c5a1d2/32.png) [@nbctcp](https://forum.ansible.com/u/nbctcp)\
**Post date:** [August 19, 2018, 9:19am UTC](https://forum.ansible.com/t/only-show-run-give-error/28339/5 "2018-08-19T09:19:22Z")

</div>

This settings works  
I miss to put “become: yes” in the playbook

tq for your support

# cat hosts

[cisco]  
cisco1 ansible\_host=10.0.10.121

# cat playbooks/showrun.yml
