Size: a a a

2021 September 13

YZ

Yerzhan Zhiyentayev in Saltstack
пробовал так же просто задать пароль для root@localhost - он не меняет auth_socket
источник

PO

Piu Octo in Saltstack
для 5.7 то же самое, написано
источник

PO

Piu Octo in Saltstack
источник

YZ

Yerzhan Zhiyentayev in Saltstack
так прикол в том что я connection args же задал, а они не работают
источник

YZ

Yerzhan Zhiyentayev in Saltstack
В общем сделал примерно как в ансиболи. буду_проституткой.jpg
/etc/mysql/reset.sql:
 file.managed:
   - source: salt://{{ tpldir }}/templates/reset.sql.j2
   - user: root
   - group: root
   - mode: 444
   - template: jinja
   - context:
       password: {{ percona['users']['root'] }}

mysql root password is set:
 cmd.run:
   - name: mysql mysql < /etc/mysql/reset.sql
   - runas: root
   - onchanges:
       - file: /etc/mysql/reset.sql
   - require:
       - file: /etc/mysql/reset.sql

/root/.my.cnf:
 file.managed:
   - source: salt://{{ tpldir }}/templates/client.cnf.j2
   - user: root
   - group: root
   - mode: 644
   - template: jinja
   - context:
       password: {{ percona['users']['root'] }}
   - require:
       - cmd: 'mysql root password is set'
источник

KL

Kostiantyn Lysenko in Saltstack
О, спасибо, пригодится.
источник

KL

Kostiantyn Lysenko in Saltstack
Я раньше на chef писал, скверна проникла слишком глубоко, даже пишу еретический код на руби не вздрагивая.
источник

KP

Kirill Proskurin in Saltstack
Вот такие sls id я крайне не рекомендую использовать: "mysql root password is set"

ID прям лучший указатель на логику. Когда у нас что-то падает и я хочу посмотреть что там за код я грепаю именно ID и так как ID всегда уникальное то сразу нахожу нужный кусок. Грепать вот такую строку как выше это мучение.

Я так же крайне не рекомендую использовать sls id как аргумент name:
/root/.my.cnf:
 file.managed:
   - source: salt://{{ tpldir }}/templates/client.cnf.j2

Я искренне не понимаю нахрена так вообще разрешили делать.
У нас бы это было что-то типа:

formula.mysql.configs.my.cnf:
 file.managed:
   - name: /root/.my.cnf
   - source: salt://{{ tpldir }}/templates/client.cnf.j2

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

KP

Kirill Proskurin in Saltstack
ну и под десятью метрами болота конечно sls id на русском и с пробелами
источник

R

Roman in Saltstack
Поддерживаю все выше написанное про имена для ID и не использование name в качестве ID

Я когда увидел именование типа formulaName-path-slsfile-slsmodule-modulefunction пример см. тут https://github.com/saltstack-formulas/template-formula/blob/master/TEMPLATE/service/clean.sls#L8
сначала решил, что за фигня длинная, но потом проникся и оценил, теперь использую подобное и сам.
Правда сам использую иной вариант formulaName_pathTo_slsfile_meaningfull_string
источник

KP

Kirill Proskurin in Saltstack
я свой формат тоже стырил из выступления 2016 кажется года про Mesos на соли. Очень кстати крутое выступление и то как они используют соль.

У нас все оркестрации начинаются  с orch.NAME все формулы с formula.NAME

внутри формул одинаковая структура типа инклюды install.sls, configs.sls и тд

и внутри них соответвенно id вида
formula.NAME.INCLUDE_NAME.ID_NAME

и тд

Сразу все четко и понятно
источник

AA

Andrew Avdeev in Saltstack
источник
2021 September 14

AA

Andrey A in Saltstack
https://docs.saltproject.io/en/latest/ref/configuration/master.html#cachedir
https://docs.saltproject.io/en/latest/ref/configuration/master.html#minion-data-cache
правильно понимаю, что minion_data_cache является частью cachedir в дефолтном варианте?
Хочется организовать пару мастеров, к первому мастеру будут подключены все минионы, ко второму - только часть. Вторым мастером предполагается управлять только частью инфры, но для работы некоторых стейтов нужно "знание"
обо всей инфре (например настройка iptables).В тестовом варианте в лоб скопировали cachedir c первого мастера на второй, и такие стейты (которые требуют инфу обо всей инфре) начали работать корректно.
Правильно понимаю, что если minion_data_cache вынести куда-то во внешнее хранилище
(https://docs.saltproject.io/en/latest/ref/cache/all/index.html#all-salt-cache),
то первый мастер в свой cachedir станет писать что-то частично, часть (касательно минионов) будет отправлять во вне; на втором мастере подключаем также этот remote minion_data_cache, а cachedir оставляем своим, то теперь получится, что второй мастер получит инфу обо всех минионах?
источник

TL

Timofey Larkin in Saltstack
Я правильно понимаю, что на миньонах никакие порты не открываются, и только миньоны коннектятся к мастеру?
источник

GG

George Gaál in Saltstack
Да
источник

TL

Timofey Larkin in Saltstack
благодарю
источник

s

sam in Saltstack
о
источник

s

sam in Saltstack
вас то не хватало
источник
2021 September 15

AC

Alexander 😼 Chistyak... in Saltstack
Привет, коллеги
У меня есть пара sls файлов, в которых описан стейт, который я хочу параметризировать
Все было бы нормально, если бы у нас в окружении нормально работали энвы - я бы сделал по пиллар файлу на энв, но это не тот случай
В общем, я хочу как-то параметризовать включение sls файла
Как бы такое сделать?
Конкретнее:

 'preprod.*':
   - match: pcre
   - base: mystate (и оно мне делает препрод)

 'prod.*':
   - match: pcre
   - base: mystate (и оно мне делает прод)

Я, навскидку, вижу несколько вариантов, но все они такие себе - записывать что-то в грейны и прочие локальные конфиги на миньоны, нафиг надо
Можно это как-то прямо через стейты/пиллар в репе нарулить?
источник

GG

George Gaál in Saltstack
ты можешь внутри стейт файла сделать большой джинджа иф на предмет наличия пиллара кмк
источник