Ilya
Alf 🙀
- name: assigning range
set_fact:
shiny_metal_range: {{ range(1..n) }}
- name: some debug
debug:
msg: {{ shiny_metal_range }}
Ilya
Да все уже
Ilya
Я нашел как поправить
Ilya
Вот тут вот))
Ilya
и там где у тебя {{ n }} используй item
Alf 🙀
так и чего ты поправил? n на item заменил?
Anonymous
парни, всем привет! есть неясный момент по поводу ансибла, точнее его модуля maven-artifact. кто нибудь юзает-шарит?
Alex
Добрый день!
Есть задача сделать роль для конфигурации pbx
Может кто работал с этим, и может подсказать что-нибудь
Anonymous
Alf 🙀
Alex
именно
Alf 🙀
ну тогда следующий вопрос про то от кого телефония, но его задавать глупо, иначе вы бы пошли в компанию которая вам саплаит продукт и спрашивали бы там, так что я подозревая какой нибудь астериск?
Anonymous
битва экстрасенсов 😱
Alf 🙀
да какое там.
Alf 🙀
дедукция, Ватсон
Pavel
КОЛДОВСТВО!!!
Alex
если честно, то это все, что мне сказали)
просто сделать роль, которая из переменных берет два параметра: кол-во внешних и внутренних номеров
и с их помощью что-то конфигурирует
Alex
это тренировочная задача
Alf 🙀
пойди задай правильные вопросы тем кто тебе дал тренировочную задачу. или беги от такого менеджмента так чтобы пятки сверкали
Alex Sharov
Народ, а как в ansible можно сделать так, чтобы он печатал в файлик все хосты, которые перебирает в текущей задаче?
Alex Sharov
lineinfile:
line: "{{ ansible_host }}"
state: present
dest: "status"
insertafter: EOF
create: yes
delegate_to: localhost
Alex Sharov
если делать так, то ожидаемо пишет лишь один хост
Dima
есть волшебная переменная play_hosts
Dima
---
# http://stackoverflow.com/questions/39005760/ansible-play-hosts-template-loop
- name: so question 39005760 version 2
hosts: all
tasks:
- name: show debug
debug: msg="target = {{ item }} default ipv4 = {{ hostvars[item]['ansible_default_ipv4']['address'] }}"
with_items: "{{ play_hosts }}"
- name: make template
template:
src: q39005760v2.j2
dest: /home/ansible/q39005760.txt
Alf 🙀
ну так он просто вывалит все хосты которые были в плее в /home/ansible/q39005760.txt на каждом из этих хостов
Alf 🙀
а напомните мне есть ли нормальный способ мерджить переменные в ансибле?
Max
В смысле?
maniac
https://docs.ansible.com/ansible/latest/playbooks_filters.html#combining-hashes-dictionaries
ето?
Alf 🙀
В смысле?
у тебя например есть defaults/main.yaml и есть /inventories/your_inventory/group_vars/web и то что у тебя дефолт - оно в дефолте а том что у тебя надо переписать под енв оно в group_vars/web
Alf 🙀
ну и хочется чтобы мерджить оно умело, понимаешь? а не переписывать весь дикт...
maniac
напиши фильтр для джинджи чтоб он делал тебе как ты любишь
Alf 🙀
maniac
ну примерно как этот combine по ссылке
Alf 🙀
ну примерно как этот combine по ссылке
мне кажется вы не очень поняли чего я ищу, вот тут получше наверное расписано: https://docs.saltstack.com/en/latest/topics/pillar/#pillar-dictionary-merging
maniac
ну, я догадался :)
Alf 🙀
а, ну славненько.
maniac
это ж собственно ты кажется меня надоумил потрогать солтстек
Alf 🙀
вряд ли
maniac
ну не лично, но тут, вслух.
Alf 🙀
мне оно не очень
Alf 🙀
но вот мерджи - это то что я бы хотел в ансибле, да...
maniac
оно местами вообще супер и приятно.
но некоторые моменты (salt-ssh/salt-cloud) работают только по тем рельсам к которым прикручены
maniac
и я посмотрел как люди облака разворачивают - в основном без клауда, стейтами под aws
Alf 🙀
ага. уж лучше cloudformation какой нибудь...
Sergey
Alf 🙀
Sergey
только сразу предупреждаю, что это не во всех местах работает 😉
Nazar
Друзья, а есть ту те, кто умеет в saltstack(salt-cloud)?
Dmitry
бгггг
Константин
есть, но эта группа про ансибл
Anonymous
maniac
Aleksey
господа а нет ли возможность запускать разные роли паралельно ?
Aleksey
я имею ввиду без strategy: free
Nazar
я имею ввиду без strategy: free
для увеличения скорости деплоя и роллинг деплоя, мы написали враппер, который для определенных ролей и наших нужд запускает несколько копий ансибла, тем самым некорректно законченный таск не обламывает все остальные таски запущенные при роллинг апдейте на других машинах
Gleb
а вот так не прокатит? http://docs.ansible.com/ansible/latest/playbooks_async.html
Alex Sharov
Господа, еще вопрос:
У меня есть порядка 5-6 ролей, в которых очень много общих кусочков. К примеру механизм роллбэка или же деплой пропертей. Но... оно к сожалению не единообразное и в некоторых ролях есть специфичные шаги. Вопрос: как избежать дублирования кода? Не жирно ли маленькие кусочки выделять в отдельные роли?
Алексей
Alex Sharov
Ну да, вроде подходит. А в каком месте правильнее всего держать файлы для инклюда?
Алексей
Как вам удобно, туда и кладите. Я бы в вашем случае сделал сделал что-то вроде roles/common
Alex Sharov
спасибо! пойду попробую
Womchik
имя роли в шаблон можно передать только если явно прописать
role: name
role_name: name
?
Dmitrii
Оооо... метапрограммирование )))
Dmitrii
Обожаю
Dima
"как бросить пить и перестать программировать на именах переменных" - часть 3 том 7 глава 25 раздел 2 параграф 4.
Womchik
кхм, а как мне правильно передать например юзера для nginx? просто переменной?
Max
Шта?
Dima
@womchik эээм какого именно юзера ты хочешь передать для nginx?
Womchik
@lastsky user username;
ну и далее там пути с этим именем
Dima
не логичнее ли зашить user {{ nginx_workers_user }} в шаблон?
Dima
nginx.conf через template положить
Dima
или у тебя бывает что www-data а бывает что не www-data?