Sergey
Хз, никто, кроме тебя, не скажет.
Отделение Bereke Bank
А что конкретно?
Project-ы пеерстали синхронизироваться с гитом SCM update запускается - но в аутпуте PLAY [Update source tree if necessary] ***************************************** TASK [delete project directory before update] ********************************** changed: [localhost] Как итог - следом не отрабатывает inventory update В дебаг-логе ничего полезного 😊
⌬ Дмитрий ⌬
Приветствую всех! Коллеги не доводилось ли вам поднимать ансиблом - дроплеты на DigitalOcean - по большей части интересует именно опция создания приватной сети с указанной маской. Понимаю что такие вещи можно достаточно удобнее сделать с помощью terraform
Отделение Bereke Bank
Ух, тогда подожду с обновлением)
в питон умеешь?) райзится эта ошибка https://github.com/ansible/awx/blob/10.0.0/awx/main/tasks.py#L2373 при этом если зайти в контейнер awx_task , перейти в проект и сделать git log - видно что изменения то он спулил и вот я не пойму это баг или я чтото не так сделал
Отделение Bereke Bank
Приветствую всех! Коллеги не доводилось ли вам поднимать ансиблом - дроплеты на DigitalOcean - по большей части интересует именно опция создания приватной сети с указанной маской. Понимаю что такие вещи можно достаточно удобнее сделать с помощью terraform
ты про их недоVPC? они вроде недавно только зарелизили эту фичу. вряд ли она есть в ансибле (в ансибле даже DO-шных firewall-ов нет). Если сильно надо - я бы попробовал через uri модуль 🤔 API DO хорошо документировано
⌬ Дмитрий ⌬
Я тоже больше именно к этому склоняюсь. Спасибо
Alex
до прошлого года в ансибле даже для гугла не было нормальных модулей
Alex
а вы тут про DO
manefesto
Ребята, никто не подскажет как использовать tfstate как инвентори ? Посмотрел вот это https://github.com/adammck/terraform-inventory Ничего не понял
Отделение Bereke Bank
А зачем? Есть же скрипты для динамик инвентори чуть ли не под каждый клауд
Отделение Bereke Bank
manefesto
а пример ?
manefesto
Ну вот создал я через тераформ инстансы, а дальше что ?
manefesto
Хотя я в принципе разобрался =)
Ya
Парни привет
Ya
как в цикле склеить переменные ? с помощью set_fact ?
Антон
как в цикле склеить переменные ? с помощью set_fact ?
У вас лист? Тогда join Дист можно через jinja for
Ya
nodes: - node1 - node2
Антон
у меня лист
Тогда join
Антон
nodes: - node1 - node2
Нужно в строку? Да? :)))
Ya
- name: Define Volume full names "{{ volume_fullname }}" set_fact: volume_fullname: "{{ stack_name }}_{{ item }}" loop: "{{ nodes }}"
Ya
вот так не работает
Антон
:)))
Ya
:)
Антон
{{ nodes | join(“,”) }}
Антон
Все
Ya
в лупе ??
Ya
блин так просто ?
Ya
чет я этого в доке не смог анйти очень странно
Антон
в лупе ??
Без лупа
Ya
Без лупа
вместо итема ?
Антон
Ansible list to string - первая ссылка в гугле :)
Ya
я почему то думал что это в цикле делать надо
Ya
чот ругается на missing quoes
Ya
We could be wrong, but this one looks like it might be an issue with missing quotes. Always quote template expression brackets when they start a value. For instance
Ya
Logan
у вас и снаружи и внутри двойные кавычки
Ya
Ya
И сказал господь заебись, и все заеблось :)
Ya
спасибо парни @not_logan @Dr_Wut
Ya
хах
Ya
Странно но ансибл сделал так: (item=stack1_node1,node2)
Ya
а нужно так - stack1_node1 - stack1_node2
Ya
все получилось
Антон
отлично =)
Ya
все правильно делаетсся в цикле тлько в loop надо отдать "{{ nodes | list }}"
Ya
фиг там )
Ya
дебаг показал что тоже криво _) теперь все в одну строку )
Ya
цук )
Антон
а можно изначальную задачу то?
Sergey
а можно изначальную задачу то?
Ты, кажется, уже проникся "проблемой микроскопа"? 😊
Антон
забив свой ящик гвоздей я понял что как-то надо думать )))
Антон
спасибо )))
Ya
а можно изначальную задачу то?
Можно, у меня есть переменная stack_name = stack1 , у меня есть list node: - node1 - node2 Я хочу получить list fullname который итеративно сложит stack + nodes и получится так fullname: - stack1_node1 - stack1_node2
Антон
и?
Ya
вот теперь правильно
Ya
уже и через with_item и через join как только не крутил ) уже бы быстрее бы на гошке нафигакал не пойму логикак как это работает
Ya
наверное самое правильное будет использовать цикл for ?
Ya
и куда его пхать ?
Ya
через set_fact ?
Timur
https://medium.com/opsops/data-manipulation-in-ansible-bab8eb7d7f93
Антон
у тебя будет item[0] и item[1]
Антон
сделай так: - debug: msg: - "{{ item[0] }}" - "{{ item[1] }}" loop: "{{ node | product(['stack1_]) | list }}"
Антон
Только отформатируй нормально
Антон
думаю по выводу ты поймешь что и как
Антон
и в set_fact записать item ?
мне не понятно зачем тебе это пихать в set_fact. как ты потом эту переменную хочешь юзать? не проще там на месте сформировать?
Ya
не склеились )