with_items: "{{ lookup('vars', dir ~'_files') }}"
V/r,
James Cassell
On Mon, Dec 31, 2018, at 1:37 PM, Bharath Kumar wrote:
> Thanks very much James for your advise. Was able to achieve what was
> intended, but there seems to be another problem.
>
> Updated the code as below, and, Ansible is passing the list of items to the
> get_url.
>
> ---
> - name: Download Properties Files!
> get_url:
> url: "{{ url }}/{{ dir }}/{{ item }}"
> dest: "{{ dest_dir }}/"
> with_items:
> - files: "{{ lookup('vars', dir ~'_files') }}"
>
> However the get_url step is failing with the below ERROR.
>
> failed: [sometarget-machine.com] (item={u'files': [u'abc1', u'abc2',
> u'abc3'
> ]}) => {"changed": false, "dest": "/some/path/onedir", "gid": 0,
> "group":
> "root", "item": {"files": ["abc1", "abc2", "abc3"]}, "mode": "0755",
> "msg": "Request
> failed", "owner": "root", "response": "HTTP Error 400: Bad request",
> "secontext": "unconfined_u:object_r:default_t:s0", "size": 4096,
> "state":
> "directory", "status_code": 400, "uid": 0, "url": "https://targetURL/
> {u'files':
> [u'abc1', u'abc2', u'abc3']}"}
>
> Also, the same get_url on the same target machine works fine with specified
> with_items with a list (as below)
>
> ---
> - hosts: sametarget
> gather_facts: no
> become: yes
>
> tasks:
> - name: Download Files
> get_url:
> url: https://targetURL{{ item }}
> dest: some/target/path
> with_items:
> - abc1
> - abc2
> - abc3
>
>
>
>
> On Friday, December 28, 2018 at 3:47:53 PM UTC-5, James Cassell wrote:
> >
> > Try
> >
> > files: "{{ lookup('vars', dir ~ '_files' }}"
> >
> > V/r,
> > James Cassell
> >
> > On Fri, Dec 28, 2018, at 3:03 PM, Bharath Kumar wrote:
> > > Hello Ansible Experts,
> > >
> > > I am creating a Role, which has a task to download multiple files from
> > an
> > > URL, and, for that, I am using get_url module. Since, get_url cant
> > download
> > > files recursively, I have been trying to use 'with_items'.
> > >
> > > Role Snippets Below.
> > >
> > > /defaults/main.yml
> > > ---
> > >
> > > files: "{{ dir }}_files"
> > >
> > >
> > > /vars/main.yml
> > > ---
> > > onedir_files:
> > > - abc1
> > > - abc2
> > > - abc3
> > >
> > >
> > > twodir_files:
> > > - xyz1
> > > - xyz2
> > >
> > >
> > > threedir_files:
> > > - one
> > > - two
> > > - three
> > >
> > > /tasks/main.yml
> > > ---
> > > - name: Download Properties Files!
> > > get_url:
> > > url: "{{ url }}/{{ dir }}/{{ item }}"
> > > dest: "{{ dest_dir }}/"
> > > with_items: "{{ files }}"
> > >
> > > *ansible-playbook test.yml --extra-vars "dir=one"*
> > >
> > > Running all tasks fine until the get_url, and, failing with below.
> > >
> > > failed: [target_host] (item=onedir_files) => {"changed": false, "dest":
> > > "/some/target/path", "gid": 0, "group": "root", "item": "onedir_files",
> > > "mode": "0755", "msg": "Request failed", "owner": "root", "response":
> > "HTTP
> > > Error 404: org.tmatesoft.svn.core.SVNException: svn: E175007: Path
> > > '/some/path/", "secontext": "unconfined_u:object_r:default_t:s0",
> > "size":
> > > 4096, "state": "directory", "status_code": 404, "uid": 0, "url":
> > > "https://someurl/one/onedir_files"}
> > >
> > > Please let me know where I have gone wrong? or, a best practice or a
> > good
> > > approach for the above problem/requirement.
> > >
> > > Thanks in Advance.
> > >
> > >
> > >
> > > --
> > > 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] <javascript:>.
> > > To post to this group, send email to [email protected]
> > <javascript:>.
> > > To view this discussion on the web visit
> > >
> > https://groups.google.com/d/msgid/ansible-project/0802a1f2-169c-4695-a26a-9e6ec31a8216%40googlegroups.com.
> >
> >
> > > For more options, visit https://groups.google.com/d/optout.
> >
>
> --
> 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/7930d991-471c-4b4d-a50c-cf1cbfa7b183%40googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.
--
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/1546290554.3357995.1622439720.25B7582A%40webmail.messagingengine.com.
For more options, visit https://groups.google.com/d/optout.