Grek 🇺🇦
не ставьте)
ну, точнее кто указывает что будет в delegate_to? CI\CD? пропишите в запросе к хостварс и в делегейт переменную, и задавайте ее в CI
Alex
Все равно, что реверс прокси не будет вам присылать оригинальный ip клиента. А вы при этом скажите клиентам - что они обязаны отправлять свой public ip в дополнительном хедере
Grek 🇺🇦
ну, не совсем корректное сравнение, все таки на какой хост делегировать кто-то же определяет, и записывает туда значение.
Grek 🇺🇦
воркэраунд то есть)
Grek 🇺🇦
а если не секрет - что решается таким способом, какая задача?
Sergey
^^^ +++++++++
Alex
Ну и пример из офы доки, который кстати тоже юзает hostvars[inventory_hostname] как бы намекает - что все должно быть автоматом
Alex
Нее?
Sergey
Нет. У тебя inventory_hostname вполне однозначно определяет, о чём речь.
Sergey
delegate_to - костыль, и ты сам это знаешь.
Alex
И да и нет
Sergey
Соответствие между тем, что исполнять, и тем, где исполнять, определяется директивой hosts в плее.
Sergey
Sergey
Иначе - здравствуй, императивность и нытья посты о том. что Ансибл не декларативен.
Grek 🇺🇦
я делегирование только на локалхост юзаю)) и то можно на локал екшн заменить, а все остальное - формированием групп в инвентори и разными плейми на разные группы хостов, если так надо
Sergey
Вот именно. Да и на локалхост-то чего делегировать - есть, действительно , local_action, плюс группу 'controllers' всегда можно напилить.
George
Alex
Sergey
Sergey
Alex
вполне
Alex
и куча issue на эту тему говорит, что я не одинок
Aleksey
Отделение Bereke Bank
поэтому забей на делегирование хуй и не мучай тех, кто будет ковырять твои ямлы после тебя
Отделение Bereke Bank
Sergey
вполне
https://docs.ansible.com/ansible/latest/user_guide/playbooks_delegation.html#delegation
Sergey
Последнее предложение в этом разделе.
Sergey
Aleksey
осуждаешь да. но по делу ни чо нету :)
Sergey
😁😁😁
Sergey
По делу - стрёмнокод писать не надо, тогда будет тебе декларативность.
Aleksey
ахаха тоесть мяу
Sergey
Sergey
Alex
Сам по себе, я думаю, не добавляет. Как шаблон выглядит?
- debug: msg="master -> slave/{{ hostvars['ansible_host'] }}"
delegate_to: slave
cам инвентори
[slave]
app_slave ansible_host=35.xxx.xxx.xxx ansible_user=ansible private_ip=10.0.7.4 node_name=itests-73219858-slave
Sergey
Alex
Alex
без них тоже самое 😉
Sergey
hostvars[ansible_host] жи
Sergey
чтобы это было переменной
Alex
Alexander
Всем привет!
Поднял AWX актуальной, 14-й версии, подключил его к Git/vSphere
Столкнулся с проблемой: AWX "не видит" переменные для группы 'all'. Начал копать, смотрю AWX почему-то не создал эту группу при инвентаризации ВМ с vSphere. А у меня в group_vars/all есть vars.yml и vault.yml есть переменные, в т.ч. шифрованные.
Вопрос, как сделать, чтобы группа 'all' в инвентаре сфкры создалась и в нее включились все задискаверенные хосты? По идее, если она появится, то и переменные в group_vars/all должны заработать.
Гуглинг пока мне не смог помочь.
Спасибо.
Отделение Bereke Bank
Alexander
т.е. AWX не поддерживает это или как?
Отделение Bereke Bank
В 10 они подтягивались но изменения не синхронизировались. Сейчас видимо доломали 👍
Alexander
Alexander
в общем, получилось, только костыльно:
1. скопировал все общие переменные в переменные инвентаря сферы в AWX
2. для шифрованных переменных там же указал так:
some_var: '!vault |
$ANSIBLE_VAULT;1.1;AES256
38383837613432626338653462363137316436383162333037376163623533643736663763316333
3930613430613533666337376661303038306263633534340a333837306638333866386565623933
61353963626138336661633765666262343363386663313035353136613935306466653931666361
3961613063643638360a656234616537636634653031316533313061343561363832373230363662
35623761356234383531313134666535636635346362616566333237363131376238'
может кому поможет
Влад 🇺🇦
всем привет, подскажите как в шаблоне jinja поставить скобку внутри
{% set gs_server = gameserver_list %}
тут нужно поставить { {% for gs in gs_server %}"{{ gs }}.": {"def_cur": "EUR", "nginx_domain_auto_gen": "{{ gs }}", "id": "{{ '%03d' | format(loop.index) }}"{% if not loop.last %},{% endif %}{% endfor %}тут нужно поставить }
Sergey
Влад 🇺🇦
попробую, спасибо
Eldar
добрый день всем. сможет объяснить мне почему inventory_hostname в ковычках не работает {{ hostvars[ inventory_hostname ][ 'ansible_hostname' ] }}?
Eldar
так работает {{ hostvars[ inventory_hostname ][ 'ansible_hostname' ] }}
Eldar
а так нет {{ hostvars[ 'inventory_hostname' ][ 'ansible_hostname' ] }}
inqfen
потому что в кавычках - строка, без - переменная
Eldar
а почему это правило не работает с 'ansible_hostname'
inqfen
потому что ansible_hostname - ключ словаря
Eldar
то есть ключи всегда в ковычках ?
inqfen
inventory_hostname - тоже ключ, но туда подставляется значение переменной
inqfen
Упрощенно
```
hostvars:
host1:
ansible_hostname: "host_1"
host2:
ansible_hostname: "host_2"
inqfen
На host1 и host2 соотсветственно переменная inventory_hostname будет иметь разные значения
Eldar
это все я знаю то. кавычки путают
Eldar
а разница между одинарными и двоичными кавычками есть ?
inqfen
a:
b: 1
c: 2
b: c
a[b] = 2
a['b'] = 1
Eldar
спасибо большое пойду тогда док почитать )
Starikov
Господа, я в Ansible полный ноль. Уже есть система, которая сделана ушедшими Devops ерами. Там есть части, написанные на Ansible. Как их запускать?
Aleksey
чот я думаю ответ очевиден же нет ?
George
Enterprise Banking Test Automation & Enablement Solutions
George
Мне страшно
inqfen
Ну а как ты думаешь, если он с таким вопросом в чат пришёл? Конечно нет
inqfen
Действия уже говорят о ходе мыслей, так сказать
Sebor▂▅▇█▓▒░
> не могу думать за другого человека
А придется!
inqfen
А действие - пойти в чат вместо доков и думать, что там тебе все разжуют с ноля, иначе зачем ещё тут 2701 человека собрались