Based on what you are looking for this should do it for you.
---
> - hosts: all
> gather_facts: true
> remote_user: remote
> sudo: true
> tasks:
> - name: capture linux_os
> shell: "{{ item }}"
> register: linux_os
> with_items:
> - 'uname -a'
> - 'cat /etc/resolv.conf'
> - name: creating inventory hosts
> file: path="{{ inventory_hostname }}".txt state=touch
> delegate_to: localhost
> sudo: false
> - name: results
> lineinfile: dest="{{ inventory_hostname }}".txt line="{{ item.stdout
> }}"
> delegate_to: localhost
> sudo: false
> with_items: linux_os.results
resulting in.
Linux ans-test-3 3.13.0-55-generic #92-Ubuntu SMP Sun Jun 14 18:32:20 UTC
> 2015 x86_64 x86_64 x86_64 GNU/Linux
> # Dynamic resolv.conf(5) file for glibc resolver(3) generated by
> resolvconf(8)
> # DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
> nameserver 192.168.70.240
> nameserver 192.168.70.241
> search everythingshouldbevirtual.local
On Tuesday, July 21, 2015 at 8:50:58 AM UTC-4, pavan reddy wrote:
>
> Hi,
>
> below is the playbook.i wanna multiple commands in a single task using
> loop (with_items) and copy the stdout of each loop for every hosts in a
> file.
>
>
> =======================
> ansible --version
> ansible 1.7.2
> ========================
>
> =============================================================
> ---
> - name: All the hosts
> hosts: all
> gather_facts: false
> connection: paramiko
> tasks:
> - name: items
> raw: "{{ item }}"
> register: linux_os
> with_items:
> - uname -a
> - netstat -rn
>
> - name: Do something with each result
> local_action: template src= {{ item.stdout }}
> dest=/home/openstack/Documents/{{inventory_hostname}}.txt
> with_items: "{{ linux_os.stdout_lines }}"
>
>
> ====================================================================
>
>
> Output:
>
> PLAY [All the hosts]
> **********************************************************
>
> TASK: [sh clock]
> **************************************************************
> ok: [192.168.1.191] => (item=uname -a)
> ok: [192.168.1.191] => (item=cat /etc/resolv.conf)
>
> TASK: [debug var=linux_os]
> ****************************************************
> ok: [192.168.1.191] => {
> "linux_os": {
> "changed": false,
> "msg": "All items completed",
> "results": [
> {
> "invocation": {
> "module_args": "uname -a",
> "module_name": "raw"
> },
> "item": "uname -a",
> "rc": 0,
> "stderr": "",
> "stdout": "Linux splunk-server 3.2.0-65-generic #98-Ubuntu
> SMP Wed Jun 11 20:27:07 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux\n"
> },
> {
> "invocation": {
> "module_args": "cat /etc/resolv.conf",
> "module_name": "raw"
> },
> "item": "cat /etc/resolv.conf",
> "rc": 0,
> "stderr": "",
> "stdout": "# Dynamic resolv.conf(5) file for glibc
> resolver(3) generated by resolvconf(8)\n# DO NOT EDIT THIS FILE BY HAND
> -- YOUR CHANGES WILL BE OVERWRITTEN\nnameserver 127.0.0.1\nsearch
> localdomain\n"
> }
> ]
> }
> }
>
>
> ==========
> Error:
>
> TASK: [copy]
> ******************************************************************
> fatal: [192.168.1.191 -> 127.0.0.1] => {'msg': 'AnsibleError: unable to
> read /home/openstack/Documents/uname', 'failed': True}
> fatal: [192.168.1.191 -> 127.0.0.1] => {'msg': 'One or more items
> failed.', 'failed': True, 'changed': False, 'results': [{'msg':
> 'AnsibleError: unable to read /home/openstack/Documents/uname', 'failed':
> True}]}
>
> FATAL: all hosts have already failed -- aborting
>
> PLAY RECAP
> ********************************************************************
> to retry, use: --limit @/root/test.retry
>
> 192.168.1.191 : ok=2 changed=0 unreachable=1 failed=0
>
>
>
> ----------------------------------------------------------------------------------------------
>
> I wanna output as:
>
> Linux splunk-server 3.2.0-65-generic #98-Ubuntu SMP Wed Jun 11 20:27:07
> UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
> # Dynamic resolv.conf(5) file for glibc resolver(3) generated by
> resolvconf(8)
> # DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
> nameserver 127.0.0.1
> search localdomain"
>
> --------------------------------------------------------
>
> Thanks
> Pavan
>
>
--
You received this message because you are subscribed to the Google Groups
"Ansible Project" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/ansible-project/6bb777c6-387e-43c8-b52e-9dc8953a2053%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.