On 3/3/20 10:53 AM, Shifa Shaikh wrote:
> I need to get the output of ls command from list of remote ips and under each ip there is are different directories. The
> output of ls command needs to be saved in a file and the name of the file should be the value of ccode variable under
> the variable.
>
> Thus my variable file has ip listed. Under each ip is the list of directories with name and path variables and finally
> the entire output of all the ls commands on all the directories for that ip is stored in a file with ccode variable.
>
> Hope the requirement is clear now.
It is still unclear what you are going to do with the ls output. Also I would recommend to use the find module instead
of ls on the target.
Regards
Racke
>
> On Tue, 3 Mar, 2020, 2:55 pm Dick Visser, <
dick....@geant.org <mailto:
dick....@geant.org>> wrote:
>
> I meant HIGH level.
> You are using ansible to achieve something - what is that?
>
> On Tue, 3 Mar 2020 at 09:20, Shifa Shaikh <
shif...@gmail.com <mailto:
shif...@gmail.com>> wrote:
> >
> > Under an ip I want a variable ccode which will be global variable for that ip.
> >
> > I also want variable name & path which will have multiple entries.
> >
> > How can I read both single global and multiple variables name and path under a given IP ?
> >
> > On Tue, 3 Mar, 2020, 1:26 pm Dick Visser, <
dick....@geant.org <mailto:
dick....@geant.org>> wrote:
> >>
> >> Can you tell what is the big picture? What task is this intended for?
> >>
> >> On Tue, 3 Mar 2020 at 05:43, Shifa Shaikh <
shif...@gmail.com <mailto:
shif...@gmail.com>> wrote:
> >>>
> >>> Below is my playbook which loads variables and passes it to ls command on remote hosts.
> >>>
> >>> - name: Load repository
> >>> include_vars:
> >>> file="{{ playbook_dir }}/vars/listing.yml"
> >>> name=user1
> >>>
> >>>
> >>> - set_fact:
> >>> allinonecmd: "{{ allinonecmd | default('') + 'ls -ltr ' + item.path + ' '}}"
> >>> loop: "{{ user1[inventory_hostname] }}"
> >>>
> >>> - name: Get stat
> >>> shell: "ssh {{ USER }}@{{ inventory_hostname }} '{{ allinonecmd }}' >/web/htdocs/{{ item.ccode }}{{
> item.ipseg }}.html"
> >>> delegate_to: localhost
> >>> loop: "{{ user1[inventory_hostname] }}"
> >>>
> >>>
> >>> below is my listing.yml
> >>> 10.0.0.15 <
http://10.0.0.15>:
> >>> - name: SCRIPT
> >>> path: /tmp/scripts
> >>> ccode: GRM-APP-
> >>> ipseg: "0.15"
> >>> - name: MOC
> >>> path: /tmp/moc
> >>> - name: EXE
> >>> path: /tmp/exe
> >>> - name: MTR
> >>> path: /tmp/mtr
> >>>
> >>>
> >>> This worked fine without ccode and ipseg entries in the listing.yml. I have multiple entries for path which i
> loop over and construct the allinonecmd string but the ccode is just needed once.
> >>>
> >>> I get this error with a single entry of ccode in listing.yml
> >>>
> >>> fatal: [10.0.0.15]: FAILED! => {
> >>> "msg": "The task includes an option with an undefined variable. The error was: 'dict object' has no
> attribute 'ccode'
> >>>
> >>>
> >>> For my existing playbook to work i have to specify ccode and ipseg under each entry like below which works but
> looks ugly. It should be specified just one time and the playbook should work.
> >>>
> >>> 10.0.0.15 <
http://10.0.0.15>:
> >>> - name: SCRIPT
> >>> path: /tmp/scripts
> >>> ccode: GRM-APP-
> >>> ipseg: "0.15"
> >>> - name: MOC
> >>> path: /tmp/moc
> >>> ccode: GRM-APP-
> >>> ipseg: "0.15"
> >>> - name: EXE
> >>> path: /tmp/exe
> >>> ccode: GRM-APP-
> >>> ipseg: "0.15"
> >>> - name: MTR
> >>> path: /tmp/mtr
> >>> ccode: GRM-APP-
> >>> ipseg: "0.15"
> >>>
> >>>
> >>> Can you please suggest a clean way to get this to work ?
> >>>
> >>> --
> >>> 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
>
ansible-proje...@googlegroups.com <mailto:
ansible-project%2Bunsu...@googlegroups.com>.
>
ansible-proje...@googlegroups.com <mailto:
ansible-project%2Bunsu...@googlegroups.com>.
>
ansible-proje...@googlegroups.com <mailto:
ansible-project%2Bunsu...@googlegroups.com>.
>
ansible-proje...@googlegroups.com <mailto:
ansible-project%2Bunsu...@googlegroups.com>.
> --
> 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
>
ansible-proje...@googlegroups.com <mailto:
ansible-proje...@googlegroups.com>.
> To view this discussion on the web visit
>
https://groups.google.com/d/msgid/ansible-project/CAJtox0%3D2hp-SbYQUfAFRs2N4Hz%2BZKuebG64nANtEN3Hti9adsQ%40mail.gmail.com
> <
https://groups.google.com/d/msgid/ansible-project/CAJtox0%3D2hp-SbYQUfAFRs2N4Hz%2BZKuebG64nANtEN3Hti9adsQ%40mail.gmail.com?utm_medium=email&utm_source=footer>.
--
Ecommerce and Linux consulting + Perl and web application programming.
Debian and Sympa administration. Provisioning with Ansible.