Hello Soniya,
Thanks for your input, I see code executed successfully without errors but
files were not copied to desired destinations.
On Monday, November 27, 2017 at 8:51:44 PM UTC-8, Soniya panwar wrote:
>
> Hello,
>
> You may use below code to perform many to many copy. You may use a when
> condition to ensure that copy task takes place only when the directory is
> sucessfully created. In case of directory creation getting failed, the
>
> copy task would not be performed.
>
> Below is the detailed playbook:
> 1. create the directory
> 2. check if maven repo directory exists on destination server
> 3. copy files from source to destination once the creation is successful
>
>
> --- # Deploy EP7.0 on desired servers
> - hosts: test
> remote_user: deploy
> become: yes
> become_method: sudo
> connection: ssh
> gather_facts: yes
> tasks:
> - name: Create maven if not exist
> file:
> path: /opt/dtv/apache-maven-3.5.0/.m2/repository
> state: directory
> owner: root
> group: root
> mode: 0755
> - name: check if maven repo exists on destination server
> stat: path=/opt/dtv/apache-maven-3.5.0/.m2/repository
> register: stat_result
> - debug: var=stat_result
> - name: copy files from source to destination
> copy:
> src: "{{ item.src }}"
> dest: "{{ item.dest }}"
> mode: "{{ item.mode }}"
> with_items:
> - { src: '/home/psk/settings.xml',dest:
> '/opt/dtv/apache-maven-3.5.0/.m2/repository/',mode: '0755'}
> - { src: '/etc/ansible/roles/common/files/settings.xml' , dest:
> '/opt/dtv/apache-maven-3.5.0/conf/' , mode: '0644'}
> - { src: '/etc/ansible/roles/common/files/archetype-catalog.xml' ,
> dest: '/opt/dtv/apache-maven-3.5.0/.m2/repository/' , mode: '0644'}
> when: stat_result.stat.exists == True
>
>
>
> *Output:-*
>
> TASK [maven repo created]
> **********************************************************************************************************************************************
> ok: [host1] => (item={u'dest':
> u'/opt/dtv/apache-maven-3.5.0/.m2/repository/', u'src':
> u'/home/psk/settings.xml', u'mode': u'0755'})
> ok: [host1] => (item={u'dest': u'/opt/dtv/apache-maven-3.5.0/conf/',
> u'src': u'/etc/ansible/roles/common/files/settings.xml', u'mode': u'0644'})
> ok: [host1] => (item={u'dest':
> u'/opt/dtv/apache-maven-3.5.0/.m2/repository/', u'src':
> u'/etc/ansible/roles/common/files/archetype-catalog.xml', u'mode': u'0644'})
>
> PLAY RECAP
> *************************************************************************************************************************************************************
> host1 : ok=5 changed=0 unreachable=0 failed=0
>
>
> Thanks
> Soniya
>
>
> On Thursday, November 23, 2017 at 7:52:38 PM UTC+5:30, Love wrote:
>>
>> Hello Soniya,
>>
>> Yes,
>>
>> First I need to check if the directory exists or NOT & create it, works
>> perfect!!
>> Second: After the above directory is created, I need to copy 3 different
>> files from 3 different sources to 2 destinations. In other words many to
>> many copy is NOT working for me.
>>
>> Please let me know if its still not clear?
>>
>>
>>
>> On Monday, November 13, 2017 at 9:33:09 PM UTC-8, Soniya panwar wrote:
>>>
>>>
>>> Hello,
>>> Can you please elaborate your tasks more?
>>> 1. In first task: you are checking if the file is exist on destination
>>> server, and if not exist you will create new directory?
>>> 2. In second task: you are saying maven repo created but in this task
>>> you are coping your files src to destination.
>>>
>>> if you can elaborate what is your scenario and why are you using handler
>>> here, that will be a great help.
>>>
>>> thanks
>>> Soniya
>>>
>>>
>>> On Sunday, November 12, 2017 at 1:13:02 PM UTC+5:30, Love wrote:
>>>>
>>>> We need to be able to copy/push multiple files from multiple sources to
>>>> multiple destinations on destination servers, I'm having trouble with
>>>> below
>>>> code, can anyone suggest the right syntax to update code?
>>>>
>>>> I have 3 different files and destination is different for all of them
>>>> and need this across my inventory, from a syntax standpoint I do not have
>>>> any issues however, it does not push those files to destination servers.
>>>>
>>>>
>>>> --- # Deploy EP7.0 on desired servers
>>>> - hosts: test
>>>> remote_user: deploy
>>>> become: yes
>>>> become_method: sudo
>>>> connection: ssh
>>>> gather_facts: yes
>>>>
>>>> tasks:
>>>>
>>>> - name: check if maven repo exists on destination server
>>>> file:
>>>> path: /opt/dtv/apache-maven-3.5.0/.m2/repository
>>>> state: directory
>>>> owner: root
>>>> group: root
>>>> mode: 0755
>>>> notify: maven repo created
>>>>
>>>> handlers:
>>>>
>>>> - name: maven repo created
>>>> copy:
>>>> src: "{{ item.src }}"
>>>> dest: "{{ item.dest }}"
>>>> mode: "{{ item.mode }}"
>>>> with_items:
>>>> - { src: '/home/psk/settings.xml',dest:
>>>> '/opt/dtv/apache-maven-3.5.0/.m2/repository/',mode: '0755'}
>>>> - "{ src: '/etc/ansible/roles/common/files/settings.xml' , dest:
>>>> '/opt/dtv/apache-maven-3.5.0/conf/' , mode: '0755'}"
>>>> - "{ src:
>>>> '/etc/ansible/roles/common/files/archetype-catalog.xml' , dest:
>>>> '/opt/dtv/apache-maven-3.5.0/.m2/repository/' , mode: '0755'}"
>>>>
>>>> - debug: var=result
>>>>
>>>>
--
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/e2f92271-a55a-4826-b5f2-cd8add55d5a5%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.