Задний план: Я работал над настройкой соляной среды и дошел до точки, когда я хочу распространять не только файлы, но и каталоги. Я обнаружил, что наиболее разумный способ сделать это - поместить каталог, в который я хочу скопировать /srv/salt/path_to_dir
на мастере, а затем используйте cp.get_dir команда распространять его.
Что я наделал: Чтобы проверить настройку и команду, которую я создал /srv/salt/tmp/foo
и поместил в него два файла. Затем, когда я запускаю команду salt minion_name cp.get_dir salt://tmp/foo /tmp/foo
на мастере есть одна строка вывода, которая читает точно minion_name:
. Несколько странно, что нет вывода, кроме имени миньона, даже ошибки, но хорошо, я иду проверить миньона, чтобы узнать, не произошло ли что-нибудь.
На миньоне не оказалось в /tmp/
, и в /etc/salt/
или /var/cache/salt/
либо. я зарегистрировалась /var/log/salt/minion
, но нет ничего, кроме моих часовых попыток выяснить, почему я не могу использовать file.copy
с рекурсией, установленной в true для распространения файлов.
Мои вопросы): Есть ли что-нибудь очевидное, что я сделал не так? Согласно документации, я обнаружил, что то, что я сделал, должно работать. Кажется, тоже нет вывода ошибок. Стоит ли мне попробовать использовать другую команду или подход для распределения папок с содержимым из мастера через соль?
Дополнительная информация: И мастер, и все миньоны являются системами Debian. Установленные версии соли salt 2014.1.3 (Hydrogen)
на хозяине и salt-minion 0.17.5
и salt-minion 2015.5.3
на миньонах, с которыми я пробовал этот подход.
Я не уверен, как вы можете сделать это с помощью модулей, я пробовал те же самые, что и вы, и получил те же результаты, поэтому, возможно, это ошибка, но если вы хотите настроить состояние sls, вы можете использовать функцию file.recurse, это выглядит так:
в качестве ссылки я использую:
/srv/salt/test1/init.sls
как мой файл sls,test1
это src каталог testdir
/test
init.sls
/test:
file.recurse:
- source: salt://test1/testdir
- include_empty: True
с этого момента вы можете
salt '<targetmachine>' state.sls test1