Что такое * действительно * формула соли? - PullRequest
0 голосов
/ 29 ноября 2018

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

Понятно, что этот вопрос может показаться дубликатом эти вопросы , но из-за того, что я не смог понять основные понятия, я также изо всех сил пытаюсь использовать ответы на эти вопросы.

I думал , что солевая формула - это просто пакет, который реализует дополнительные функции, во многом как

#include <string.h>

в C или

import numpy as np

в Python.Таким образом, я подумал, что мог бы загрузить salt-formula-linux в /srv/formulas/salt-formula-linux/, добавить это к file_roots, перезапустить мастер (все согласно docs ), а затем написатьфайл типа swapoff.sls, содержащий

disable_swap:
  linux:
    storage:
      swap:
        file:
          enabled: False

(приведенное выше несколько похоже на примеры в корне репозитория) в надежде, что формула затем обработает удаление записи подкачки из /etc/fstab и запуск swapoff -a для меня.Излишне говорить, что это не сработало, очевидно, потому что я не понимаю, что такое формула соли.

Итак, что такое формула соли и как ее использовать?Могу ли я использовать его как библиотеку функций?

1 Ответ

0 голосов
/ 30 ноября 2018

Этот ответ может быть не совсем правильным во всех технических аспектах, но это то, что решило мою проблему.

Формула соли не библиотека функций.Это, скорее, коллекция файлов состояния.Хотя часто файл состояний может быть очень простым, например, некоторые из моих пользовательских определений

--> 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 и включает файл подкачки.

...