@pro_ansible

Страница 414 из 625
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
Да и если нейм убрать, то будет орать на темплейт
так ты определись что в этой таске хочешь сделать - template или cron

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

Vadim
27.03.2018
16:06:06
это только перс. а что бы в канале было не видно что пишет :) ?
я перманентным маркером на мониторе закрашиваю. CLOSED WORKSFORME

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

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

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

Google
Алексей
27.03.2018
16:09:50
но я не хочу городить сложные условия в роли
stat: ... register: bla ... when: bla.exists defined and bla.exits

here1am
27.03.2018
16:10:52
stat: ... register: bla ... when: bla.exists defined and bla.exits
но так стат проверяет на удалённом хосте, а мне надо наличие темплейта в самой роли проверить

here1am
27.03.2018
16:11:36
тогда lookup
во, это нравится

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

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

Vadim
27.03.2018
16:13:23
чем чревато кроме неэлегантности?
больше строк, не забыть gather_facts

Алексей
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:45:23
Значит, твоё - модуль raw. Про бОльшую часть остального можно смело забыть.

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

Страница 414 из 625