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.

Reply via email to