
Vadim
27.03.2018
16:03:21

Dok
27.03.2018
16:03:49

here1am
27.03.2018
16:04:20
ладно, у меня ещё вопрос. я хочу сделать так: у меня есть некий дефолтный темплейт с конфигом условного нжинкса, я его заливаю как обычно. но я хочу, чтобы копировался другой темплейт, если вдруг есть такой, с доменом в названии. что-то типа
- template:
src: '{{ item.domain | default(common) }}.j2'
...
только чтобы проверялась не переменная, а наличие сурс-файла. такое возможно?

Алексей
27.03.2018
16:04:22
господа а кто нить знает как в телеге можно игнорить одного челоека ?

Google

Nikolay
27.03.2018
16:04:30

Dok
27.03.2018
16:04:30
Да и если нейм убрать, то будет орать на темплейт

Алексей
27.03.2018
16:04:33
в irc был можно

Dok
27.03.2018
16:05:10

Vadim
27.03.2018
16:05:19

Алексей
27.03.2018
16:05:40
это только перс. а что бы в канале было не видно что пишет :) ?

Vadim
27.03.2018
16:06:06

Алексей
27.03.2018
16:06:30

Vadim
27.03.2018
16:06:52
рекомендую отдельный монитор сразу, не повторяй моих ошибок

Алексей
27.03.2018
16:08:34
ты ведь точно знаешь какие там файлы есть

here1am
27.03.2018
16:09:22
но я не хочу городить сложные условия в роли

Roman
27.03.2018
16:09:23
как вариант, хранить данные для ротации в самих файлах logrotate, а не в кронтабе @Dok2d резко чат улетел, не заметил

Google

Алексей
27.03.2018
16:09:50

here1am
27.03.2018
16:10:52

Dok
27.03.2018
16:10:56

Vadim
27.03.2018
16:11:04

Алексей
27.03.2018
16:11:07

here1am
27.03.2018
16:11:36

Алексей
27.03.2018
16:11:46
но так всё равно плохо.

here1am
27.03.2018
16:12:13
чем чревато кроме неэлегантности?

Vadim
27.03.2018
16:13:23

Алексей
27.03.2018
20:06:05
users.d и вот это всё

Ievgen
27.03.2018
20:09:48
мм нет не пилил
не особо надо пока по крайней мере
но кстати раскопал вот еще

Алексей
27.03.2018
20:10:20
у тя там кластеров 100500 неужели юзеры все линейно описаны

Ievgen
27.03.2018
20:10:22
https://github.com/golang-migrate/migrate
кластеров не 100500, но потенциально может быть N, люблю просто заранее напилить

Алексей
27.03.2018
20:12:19
а я столкнулся что надо запиливать поддержку users.d и чот мне так все опротивело что решил вдруг ты уже сделал и вдруг поделишься

Ievgen
27.03.2018
20:12:37
мм а юзера откуда?
directory какой то или?

Google

Алексей
27.03.2018
20:13:36
ну по уму надо reusable роль которая на вход будет получать юзера, пароль и ограничения для оного и формировать файлик /etc/clickhouse-server/users.d
ну и два словарика users_present, users_absent
но бе

Ievgen
27.03.2018
20:14:07
мм я в целом пошел по другому пути немного
у меня есть setup.yml для сервиса который содержит dict с конфигами, куда положить итд итп, стандартный
который парсится в начале play
и набор тасков на каждую секцию

Алексей
27.03.2018
20:16:50
есть чо почитать ?

Ievgen
27.03.2018
20:18:30
допустим:
config_files:
- tier: ['all']
consul:
- name: "consul-{{ service }}.json.j2"
dest: "/etc/consul/agent.d/{{ service }}.json"
clickhouse:
- name: "ch.config.xml"
dest: "/etc/clickhouse-server/conf.d/config.xml"
- name: "ch.users.xml"
dest: "/etc/clickhouse-server/conf.d/users.xml"
zoo_template:
- name: "zookeeper.xml.j2"
dest: "/etc/clickhouse-server/conf.d/zookeeper.xml"
service: zookeeper

Алексей
27.03.2018
20:19:19
о. велосипед. люблю такое. продолжай :)

Ievgen
27.03.2018
20:19:37
секций - tier: может бытъ N с похожими сервисами которые допустим отличаются парой файлов
когда парсится сетап мерджатся секции all и конкретный service

Ievgen
27.03.2018
20:21:30
items для конкретного таска выбираются например:
with_items: "{{ config_files|json_query(query) }}"
vars:
query: "[?contains(tier, '{{ service }}') || contains(tier, 'all')].*[][?not_null(dest)]"
а че велосипед?
просто не все умеют прямо в ансибл
людям нужен некий понятный конфиг в известном месте
а так человек добавляет в релевантную секцию что то, дергает wrapper с нужными тегами и ему все деплоится
куда надо

Алексей
27.03.2018
20:25:02
ой а можно всё кучкой?

Ievgen
27.03.2018
20:25:24
в плане?

Google

Алексей
27.03.2018
20:25:31
я кажется идею понял но жажду деталей. :)

Ievgen
27.03.2018
20:25:35
полностью конфиг?

Алексей
27.03.2018
20:25:43
лучше роль ;)

Ievgen
27.03.2018
20:26:21
охм, надо ее как то загенеритъ, ну всмысле подчиститъ от наших пасочек

Андрей
28.03.2018
05:51:16
Кто как удаленно копию файла делает, а? Синхронайз не, копи - тож как то не…

Danila
28.03.2018
05:51:53
Почему нет?

Leonid
28.03.2018
05:53:21
Copy:
backup
Почему нет?)

Андрей
28.03.2018
05:54:01
Копи - эт на мастере надо файл иметь, я хочу просто удаленно скопировать файл

Admin
ERROR: S client not available

hdhog
28.03.2018
05:55:00
у меня как то так.
- name: CentOS | Copy backups
fetch:
src: "{{ item.backup_file }}"
dest: backups/{{ ansible_hostname }}/{{ role_name }}/{{ item.backup_file | dirname }}/{{ item.backup_file | basename }}
flat: yes
notify: remove backups
no_log: yes
when: item.changed == True and item.backup_file is defined and centos_enable_cfg_backups
with_items: "{{ cfg_changes }}"
а в тасках где меняются файлы стоит опция backup: yes и регистрация переменной
собираем все переменные в кучу
- name: CentOS | Set changes
set_fact:
cfg_changes:
- "{{ motd_changed }}"
- "{{ tmux_changed }}"
- "{{ zsh_changed }}"
- "{{ yum_conf_changed }}"

Андрей
28.03.2018
05:56:22
Так ты делаешь фетч

hdhog
28.03.2018
05:56:39
да. чтобы забрать бекап с сервера

Андрей
28.03.2018
05:56:41
А мне все на одной машине надо
Интересно, фетч и делегейт_то че сделает

hdhog
28.03.2018
05:58:01
то есть ты хочешь на локальной машине сделать конфиг сначала а ток потом его копировать?
ну тут можно через local_action
пиши конфиги куда либо локально потом заливай на сервер то что получилось

Андрей
28.03.2018
05:58:37
Нет

Google

Андрей
28.03.2018
05:59:21
Хочу пойти на хост и на нем сделать копию файла. Ssh "cp a.o b.o"
И так на всех хостах

hdhog
28.03.2018
06:00:23
аа
у copy есть параметр remote_src
- name: copy custom rules
copy: remote_src=True src=/etc/mail/spamassassin/scripts/ru_re.cf dest=/etc/mail/spamassassin
listen: custom_rules_changed
вот что ты хочешь

Андрей
28.03.2018
06:01:18
А, да? Не заметил

hdhog
28.03.2018
06:01:31
доки рулят))

Андрей
28.03.2018
06:02:18
Я его в анархиве видел ?

A.nimE
28.03.2018
07:41:16
Всем привет

Dmitry
28.03.2018
07:41:18
Коллеги, не сталкивался ли кто-нибудь с вот таким поведением при попытке fetch любого файла? Плейбук простейший - hosts: routers
gather_facts: no
tasks:
- fetch:
src: "/etc/config/openvpn"
dest: "home/cnc/fetched/"

A.nimE
28.03.2018
07:41:30
не подскажите как прикрутить Foreman?
что то не получяется

Sergey
28.03.2018
07:42:55

Dmitry
28.03.2018
07:44:33

Sergey
28.03.2018
07:45:23
Значит, твоё - модуль raw. Про бОльшую часть остального можно смело забыть.

Dmitry
28.03.2018
07:46:55

Sergey
28.03.2018
07:47:42
Ты же хочешь ансибл использовать? Тогда опять же через raw вызывать установку питона, а дальше все пути открыты.

Dmitry
28.03.2018
07:59:53