Назад | Перейти на главную страницу

Невозможно запустить salt.highstate

Я работаю над настройкой группы из 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 (от миньона)

Миньон доступен

  • Убедитесь, что у вас нет брандмауэра, порты 4505 и 4506 должны быть открыты для управления. Смотрите также (http://docs.saltstack.com/en/latest/topics/tutorials/firewall.html)
  • salt '*' test.ping - Убедитесь, что миньоны отвечают на пинг (это гарантирует, что служба миньонов работает)

Версии совпадают (рекомендуется)

  • Убедитесь, что версии пакетов minion / master совпадают. Например, в Ubuntu (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.