обновить все пакеты в миньоне, используя состояние - PullRequest
0 голосов
/ 25 июня 2018

Как я могу написать состояние Salt, которое обновит все пакеты, установленные в системе (для лабораторных работ), для centos и ubuntu?

У меня есть upgrades.sls, который имеет следующее:

upgrades:
  pkg.upgrade:
    - name: '*'

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

Состояние «pkg.upgrade» не найдено в SLS «dfars.patching» Причина: «pkg.upgrade» недоступен.

Нужно ли указывать это для centos, затем использовать yum.pkg, а для Ubuntu - apt?

Ответы [ 2 ]

0 голосов
/ 03 июля 2018

Вы получаете ошибку, потому что pkg.upgrade - это исполняющий модуль, вы пытаетесь запустить его из файла состояния.исполнительные модули - это функции, вызываемые солт-командой, и они не могут быть выполнены непосредственно из states.

Однако вы можете использовать module.run , который позволяет исполнительный модуль звонки должны быть сделаны через состояния,

upgrades:
  module.run:
    - pkg.upgrade
    ....

другой способ - использовать что-то из states.pkg, например, states.pkg.uptodate ,

salt.states.pkg.uptodate(name, refresh=False, pkgs=None, **kwargs)

Убедитесь, что система полностью обновлена.

name: Имя не имеет функционального значения и используется только как ссылка для отслеживания

refresh: обновить базу данных пакетов перед проверкой новых обновлений

pkgs: список пакетов для обновления

0 голосов
/ 26 июня 2018

Вы можете использовать pkg.uptodate для этого

update_pkg:
  pkg.uptodate:
    - refresh : True
...