Я пытаюсь использовать ansible для удаления всех файлов в каталоге, сохраняя при этом каталог. Для этого я использую клавишу with_fileglob
в задаче, чтобы получить все файлы из этого каталога в виде переменных item
. Я создал минимальный пример, который показывает мою проблему здесь:
Vagrantfile:
Vagrant.configure("2") do |config|
config.vm.box = "centos/7"
config.vm.provision :ansible do |ansible|
ansible.limit = "all"
ansible.playbook = "local.yml"
end
end
local.yml:
- name: Test
hosts: all
become: true
tasks:
- name: Test debug
debug:
msg: "{{ item }}"
with_fileglob:
- "/vagrant/*"
Я ожидаю получить отладочное сообщение для каждого файла в каталоге / vagrant - поскольку этот каталог синхронизируется с виртуальной машиной через Vagrant, я должен получить сообщение для Vagrantfile и local.yml. Вместо этого я получаю следующее сбивающее с толку предупреждение:
PLAY [Test] ********************************************************************
TASK [Gathering Facts] *********************************************************
ok: [default]
TASK [Test debug] **************************************************************
[WARNING]: Unable to find '/vagrant' in expected paths (use -vvvvv to see
paths)
PLAY RECAP *********************************************************************
default : ok=1 changed=0 unreachable=0 failed=0
Какие ожидаемые пути упоминаются здесь? Я пробовал это с несколькими файловыми глобами, и все они терпят неудачу таким образом, что я пропускаю?