Ansible fileglob: невозможно найти ... в ожидаемых путях - PullRequest
0 голосов
/ 11 апреля 2019

Я пытаюсь использовать 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

Какие ожидаемые пути упоминаются здесь? Я пробовал это с несколькими файловыми глобами, и все они терпят неудачу таким образом, что я пропускаю?

1 Ответ

1 голос
/ 11 апреля 2019

Подключаемые модули поиска Ansible выполняются на локальном компьютере (где вы запускаете Ansible), а не на удаленном.

https://docs.ansible.com/ansible/latest/plugins/lookup.html

LookupПлагины позволяют Ansible получать доступ к данным из внешних источников.Это может включать чтение файловой системы в дополнение к обращению к внешним хранилищам данных и службам.Как и все шаблоны, эти плагины оцениваются на управляющем компьютере Ansible, а не на целевом / удаленном.

...