Использование формул с соляным стеком

Я новичок в соляном стеке и хочу установить postgres, apache или что-то еще, используя формулы соляного стека.

Я скачал репо с git с помощью

git clone https://github.com/saltstack-formulas/apache-formula.git

и

git clone https://github.com/saltstack-formulas/postgres.git

в мой каталог /srv/salt.

После этого я добавил строки

file_roots:
base:
      - /srv/salt
      - /srv/formulas/apache-formula
      - /srv/formulas/postgres

в файле /etc/salt/master.

Затем я создал файл top.sls в папке /srv/salt с содержимым:

include:
   - apache

Чтобы запустить это, я использую

salt '*' state.highstate

и все, что я получаю, это сообщение об ошибке:

xxx.yyyyyyy.com:
----------
      ID: states
Function: no.None
  Result: False
 Comment: No Top file or external nodes data matches found
 Changes:   

Summary
------------
Succeeded: 0
Failed:    1
------------
Total:     1

Что я сделал не так? Я прочитал руководство на http://docs.saltstack.com/en/latest/topics/development/conventions/formulas.html, но это руководство совершенно не помогает!


person Gatschet    schedule 20.08.2014    source источник


Ответы (2)


Вы должны сообщить соли, к кому относится состояние, в файле top.sls:

include:
  - apache

base:
   '*':
       - apache

Обновление: как указывает Utah_Dave, я упустил из виду, что вы добавили формулу в file_roots, вам не нужна директива include. Просто сделайте это:

base:
   '*':
       - apache
person Community    schedule 21.08.2014
comment
Вам не нужен или не нужен раздел включения в файле top.sls. - person Utah_Dave; 04.09.2014

Это может быть бесполезно для вашего конкретного случая, но я обнаружил, что проблема заключалась в том, что я определил свою gitfs_root как подпапку. Это позволило нам структурировать внутреннее репо, чтобы иметь разные подпапки для состояний и столбцов.

Когда я устанавливал свою первую формулу, gitfs_root означало, что ни одна из формул не работает, потому что она искала каждую во вложенной папке.

Вместо этого я переместил конфигурацию в конкретный репо.

До:

gitfs_root: salt

gitfs_remotes:
    - https://github.com/this-is/saltstack-formula
    - https://github.com/internal/salt-repo

После:

# gitfs_root:

gitfs_remotes:
    - https://github.com/this-is/saltstack-formula
    - https://github.com/internal/salt-repo
        - root: salt
person edhgoose    schedule 14.05.2017