Что именно не срабатывает? Видимо вылезает ошибка? Тогда показывайте output команды (как вариант с ключем -vvv)
И раз уж это play, то еще добавьте параметры самого плея, а не только один таск.
> при добавлении параметров
Каких параметров? В угадайку играть?
Поскольку деталей вы так и не написали, то отправлю вас читать ман. docs.ansible.com/ansible/copy_module.html
По умолчанию модуль copy копирует с текущей машины на удаленный хост. Отсюда, возможно, ошибка "does not exist, or is not readable"
Если видите "Remote copy does not support recursive copy of directory", значит добавили опцию remote_src, о которой умолчали. Опять таки черным по белому.
Читайте документацию к модулю и опциям которые используете.
Дмитрий: When doing a recursive copy set the mode for the directories. If this is not set we will use the system defaults. The mode is only set on directories which are newly created, and will not affect those that already existed.
это про directory_mode в приведенной вами ссылке. И там нет ни слова про права.
И там же написано: Currently remote_src does not support recursive copying. Вот почему "Remote copy does not support recursive copy of directory". Видимо, придется копировать с помощью - command: cp -r
Видимо вам стоит разобраться с модулем, а не изобретать велосипед.
---
- name: test
hosts: localhost
connection: local
tasks:
- name: test
copy: src="/tmp/test1/" dest="/tmp/test2/"
...
Мика Слепинин: >А если у вас там будет несколько подпапок, и все это на удаленном, а не локальном хосте?
hosts: localhost и connection: local это всего лишь способ коннекта к "удпаленному хосту"
>У меня упорно "Remote copy does not support recursive copy of directory"
Да, потому что оно не поддерживается. (кстати опции recursive официально не существует)
Вы так и не объяснили чего вы хотите добиться.
Если копировать с локального на удаленный, то достаточно src+dest.
Если же операции копирования на удаленном, то нужно искать другой варинт.
1) модуль command, как вы сами написали
2) find+register, затем copy+with_items
3) симлинки
4) заархивировать + разархивировать
Вообще ансибл это про взаимодействия между двумя хостами, для всего остального существуетвуют raw/shell/command.
Дмитрий: у меня есть несколько виртуалок, и одна - для управления ими всеми, на ней стоит jenkins и ansible. Идея как раз в том, чтобы с этой виртуалки управлять всеми остальными. В любом случае спасибо, буду использовать command.