Соль config.get не возвращает статус установки пакета

Я установил nodejs на мой соляной миньон (Centos 6.6) с помощью init.sls как,

manager-requirements:
  pkg.latest:
    - pkgs:
      - nodejs    

На миньоне, nodejs установлен, и я могу использовать его.

Когда я бегу config.get на salt-master чтобы получить статус установки, он возвращает пустые записи.

salt '*' config.get pkg:nodejs

возвращается,

Minion-host-name:

Я ожидал состояние установки nodejs как True в возвращаемом значении, но его там нет.

Является config.get правильный интерфейс, чтобы узнать об установленных пакетах в миньонах?

1 ответ

Решение

salt.modules.config о состоянии соли миньона / мастера, вы хотите salt.modules.pkg

salt '*' pkg.version nodejs python ruby    
salt '*' pkg.install nodejs
salt '*' pkg.install pkgs='["nodejs","python", "ruby"]'

Полные документы находятся в специальном модуле упаковщика: apt, yum, brew, pacman, pkgng, pkgin, ips и т. Д.

Вместо того, чтобы просить соль описать состояние системы ("Установлен ли пакет nodejs") или сделать что-то ("Установить пакет nodejs."), Предпочтительная идиома соли, вероятно, заключается в проверке или применении файла состояния или отдельного рассматриваемого состояния (что угодно /init.sls) с state.sls

salt '*' state.sls whatever test=true           # does a dry run
salt '*' state.sls whatever                     # actually applies the state
salt '*' state.sls_id state_name whatever       # single state from whatever/init.sls

Но, честно говоря, быстрая и грязная проверка работоспособности с помощью cmd.run часто побеждает:

salt '*' cmd.run "node --version"
salt '*' cmd.run "dpkg -l |grep salt-minion""
Другие вопросы по тегам