Te damos la solución a este contratiempo, al menos eso creemos. Si sigues con dudas puedes dejar un comentario y con gusto te responderemos
Solución:
A partir de la versión 2.0en el módulo de copia puedes usar remote_src
parámetro.
Si True
irá a la máquina remota/objetivo para el src.
- name: Copy files from foo to bar
copy: remote_src=True src=/path/to/foo dest=/path/to/bar
Si desea mover un archivo, debe eliminar el archivo antiguo con el módulo de archivo
- name: Remove old files foo
file: path=/path/to/foo state=absent
A partir de la versión 2.8 módulo de copia remote_src
admite la copia recursiva.
El módulo de archivos no copia archivos en el sistema remoto. El parámetro src solo lo usa el módulo de archivo al crear un enlace simbólico a un archivo.
Si desea mover/cambiar el nombre de un archivo por completo en un sistema remoto, su mejor opción es usar el módulo de comando para simplemente invocar el comando apropiado:
- name: Move foo to bar
command: mv /path/to/foo /path/to/bar
Si quiere ser elegante, primero puede usar el módulo de estadísticas para verificar que foo realmente existe:
- name: stat foo
stat: path=/path/to/foo
register: foo_stat
- name: Move foo to bar
command: mv /path/to/foo /path/to/bar
when: foo_stat.stat.exists
He encontrado útil la opción crea en el módulo de comando. Qué tal esto:
- name: Move foo to bar
command: creates="path/to/bar" mv /path/to/foo /path/to/bar
Solía hacer un enfoque de 2 tareas usando estadísticas como sugiere Bruce P. Ahora hago esto como una tarea con create. Creo que esto es mucho más claro.