Как использовать модуль Salt pkg.installed для установки локальных rpm - PullRequest
0 голосов
/ 13 февраля 2019

У нас есть несколько приложений .rpm, которые мы хотели установить на машины CentOS 6 и 7.Машины не имеют доступа к интернету.Как мы можем написать состояние, которое будет гарантировать, что приложение установлено?Вот мой код:

Install Nessus Agent:
  pkg.installed:
    - name: NessusAgent
    - sources: '[{"NessusAgent": "salt:///root/NessusAgent-7.1.1-es{{ osmajorrelease }}.x86_64.rpm"}]'

Ошибка, которую я получаю при запуске состояния:

     Comment: An exception occurred in this state: Traceback (most recent call last):
                File "/usr/lib/python2.7/site-packages/salt/state.py", line 1913, in call
                  **cdata['kwargs'])
                File "/usr/lib/python2.7/site-packages/salt/loader.py", line 1898, in wrapper
                  return f(*args, **kwargs)
                File "/usr/lib/python2.7/site-packages/salt/states/pkg.py", line 1617, in installed
                  if next(iter(list(x.keys()))) in targets]
              AttributeError: 'unicode' object has no attribute 'keys'

Как правильно установить локальные пакеты rpm с состоянием Salt?

1 Ответ

0 голосов
/ 08 марта 2019

Я заставил его работать, переписав параметр «sources»:

Install Nessus Agent:
  pkg.installed:
    - name: NessusAgent
    - enable: True
    - sources:
      - NessusAgent: salt:///files/nessus/NessusAgent-7.1.1-es7.x86_64.rpm
...