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

соль 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 правильный интерфейс, чтобы узнать об установленных пакетах в миньонах?

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

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

Полные документы находятся в специальном модуле упаковщика: подходящий, ням, заваривать, Пакман, 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""