Как отличить исходный путь от удаленного в пользовательском модуле Ansible - PullRequest
0 голосов
/ 26 октября 2018

Насколько я понимаю, модули Ansible выполняются на удаленной машине.Поэтому я думаю, что для доступа к файлам на удаленной машине я бы просто использовал стандартный ввод / вывод Python.Мне интересно, как я могу получить доступ к файлам на исходном компьютере во время пользовательского модуля Ansible.Я просмотрел модуль копирования так же, как и другие, но не могу найти "магию", которая допускает нечто подобное.Ни в коем случае не похоже, что файл действительно переходит хосты.

1 Ответ

0 голосов
/ 27 октября 2018

Насколько я понимаю, модули Ansible выполняются на удаленной машине. Поэтому я думаю, что для доступа к файлам на удаленной машине я бы просто использовал стандартный ввод / вывод Python.

Это верно. Модули выполняются на удаленном хосте. Выполнение поисков на управляющем хосте.

Мне любопытно, как я могу получить доступ к файлам на исходном компьютере во время пользовательского модуля Ansible.

Вы не можете. Ваш модуль работает на удаленной машине и не иметь доступ к локальным файлам. Вы бы либо использовали copy, либо template задача переместить файл в удаленную систему перед запуском ваш модуль, или вы передали бы content в качестве аргумента вашему модуль.

Я просмотрел модуль копирования так же, как и другие ...

Механизм copy представляет собой плагин действия . Реализация здесь . Я бы не советовал вам пытаться реализовать новую функцию, используя этот механизм; вместо этого полагайтесь на другие задачи для перемещения файлов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...