Asten
Не нравится отсутствие полиси у бубны
Это не относиться ко всем пакетам. У всех свои дистрибутивов свои погремушки. Много хорошего софта вообще не иммет официальных сборок. Или старые как мамонт
Aleksey
да
Aleksey
ну или процедура приемки в оф репы настолько сложна и забюрократизирована что народ на нее кладет болт
Asten
причин не знаю, но пакетов нет. Примеры: consul, prometheus и тд
Asten
проще самому их собрать, что мы и делаем собственно
Aleksey
причин не знаю, но пакетов нет. Примеры: consul, prometheus и тд
эти то правы. они просто хотят что бы за них кто то маинтейнел
Asten
поддержкой своих реп тоже не любят морочиться
Vadim
Коммунити к таким пакетам не подпускают
Asten
прикалываешься? а unit для systemd? а описать куда что положить? и так далее
Asten
и начинали вообще про nginx)
Asten
ну и не делать же это все руками каждый раз или писать в ансибл. автосборку настроил через fpm и забыл об этом
Asten
версию только бампай
Asten
в общем каждый сам решает как городить)
Asten
я бы понял если билдили по старинке описывая спеки и вот это все
Huan
привет всем. подскажите как из hosts плейбука взять список хостов в шаблоне?
Huan
к примеру: - hosts: host[1:3].example.com результат темплейта: servers: host1.example.com, host2.example.com, host3.example.com
Aleksei
Ты об этом?
Huan
playbook.yml: --- - hosts: host[1:3].example.com roles: - { role: role, tags: tag } template.conf.j2: ... listeners={% for v in вот_тут_какая_то_переменная %}PLAINTEXT{{ loop.index }}-{{ вот_тут_какая_то_переменная }}{% if not loop.last %}, {% endif %}{% endfor %} .... как-то так
Nklya
Я вот так раскрывал через запятую содержимое группы. Для твоего странного примера наверно не подойдет. {% for h in groups['group'] -%} list={{hostvars[h]['ansible_host']}}{{ "," if not loop.last else "\n"}} {%- endfor %}
Huan
а есть группа одна для всех хостов?
Huan
в итоге надо получить строку listeners=PLAINTEXT1:host1.example.com, PLAINTEXT2:host2.example.com, PLAINTEXT3:host3.example.com
Mikhail
{{ inventory_hostname }} ?
Huan
listeners={% for v in "{{ inventory_hostname }}" %}PLAINTEXT{{ loop.index }}:{{ inventory_hostname }}{% if not loop.last %}, {% endif %}{% endfor %} получается: listeners=PLAINTEXT1:localhost, PLAINTEXT2:localhost, PLAINTEXT3:localhost, PLAINTEXT4:localhost, PLAINTEXT5:localhost, PLAINTEXT6:localhost, PLAINTEXT7:localhost, PLAINTEXT8:localhost, PLAINTEXT9:localhost, PLAINTEXT10:localhost, PLAINTEXT11:localhost, PLAINTEXT12:localhost, PLAINTEXT13:localhost, PLAINTEXT14:localhost, PLAINTEXT15:localhost, PLAINTEXT16:localhost, PLAINTEXT17:localhost, PLAINTEXT18:localhost, PLAINTEXT19:localhost, PLAINTEXT20:localhost, PLAINTEXT21:localhost, PLAINTEXT22:localhost, PLAINTEXT23:localhost, PLAINTEXT24:localhost
Huan
))
Huan
опечатка. я имел ввиду если одна группа на всех, но плейбук нужно только на несколько хостов разлить
Huan
возможно ли такое?
brestows
Запускай любой playbook через ключ -i "192.168.1.5,192.168.5.5,"
brestows
Запятая в конце после последнего хотя обязаткльна
Huan
это я понимаю. но не генерится конфиг по шаблону(
Huan
подскажите, а hostvars все переменные перекрывает group_vars или только те, которые указаны в hostvars?
Sergey
"Перекрываться" могут только одинаково называющиеся переменные, разумеется.
Anonymous
Привет, что такое ansible&
Neff
Kirya
Доброе утро всем
Kirya
помогите, не могу вытащить данные из переменной зарегестрированной в тасках
Vyacheslav
Через set_fact?
Kirya
# cat roles/handlerstest/tasks/main.yml - name: Ping shell: ping {{ item.ip }} -c 1 register: ping_result notify: - debugging with_items: - { ip: 10.10.10.1 } - { ip: 10.10.10.2 } # cat roles/handlerstest/handlers/main.yml —- - name: debugging debug: var=item with_items: ping_result.results # ansible-playbook handlerstest.yml PLAY [testhost] ************************************************************************************************************************************************* TASK [handlerstest : Ping] ***************************************************************************************************************************************** changed: [testhost] => (item={u'ip': u'10.10.10.1'}) changed: [testhost] => (item={u'ip': u'10.10.10.2'}) RUNNING HANDLER [handlerstest : debugging] ************************************************************************************************************************* ok: [testhost] => (item=ping_result.results) => { "changed": false, "item": "ping_result.results" } PLAY RECAP ********************************************************************************************************************************************************* testhost : ok=2 changed=1 unreachable=0 failed=0
Kirya
если обращаться, напрямую, а не через loop with_items, то показывает
Kirya
--- - name: debugging debug: var=ping_result.results[0].item.ip
Kirya
вот так
Vyacheslav
Вместо var= попробуй msg=
Kirya
не
Kirya
пробовал
Kirya
также
Kirya
понял изза чего
Kirya
фигурные скобки забыл, т.е. надо было примерно так: # cat roles/handlerstest/handlers/main.yml —- - name: debugging debug: var={{ item }} with_items: {{ ping_result.results }}
Vladimir
привет. ктото с pycharm работает?
Vladimir
не могу понять, свежеустановлен только начинаю разбираться. запускаю код банальный print("Hello!") в консоли не показывает результат выполнения. только Process finished with exit code 0
Vladimir
что подкрутить если в курсе?
Salem
а причем здесь ansible, это тебе в dev python группы
Vladimir
на вопрос по pycharm натыкался в этой группе
Vladimir
потому и задал
Kirya
А гугл
Aion
умвр
Vladimir
а у меня не работает
Ivan
кто нибудь использовал ansible в standalone mode ?
Докер-образы в этом режиме собираем 🐳
Aleksey
госода ansible-console кто то юзает? скажите как там задать env var ?
Timur
Я тоже не совсем понял - в гите хуки на коммит, которые запускают плейбук?
Nklya
Ansiible-container умеет описывать и билдить докер образы http://docs.ansible.com/ansible-container/
Timur
Ansiible-container умеет описывать и билдить докер образы http://docs.ansible.com/ansible-container/
Нет, это понятно, но что является триггером для запуска плейбука?
Nklya
Какого плейбука?
Nklya
Тупо используешь ямлики ансибла вместо докерфайла и билдишь
Nklya
Проблема есть с отсутсвием кеширования слоев
Timur
Мы, наверное, о разных вещах говорим, или я все не так понял, ну да ладно :)
Vadim
Проблема есть с отсутсвием кеширования слоев
кэширование слоев в большинстве случаях бесполезно - половина слоев все равно метадата. Лучше всего монтировать volume и там кэшировать нужное
Huan
привет. подскажите как из группы, состоящей из 3 хостов: [kafka] host1 host2 host3 на каждый хост записать в файл номер 1, 2, 3 соответственно
Vadim
file: path="{{ inventory_hostname }}"
Huan
нужно чоб в файле было число
Huan
например у host1 в файле должно быть число 1
Huan
на hostN добжно быть N-е число
Vadim
немного магии с фильтрами и вырезанием строки оставим как упражнение для читателя
Vlad
{{ groups['kafka'].index(inventory_hostname) }}
Timur
если переменная inventory_hostname имеет тип str, то и методы у неё будут соответствующие