Igor
Я говорил про названия пакетов в пределах одной ветки
Andrey
с 8.111 до 8.112?
с 8.111 на 8.121 и потом на 8.131 и так далее. а в чем дело?! сначала обновляется билд ферма с тестами. если падает - девелоперы код адаптируют
Andrey
Alf 🙀
Как только вашим девелоперам и продактам надоест что из-за какого-то то дятла обновляется джва на сервере и после этого все падает они к вам придут и спросят, малой а зачем ты это делаешь?
Alf 🙀
Вообще конечно как только версию продукта/окружения начинают определять люди которые не делают сам продукт непосредственно это очень занятно.
Andrey
а обновлять яву мы обязаны, так как никаким другим способом устранить уязвимости которые в ней находят мы не можем. а за то что мы не обновляемся не реже раза в месяц нас PCIDSS аудитор по голове не погладит
Igor
Как только вашим девелоперам и продактам надоест что из-за какого-то то дятла обновляется джва на сервере и после этого все падает они к вам придут и спросят, малой а зачем ты это делаешь?
Дятлам, которые не могут писать софт, который работает в пределах одной ветки, делать в софтдеве нечего. А жава должна обновлятся.
Andrey
Дятлам, которые не могут писать софт, который работает в пределах одной ветки, делать в софтдеве нечего. А жава должна обновлятся.
ну скажем если бы мы говорили о 6 яве я бы с вами не согласился - там ещё SUN много чего внутри мажора меняли. но начиная с 7ой, а тем более с 8ой, явы ситуация поменялась в этом плане в лучшую сторону.
Igor
правда, обновлял я openjdk
Andrey
следили за изменениями скорее. но да - это возможно. важно понимать что это стоит денег и что на это стоит тратить деньги.
Andrey
O'Reilly планирует выпуск Ansible: Up & Running. 2nd edition.
Andrey
2017 Aug
Andrey
http://shop.oreilly.com/product/0636920065500.do
hackru
2017 Aug
это еще дожить надо
hackru
и не забыть!
Andrey
или заранее купить
hackru
нельзя заранее скачать с торрента
Alexey
hackru
ну так это ж первая редакция небось
Alexey
да 15
hackru
в 15-м у многих тут еще лысины не было
Pavel
народ, есть такая задачка: есть 2 хоста (например host1 и host2), надо с одного на другой передать файлик (приватный ключ), связи между ними нет (то есть нельзя просто так взять и скачать), как можно сделать?
zelo
cat & paste
Alexey
через git?
Maxim
scp -3 :D
Pavel
и как это все поможет в плейбуке?
Alf 🙀
на втором хосте ты генерищь файлик ансиблом?
Pavel
на втором хосте ты генерищь файлик ансиблом?
его там установочный скрипт генерит
Alf 🙀
установочный скрипт запускает ансибл?
Alf 🙀
точнее так ты ансиблом можешь из этого файлика вычитать, положить в факт?
Alf 🙀
и прочитать из факта с другой ноды например
Pavel
и прочитать из факта с другой ноды например
точняк, а у уже хотел делегейт лосалхост делать и локально scp с хост1 на хост2
Alf 🙀
читать можешь slurp он все в b64encode засовывает, так что хоть какая никакая safety...
Pavel
читать можешь slurp он все в b64encode засовывает, так что хоть какая никакая safety...
спасибо, но аолучается все равно надо вызывать delegate_to: "{{ host2 }" загонять файл в переменную, а потом из переменной в файл на host1... наверное проще сделать local_action: csp -3 user2@host2:path-to-file user1@host1:path-to-file как и предлагалось выше
Anonymous
Нубский вопрос: а как в анзибле канонично использовать наследование словарей?
Anonymous
допустим есть у меня некая *_network, определенная в group_vars/all. Нужно чтобы для каждого хоста был определен *_network.ip и впихнут в шаблон :)
Anonymous
про hash_behaviour=merge знаю, просто его не рекомендуют использовать
Dima
я определяю такое в hostvars, прямо в inventory пишу server_special_ip=11.22.33.44
Dima
специально делаю, чтобы не усложнять. потом переменная {{ server_special_ip }} подставляется мне в зависимости от хоста
Dima
ещё есть примеров вот тут: http://docs.ansible.com/ansible/faq.html#when-should-i-use-also-how-to-interpolate-variables-or-dynamic-variable-names
Anonymous
Another rule is ‘moustaches don’t stack’. аааа!!!
Anonymous
как перестать орать и начать работать
Anonymous
не, мне надо тупо статически
Elinka22
До anisble 2 я использовал свой модуль, после - он поддерживает merge хешей
Elinka22
- debug: msg="{{ item.key }} = {{ item.value }}" with_dict: "{{ my_default_values | combine(my_values) }}"
Anonymous
Anonymous
аа, вот так
Anonymous
а если мне надо одновременно with_items и скомбинировать переменные? (например настроить кучу VLAN-ов)
Sergey
а если мне надо одновременно with_items и скомбинировать переменные? (например настроить кучу VLAN-ов)
можно страдать, а можно широко использовать соотетствующий функционал ансибла (http://docs.ansible.com/ansible/playbooks_filters_ipaddr.html)
Sergey
там же один фиг беготня по VLAN и адресам/маскам
Anonymous
там же один фиг беготня по VLAN и адресам/маскам
а это здесь при чем? мне просто хотелось в одном словаре передать скомбинированные параметры сети в шаблоны для ifcfg-* примерно так: - name: Configure network template: <кусь!> with_items: - service_network - public_network - ...
Sergey
include_vars не?...
Sergey
ну и опять же с точки зрения inventory все параметры должны быть известны, то есть этой конструкции прямой путь в inventory group vars
Sergey
...если вспомнить, что 1 inventory = 1 самодостаточное окружение
Dima
а это здесь при чем? мне просто хотелось в одном словаре передать скомбинированные параметры сети в шаблоны для ifcfg-* примерно так: - name: Configure network template: <кусь!> with_items: - service_network - public_network - ...
у меня такой пример есть прям в проде, я тупо завел vars.yml и туда положил имена файлов в переменные. а в темплейте у меня подставляется имя файла.
Dima
ну и на одни узлы одни темплейты катятся, на другие - другие. это уже в hosts определяется. там не так много логики чтобы делать три этажа.
Anonymous
хм, ну ок
Dima
а это здесь при чем? мне просто хотелось в одном словаре передать скомбинированные параметры сети в шаблоны для 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
Филосовский вопрос: почему все девопс инструменты так не приспособлены к костылям? У них у всех идеальный дизайн с бест практиками, что имя только их хуй что сделаешь, и приходится обкладываться двойными и тройными костылями чтобы как-то решить задачу. Это касается что Ansible что Terraform (по моим наблюдениям)
Dmitrii
Может нужен просто инструмент, который соберет все костыльные практики и тогда заживем?)
Pavel
Ну ансиболь и терраформ врядли являются всеми девопс инструментами
Max
мне всегда казалось, что отсутствие костылей, это то, к чему нужно стремиться...
Pavel
Но так как область молодая и довольно сложная, опыта еще наработано мало, то все предпочитают описать только популярные 100% кейсы и запретить все остальное. Иначе будет очень сложно разрабатывать продукт.
Max
опять же никто не запрещает навелосипедить свой модуль
Pavel
не всегда
может подход изначально неправильный
Max
костылять приходится когда подобие теряется