Я работаю над настройкой группы из 40 серверов для управления SaltStack. На данный момент я тестирую только одного миньона, которого я успешно добавил к мастеру. Для простоты я использую последнюю версию salt и salt-minion из репозитория пакетов Ubuntu 14.04.1 на соответствующих машинах.
У меня есть нормальная конфигурация и структура каталогов, однако всякий раз, когда я пытаюсь запустить salt '*' state.highstate
, Я получаю сообщение об ошибке, что верхний файл не соответствует узлам. Если я попробую вручную запустить файл состояния с salt '*' state.sls worker.users
, возникает ошибка, что такого файла не существует. Структура каталогов и файлы представлены ниже.
Есть идеи, почему это не работает?
root@salt-master:/srv/salt# tree /srv/salt
/srv/salt
├── worker
│ └── users.sls
└── top.sls
1 directory, 4 files
root@master:/srv/salt# salt '*' state.highstate
worker-2:
----------
State: - no
Name: states
Function: None
Result: False
Comment: No Top file or external nodes data matches found
Changes:
Summary
------------
Succeeded: 0
Failed: 1
------------
Total: 1
Содержимое соответствующих файлов:
root@master:/srv/salt# cat top.sls
base:
'*':
- worker.users
root@master:/srv/salt# cat worker/users.sls
worker:
user.present:
- fullname: Service Account
- shell: /bin/bash
- home: /home/worker
admin:
user.present:
- fullname: Search Admin Account
- shell: /bin/bash
- home: /home/admin
Корень файла определяется в мастере следующим образом, и я перезапустил все машины:
file_roots:
base:
- /srv/salt
Вообще при отладке state.highstate Ты должен попытаться:
salt
(от мастера)
salt-call
(от миньона)
salt '*' test.ping
- Убедитесь, что миньоны отвечают на пинг (это гарантирует, что служба миньонов работает)dpkg -l salt-minion
на миньоне и dpkg -l salt-master
по мастеру).rm -rm /var/cache/salt/minion/files/base/*
salt-call grains.items
salt-call -l debug state.highstate
- Проверьте, можете ли вы получить дополнительную информацию об ошибке в режиме «отладки»./var/log/salt/minion
.