Какие команды соль выполняет под капотом, чтобы достичь желаемых состояний миньонов? - PullRequest
0 голосов
/ 28 ноября 2018

Правильно или нет, я предполагаю, что для достижения декларативной конфигурации, определенной в файлах *.sls, мастер соли должен выполнить последовательность обязательных команд для каждого миньона.Например, для чего-то вроде

install_docker_1703:
  pkgrepo.managed:
    - humanname: Docker CE Repository
    - name: deb [arch=amd64] https://download.docker.com/linux/ubuntu xenial stable
    - key_url: https://download.docker.com/linux/ubuntu/gpg
    - require_in:
      - pkg: docker-ce
  pkg.installed:
    - name: docker-ce
    - hold: True
    - refresh: True
    - cache_valid_time: 30 # very low value for testing purposes
    - version: '17.03.2*'

выполняется последовательность этих команд

add-apt-repository <docker-repo>
apt-get update
apt-get install docker-ce=17.03.2-xxxxxxx

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

У меня проблемы с отладкой поведения соли.В контексте приведенного выше примера у меня возникают проблемы с проверкой, обновляется ли кэш apt каждый раз, когда я запускаю мастер соли (salt '*' state.apply), или не чаще, чем каждые 30 секунд, или нет вообще.

Как я могу вывести на stdout (или найти в каком-нибудь файле журнала) точную последовательность выполненных команд плюс их соответствующие выводы?

1 Ответ

0 голосов
/ 11 декабря 2018

Подробную команду по миньону можно найти в файле /var/log/salt/minion,
Скорее всего, вам потребуется настроить уровень ведения журнала на DEBUG, достаточно log_level_logfile: debug.В противном случае вы найдете только ошибки / предупреждения.

Отладка поведения: лучше всего проверить источники соли и найти их самостоятельно.Просто существует слишком много ветвей выполнения, учитывая различные условия, в которых работает солевой миньон.

Каждое состояние (модуль состояний) состоит из нескольких вызовов модулей (модулей выполнения).В исполнительных модулях вы найдете команды.Это самый простой способ определения точных команд для данного состояния

...