Я хочу иметь каталог на моем соляном-мастере, который синхронизируется с мини-телефоном Windows 7, который у меня работает. Я пробовал использовать schedule.present, но у меня было очень мало удачи. Я не уверен, что моя проблема с этим, но я также думаю, что это может быть не лучший способ выполнить мою задачу.Как я могу получить schedule.present для работы в соляной посуде?
Вот что выглядит мое окружение, как:
соль-мастер
OS: CentOS7
версия соли: 2016.3.0
соль-миньон
OS: Ubuntu 14,04
версия соли: 2016.3.0
Вот моя текущая конфигурация:
init.sls
syncFiles:
schedule.present:
- function: /home/user/directory
- seconds: 30
- splay: 10
/home/user/directory:
file.recurse:
- source: salt://source/directory/
Когда я запускаю это, все возвращается успешно, и mirrordirectory
запускается в первый раз, как ожидалось, но не раз в будущем.
Отладочный вывод от миньона - это.
[INFO ] Invalid function: mirrordirectory in scheduled job syncFiles.
Я предполагаю, что мне нужно поставить функцию на миньона, но я не могу найти, что где-нибудь в документации.
Если есть способ сделать это, не помещая функцию на миньона, мне интересно узнать, что это такое, но я хотел бы хотя бы научиться запускать расписания в солятке.
Любая помощь приветствуется.
Side Примечание
В конце концов, это будет в Windows 7 любимца, вместо убунту, я просто пытаюсь получить эту работу первым.
UPDATE 1
Вот что я пытался на основе ответа ниже (и это все еще не работает).
/srv/соль/mirrordirectory/init.СЛС
syncFiles:
schedule.present:
- function: state.sls
- job_args:
- testfile
- seconds: 30
- splay: 10
/srv/salt/testfile.sls
/tmp/foo:
file.recurse:
- source: salt://files
/srv/salt/top.sls
base:
'*':
- mirrordirectory
/SRV/соль/файлы
Этот каталог содержит файлы, которые будут синхронизированные
мастер возвращает все успехи:
myminion:
----------
ID: syncFiles
Function: schedule.present
Result: True
Comment: Job syncFiles in correct state
Started: 16:18:22.290216
Duration: 140.989 ms
Changes:
Summary for myminion
------------
Succeeded: 1
Failed: 0
------------
Total states run: 1
отладки на миньона показывает проблему:
[DEBUG ] Sending event - data = {'fun_args': ['testfile'], 'jid': 'req', 'return': ["No matching sls found for 'testfile' in env 'base'"], 'retcode': 1, 'success': True, 'schedule': 'syncFiles', 'cmd': '_return', 'pid': 24448, '_stamp': '2016-06-15T21:19:57.928894', 'fun': 'state.sls', 'id': 'myminion'}
[DEBUG ] Handling event tag '__schedule_return'
[INFO ] Returning information for job: req
Эта линия, кажется, проблема ["No matching sls found for 'testfile' in env 'base'"]
, Любая идея, почему он не может найти файл?
UPDATE 2
/и т.д./соль/мастер
interface: 192.168.0.1
user: salt
Это только две строки в моем файле мастер конфигурации. Я хотел протестировать работу как пользователь, отличный от root, и все работало нормально после того, как я изменил некоторые права доступа к файлам. Может, в этом и проблема ... может, я что-то пропустил.
Я только что попробовал точно такие же конфитюры, и это сработало как прелесть для меня. Я подозреваю, что может возникнуть проблема с вашей конфигурацией солевого мастера. Вы каким-либо образом изменили его по умолчанию? Можете ли вы вставить его здесь? – alexK
Единственное, что я изменил, это '' 'user: root'''' '' user: salt'''. Я вставлю свой файл конфигурации в вопрос. Еще раз спасибо за помощь. – trueCamelType
На всякий случай это вызвало проблему, я достал пользователь: root line, и он снова запущен как root. Это, похоже, не помогло. – trueCamelType