@pro_ansible

Страница 213 из 625
Anatoly
29.05.2017
09:29:30
на втором хосте ты генерищь файлик ансиблом?

Pavel
29.05.2017
09:32:16
на втором хосте ты генерищь файлик ансиблом?
его там установочный скрипт генерит

Anatoly
29.05.2017
09:32:54
установочный скрипт запускает ансибл?

Google
Anatoly
29.05.2017
09:33:22
точнее так ты ансиблом можешь из этого файлика вычитать, положить в факт?

и прочитать из факта с другой ноды например

Pavel
29.05.2017
09:34:46
и прочитать из факта с другой ноды например
точняк, а у уже хотел делегейт лосалхост делать и локально scp с хост1 на хост2

Anatoly
29.05.2017
09:36:44
читать можешь slurp он все в b64encode засовывает, так что хоть какая никакая safety...

Pavel
29.05.2017
09:54:51
читать можешь slurp он все в b64encode засовывает, так что хоть какая никакая safety...
спасибо, но аолучается все равно надо вызывать delegate_to: "{{ host2 }" загонять файл в переменную, а потом из переменной в файл на host1... наверное проще сделать local_action: csp -3 user2@host2:path-to-file user1@host1:path-to-file как и предлагалось выше

Wild One
29.05.2017
11:27:56
Нубский вопрос: а как в анзибле канонично использовать наследование словарей?

допустим есть у меня некая *_network, определенная в group_vars/all. Нужно чтобы для каждого хоста был определен *_network.ip и впихнут в шаблон :)

про hash_behaviour=merge знаю, просто его не рекомендуют использовать

lastsky
29.05.2017
11:29:19
я определяю такое в hostvars, прямо в inventory пишу server_special_ip=11.22.33.44

специально делаю, чтобы не усложнять. потом переменная {{ server_special_ip }} подставляется мне в зависимости от хоста

ещё есть примеров вот тут: http://docs.ansible.com/ansible/faq.html#when-should-i-use-also-how-to-interpolate-variables-or-dynamic-variable-names

Google
Wild One
29.05.2017
11:34:17
Another rule is ‘moustaches don’t stack’. аааа!!!

как перестать орать и начать работать

Wild One
29.05.2017
11:36:29
не, мне надо тупо статически

Павел
29.05.2017
11:39:22
До anisble 2 я использовал свой модуль, после - он поддерживает merge хешей

- debug: msg="{{ item.key }} = {{ item.value }}" with_dict: "{{ my_default_values | combine(my_values) }}"

Wild One
29.05.2017
11:44:11
аа, вот так

а если мне надо одновременно with_items и скомбинировать переменные? (например настроить кучу VLAN-ов)

Sergey
29.05.2017
11:49:57
а если мне надо одновременно with_items и скомбинировать переменные? (например настроить кучу VLAN-ов)
можно страдать, а можно широко использовать соотетствующий функционал ансибла (http://docs.ansible.com/ansible/playbooks_filters_ipaddr.html)

там же один фиг беготня по VLAN и адресам/маскам

Wild One
29.05.2017
11:51:45
там же один фиг беготня по VLAN и адресам/маскам
а это здесь при чем? мне просто хотелось в одном словаре передать скомбинированные параметры сети в шаблоны для ifcfg-* примерно так: - name: Configure network template: <кусь!> with_items: - service_network - public_network - ...

Sergey
29.05.2017
11:52:46
include_vars не?...

ну и опять же с точки зрения inventory все параметры должны быть известны, то есть этой конструкции прямой путь в inventory group vars

...если вспомнить, что 1 inventory = 1 самодостаточное окружение

lastsky
29.05.2017
12:08:48
а это здесь при чем? мне просто хотелось в одном словаре передать скомбинированные параметры сети в шаблоны для ifcfg-* примерно так: - name: Configure network template: <кусь!> with_items: - service_network - public_network - ...
у меня такой пример есть прям в проде, я тупо завел vars.yml и туда положил имена файлов в переменные. а в темплейте у меня подставляется имя файла.

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

Wild One
29.05.2017
12:55:30
хм, ну ок

lastsky
29.05.2017
13:16:51
а это здесь при чем? мне просто хотелось в одном словаре передать скомбинированные параметры сети в шаблоны для ifcfg-* примерно так: - name: Configure network template: <кусь!> with_items: - service_network - public_network - ...
в playbook.yml: - name: copy interface scripts template: src=files/etc/sysconfig/network-scripts/{{ item }} dest=/etc/sysconfig/network-scripts/ mode=0644 with_items: - "{{ interfaces_group1 }}" - "{{ interfaces_group2 }}" - "{{ interfaces_group3 }}" <...> в vars.yml: interfaces_group1: - "ifcfg-enp2s0" - "ifcfg-dummy0" <...>

Dmitrii
29.05.2017
14:57:47
Филосовский вопрос: почему все девопс инструменты так не приспособлены к костылям? У них у всех идеальный дизайн с бест практиками, что имя только их хуй что сделаешь, и приходится обкладываться двойными и тройными костылями чтобы как-то решить задачу. Это касается что Ansible что Terraform (по моим наблюдениям)

Google
Dmitrii
29.05.2017
14:58:10
Может нужен просто инструмент, который соберет все костыльные практики и тогда заживем?)

Pavel
29.05.2017
15:01:04
Ну ансиболь и терраформ врядли являются всеми девопс инструментами

Max
29.05.2017
15:01:51
мне всегда казалось, что отсутствие костылей, это то, к чему нужно стремиться...

Pavel
29.05.2017
15:02:05
Но так как область молодая и довольно сложная, опыта еще наработано мало, то все предпочитают описать только популярные 100% кейсы и запретить все остальное. Иначе будет очень сложно разрабатывать продукт.

Pavel
29.05.2017
15:02:28
Max
29.05.2017
15:02:41
опять же никто не запрещает навелосипедить свой модуль

Pavel
29.05.2017
15:03:42
не всегда
может подход изначально неправильный

Max
29.05.2017
15:04:21
костылять приходится когда подобие теряется

а это происходит постоянно

Dmitrii
29.05.2017
15:08:46
Я уже думаю, что стоит открывать DevOps издательство по инструментам DevOps.

Dmitrii
29.05.2017
15:09:06
Тогда это все обретает смысл

Pavel
29.05.2017
15:09:54
Издательство?

Да можно целую науку на этом построить и получить пару премий тьюринга

Алексей
29.05.2017
15:10:14
Издательство?
Издевательство

Pavel
29.05.2017
15:10:31
Ввести devops-алгебру, над множеством SDN ресурсов.

Max
29.05.2017
15:17:24
как нахуячить продакшн на 100500 нод для чайников

скриптгуру за 1 заняттие

Google
Bogdan (SirEdvin)
29.05.2017
15:22:13
как по мне наличие костылей - от нехватки знаний
Или из-за навязанных внешних ограничений. Вот например, blue-green деплой в докер контейнерах без CI системы, прокидуй код в контейнеры, костыляй и страдай.

Max
29.05.2017
15:26:27
блю грин всегда больно

но не везде нужно слава богу

Magistr
29.05.2017
15:32:46
я тут для блю грина узнал про спиннер

Admin
ERROR: S client not available

Pavel
29.05.2017
16:21:23
Это когда ты во время деплоя крутишь на пальце спиннер? Да хипстерская тема сейчас.

Алексей
29.05.2017
16:23:11
А чо спиннер клёва?

Pavel
29.05.2017
16:24:29
Для тех кто в прошлом году вейпил - да

Bogdan (SirEdvin)
29.05.2017
16:33:04
Magistr
29.05.2017
16:34:05
Spinnaker : Global Continuous Delivery http://www.spinnaker.io/

Воь так правильно

Bogdan (SirEdvin)
29.05.2017
19:39:25
Воь так правильно
Хах, мультиклауд, ясно)

Sander
01.06.2017
12:08:54
Всем привет

в ansible есть какой-нибудь helper, для chmod? чтоб выставить нужные мне права для проекта - файлам и папкам.

Alexander
01.06.2017
12:10:16
docs.ansible.com или как его там?

Sander
01.06.2017
12:10:43
я как бы уже смотрел

я бы этот вопрос не писал сейчас

Alex
01.06.2017
12:11:01
и file модуль смотрел?

Sander
01.06.2017
12:11:50
и как мне задать для всех своих файлов права 600 допустим

я вижу только как с одним файлом такое провернуть

Google
Alexander
01.06.2017
12:12:11
recurse

Sander
01.06.2017
12:12:57
то есть задаешь recurse true и выбираешь папку? хмм

Alexander
01.06.2017
12:13:35
recurse=yes state=directory

Sander
01.06.2017
12:13:53
попробую

@kiosaku спасибо за столь быстрый ответ

Alexander
01.06.2017
12:15:58
вопрос вдогонку: поди, надо, чтобы у директорий и у файлов разные chmod были, да?

Sander
01.06.2017
12:16:36
да

файлам одни права, папкам другие

state=file наверное для файлов

Alexander
01.06.2017
12:17:58
recurse только для state=directory работает :)

Igor
01.06.2017
12:18:23
Sander
01.06.2017
12:18:25
блин

папкам 755 файлам 644

Alexander
01.06.2017
12:18:46
если достаточно, чтобы execute bit был на директорию только

Sander
01.06.2017
12:19:14
можно конечно через command:, но хочется все токи сделать все красиво

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