Этот ответ может быть не совсем правильным во всех технических аспектах, но это то, что решило мою проблему.
Формула соли не библиотека функций.Это, скорее, коллекция файлов состояния.Хотя часто файл состояний может быть очень простым, например, некоторые из моих пользовательских определений
--> top.sls <--
base:
'*':
- docker
--> docker.sls <--
install_docker_1703:
pkgrepo.managed:
# stuff
pkg.installed:
- name: docker-ce
создают файл состояний, такой как
--> swapoff.sls <--
disable_swap:
linux.storage.swap: # and so on
, возможно, это не тот путь.Ну, по крайней мере, может быть, не для новичка с недостатком знаний.
Вместо этого добавьте элемент к top.sls
:
- linux.storage.swap
Однако этого недостаточно.Большинство формул (или файлов состояний внутри них, если хотите) имеют высокую параметризацию, то есть они заполнены заполнителями с именами переменных, такими как {{ swap.device }}
.Если заполнить этот пробел нечем, то состояние заполнения не сможет ничего сделать.Эти пробелы заполняются из столбов .
Все, что остается, - это создать файл типа swap.sls
в /srv/pillar/
, который будет содержать что-то вроде (согласно примерам этой формулы)
linux:
storage:
enabled: true
swap:
file:
enabled: true
engine: file
device: /swapfile
size: 1024
, а также /srv/pillar/top.sls
с
base:
'*':
- swap
Возможно, /srv/pillar
также следует включить в pillar_roots
в /etc/salt/master
.
Так что теперь /srv/salt/top.sls
запускает /srv/formulas/salt-formula-linux/linux/storage/swap.sls
, который, используя указания /srv/pillar/top.sls
, извлекает некоторые параметры из /srv/pillar/swap.sls
и включает файл подкачки.