# ansible yml error

**URL:** <https://forum.ansible.com/t/ansible-yml-error/23053>\
**Category:** Ansible Project\
**Created:** [November 18, 2016, 11:49am UTC](https://forum.ansible.com/t/ansible-yml-error/23053 "2016-11-18T11:49:13Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![stack4cl](https://avatars.discourse-cdn.com/v4/letter/s/3da27b/32.png) [@stack4cl](https://forum.ansible.com/u/stack4cl)\
**Post date:** [November 18, 2016, 11:49am UTC](https://forum.ansible.com/t/ansible-yml-error/23053/1 "2016-11-18T11:49:13Z")

</div>

Any idea about the below error -

[sysadm@pclprdftsnsoft1 ~]$ ansible-playbook 2.yml  
[WARNING]: While constructing a mapping from /home/sysadm/2.yml, line 14, column 6, found a duplicate dict key  
(shell). Using last defined value only.

PLAY [patch] \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*

TASK [setup] \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*  
ok: [ccltstftsmrk1]

TASK [I am rebooting servers!! You go and have some coffe!] \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*  
fatal: [ccltstftsmrk1]: FAILED! =\> {“changed”: true, “cmd”: “sh -c ‘/usr/bin/reboot’”, “delta”: “0:00:00.015728”, “end”: “2016-11-18 06:33:54.544235”, “failed”: true, “rc”: 1, “start”: “2016-11-18 06:33:54.528507”, “stderr”: “reboot: Need to be root”, “stdout”: “”, “stdout\_lines”: , “warnings”: }  
…ignoring

TASK [I am waiting for server to come back!] \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*  
ok: [ccltstftsmrk1 → localhost]

TASK [Subscribing a new channel] \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*  
fatal: [ccltstftsmrk1]: FAILED! =\> {“changed”: true, “cmd”: “sh -c "rhnreg\_ks --activationkey 1-vblock20161026 --force"”, “delta”: “0:00:00.006615”, “end”: “2016-11-18 06:36:31.115522”, “failed”: true, “rc”: 127, “start”: “2016-11-18 06:36:31.108907”, “stderr”: “sh: rhnreg\_ks: command not found”, “stdout”: “”, “stdout\_lines”: , “warnings”: }

NO MORE HOSTS LEFT \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*  
[WARNING]: Could not create retry file ‘2.retry’. [Errno 2] No such file or directory: ‘’

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

[sysadm@pclprdftsnsoft1 ~]$

code -

[sysadm@pclprdftsnsoft1 ~]$ cat 2.yml

---

<div class="post-metadata">

**Author:** ![stack4cl](https://avatars.discourse-cdn.com/v4/letter/s/3da27b/32.png) [@stack4cl](https://forum.ansible.com/u/stack4cl)\
**Post date:** [November 18, 2016, 1:25pm UTC](https://forum.ansible.com/t/ansible-yml-error/23053/2 "2016-11-18T13:25:42Z")

</div>

Ansible version is ansible-2.1.1.0-1

---

<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:** [November 18, 2016, 2:41pm UTC](https://forum.ansible.com/t/ansible-yml-error/23053/3 "2016-11-18T14:41:20Z")

</div>

One task can only have one module.  
You can add a "- name" to the last shell module or add a - in front of the shell module.

---

<div class="post-metadata">

**Author:** ![stack4cl](https://avatars.discourse-cdn.com/v4/letter/s/3da27b/32.png) [@stack4cl](https://forum.ansible.com/u/stack4cl)\
**Post date:** [November 18, 2016, 3:16pm UTC](https://forum.ansible.com/t/ansible-yml-error/23053/4 "2016-11-18T15:16:07Z")

</div>

Added like below , still am getting error ☹

- name: Subscribing a new channel  
shell: sh -c “rhnreg\_ks --activationkey 1-vblock20161026”

- name: Subscribing a new channel forcefully  
shell: sh -c “rhnreg\_ks --activationkey 1-vblock20161026 --force”

TASK [I am waiting for server to come back!] \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*  
ok: [ccltstftsmrk1 → localhost]

TASK [Subscribing a new channel] \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*  
fatal: [ccltstftsmrk1]: FAILED! =\> {“changed”: true, “cmd”: “sh -c "rhnreg\_ks --activationkey 1-vblock20161026"”, “delta”: “0:00:00.272494”, “end”: “2016-11-18 10:13:52.624698”, “failed”: true, “rc”: 1, “start”: “2016-11-18 10:13:52.352204”, “stderr”: “”, “stdout”: “You must be root to run /usr/sbin/rhnreg\_ks”, “stdout\_lines”: [“You must be root to run /usr/sbin/rhnreg\_ks”], “warnings”: }

NO MORE HOSTS LEFT \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*  
[WARNING]: Could not create retry file ‘patch.retry’. [Errno 2] No such file or directory: ‘’

---

<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:** [November 18, 2016, 3:24pm UTC](https://forum.ansible.com/t/ansible-yml-error/23053/5 "2016-11-18T15:24:11Z")

</div>

> Added like below , still am getting error ☹

Have you read the error message?

> &nbsp;&nbsp;- name: Subscribing a new channel  
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;shell: sh -c "rhnreg\_ks --activationkey 1-vblock20161026"
> 
> &nbsp;&nbsp;&nbsp;- name: Subscribing a new channel forcefully  
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;shell: sh -c "rhnreg\_ks --activationkey 1-vblock20161026 --force"
> 
> TASK [I am waiting for server to come back!]  
> \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*  
> ok: [ccltstftsmrk1 -\> localhost]
> 
> TASK [Subscribing a new channel]  
> \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*  
> fatal: [ccltstftsmrk1]: FAILED! =\> {"changed": true, "cmd": "sh -c  
> \"rhnreg\_ks --activationkey 1-vblock20161026\"", "delta": "0:00:00.272494",  
> "end": "2016-11-18 10:13:52.624698", "failed": true, "rc": 1, "start":  
> "2016-11-18 10:13:52.352204", "stderr": "", "stdout": "You must be root to  
> run /usr/sbin/rhnreg\_ks", "stdout\_lines": ["You must be root to run  
> /usr/sbin/rhnreg\_ks"], "warnings": }

The error message say "You must be root to run /usr/sbin/rhnreg\_ks"

---

<div class="post-metadata">

**Author:** ![stack4cl](https://avatars.discourse-cdn.com/v4/letter/s/3da27b/32.png) [@stack4cl](https://forum.ansible.com/u/stack4cl)\
**Post date:** [November 18, 2016, 7:17pm UTC](https://forum.ansible.com/t/ansible-yml-error/23053/6 "2016-11-18T19:17:42Z")

</div>

oops … I missed.

Now I have corrected like below … still bad luck with me … . Also If I executed these commands directly into clients servers and its working.

- name: Subscribing a new channel  
shell: sh -c “sudo yum clean all”
- shell: sh -c “sudo rhnreg\_ks --activationkey 1-vblock20161026”
- shell: sh -c “sudo rhnreg\_ks --activationkey 1-vblock20161026 --force”

PLAY [patch] \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*

TASK [I am rebooting servers!! You go and have some coffe!] \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*  
changed: [ccltstftsmrk1]  
[WARNING]: Consider using ‘become’, ‘become\_method’, and ‘become\_user’ rather than running sudo

TASK [I am waiting for server to come back!] \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*  
ok: [ccltstftsmrk1 → localhost]

TASK [Subscribing a new channel] \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*  
changed: [ccltstftsmrk1]

TASK [command] \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*  
fatal: [ccltstftsmrk1]: FAILED! =\> {“changed”: true, “cmd”: “sh -c "sudo rhnreg\_ks --activationkey 1-vblock20161026"”, “delta”: “0:00:00.270108”, “end”: “2016-11-18 14:06:44.477886”, “failed”: true, “rc”: 255, “start”: “2016-11-18 14:06:44.207778”, “stderr”: “”, “stdout”: “This system is already registered. Use --force to override”, “stdout\_lines”: [“This system is already registered. Use --force to override”], “warnings”: }

NO MORE HOSTS LEFT \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*  
[WARNING]: Could not create retry file ‘patch.retry’. [Errno 2] No such file or directory: ‘’

PLAY RECAP \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*  
ccltstftsmrk1 : ok=3 changed=2 unreachable=0 failed=1

---

<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:** [November 19, 2016, 7:31pm UTC](https://forum.ansible.com/t/ansible-yml-error/23053/7 "2016-11-19T19:31:03Z")

</div>

> &nbsp;&nbsp;&nbsp;- name: Subscribing a new channel  
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;shell: sh -c "sudo yum clean all"  
> &nbsp;&nbsp;&nbsp;- shell: sh -c "sudo rhnreg\_ks --activationkey 1-vblock20161026"  
> &nbsp;&nbsp;&nbsp;- shell: sh -c "sudo rhnreg\_ks --activationkey 1-vblock20161026 --force"

[snip]

> TASK [Subscribing a new channel]  
> \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*  
> changed: [ccltstftsmrk1]
> 
> TASK [command]  
> \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*  
> fatal: [ccltstftsmrk1]: FAILED! =\> {"changed": true, "cmd": "sh -c \"sudo  
> rhnreg\_ks --activationkey 1-vblock20161026\"", "delta": "0:00:00.270108",  
> "end": "2016-11-18 14:06:44.477886", "failed": true, "rc": 255, "start":  
> "2016-11-18 14:06:44.207778", "stderr": "", "stdout": "This system is  
> already registered. Use --force to override", "stdout\_lines": ["This system  
> is already registered. Use --force to override"], "warnings": }

It's failing on the first rhnreg\_ks that doesn't have --force because it's already registered. It this circumstance rhnreg\_ks return code is 255, everything higher than 0 is a failure for the shell module.  
You can change this behavior with the failed\_when.

Have you checked out these two module, maybe they can do what you are trying to do?

rhn\_register - Manage Red Hat Network registration using the rhnreg\_ks command  
rhn\_channel - Adds or removes Red Hat software channels
