⎈
manefesto
Выноси только хранилище бд вне контейнера
⎈
Sebor▂▅▇█▓▒░
⎈
Sebor▂▅▇█▓▒░
AWX requires access to a PostgreSQL database, and by default, one will be created and deployed in a container, and data will be persisted to a host volume. In this scenario, you must set the value of postgres_data_dir to a path that can be mounted to the container
Микола
Добрый день)
может кто сталкивался с подобным
есть идея вынести vars из ролей в один файл
для этого в папке роли vars делается include vars с абсолютным путём к файлу где все переменные
вот структура:
https://i.imgur.com/k4ePqgI.png
т.е. в файле user/vars/main.yml прописать
- name: Include vars
include_vars:
file: /path_to/group_vars/main.yml
вместо переменных, а сами переменные перенести в файл
/path_to/group_vars/main.yml
но на выходе получаю:
ERROR! failed to combine variables, expected dicts but got a 'dict' and a 'AnsibleSequence':
{}
[{"name": "Include var", "include_vars": {"file": "/path_to_playbook/group_vars/main.yml"}}]
Sergey
Ты не хочешь этого, потому что тогда твоя структура автоматически уходит от best practices, и ты остаёшься один на один со всеми вытекающими.
Sergey
Кстати, постить картинки - фу.
Anonymous
Anonymous
Вроде, там еще что-то про перекрытие переменных и как можно это решить...
Anonymous
https://m.habr.com/ru/post/494738/
Микола
Anonymous
Не за что
manefesto
Я плюнул и обернул iptables + ipset через shell и мне норм
Ибо нет ipset из коробки
Отделение Bereke Bank
написал бы свой модуль
manefesto
мне раз в полгода требуется
manefesto
и так сойдет
manefesto
вот было бы в core тогда бы использовал
manefesto
а так нет
Sergey
manefesto
кстати где-то есть этот модуль
Anonymous
manefesto
Это типа уже не запилят
AlexShmel🐝
# other server
5.5.5.5:
site: do_nl
net:
hostname: aaaaaa.local
# VPN server
123.123.123.123:
site: do_nl
net:
hostname: hostname.local
1.1.1.1:
site: do_nl
net:
hostname: a.b.c
children:
tinc-servers:
hosts:
# vpn01
123.123.123.123:
1.1.1.1:
Подскажите, как я могу обратится к каждому hostname сервера в группе tinc-servers
Хочу получить что-то вроде
{% for hostname in children.tinc-servers.net.hostname %}
ConnectTo = {{ hostname }}
{% endfor %}
AlexShmel🐝
Anybody :?
Timur
AlexShmel🐝
Anastasia
AlexShmel🐝
AlexShmel🐝
Сложночитабельно. но я попробую
Anastasia
прошу прощения, писала сама, на лучшую практику не претендую :(
Alex
AlexShmel🐝
А подскажите ещё такую штуку.
У меня есть темплейт hosts.j2
PublicKeyFile = /etc/tinc/vpn0/pubkeys/{{ net.hostname.split('.') | first }}.pub
Port = 655
Address = {{ net.ifaces.ip4 }}
Subnet = {{ net.tinc-routes }}
Я хочу его сложить на сервер столько раз сколько у меня есть
{{ tinc.hostnames }} соответственно заменяя ему имя
Как это правильно сделать ?
Timur
Anonymous
Anonymous
Все равно я не смогу подобрать подходящих аргументов против такого.
Hagen
Всем привет! Подскажите, может кто сталкивался, вытягиваю инвентори из netbox'a и не могу понять, как оттуда переменные от хостов взять, почему-то не вытягивает config_context. Кто-то знает каким способом можно переменные из нетбокса забрать?
Григорий
Привет
допустим есть 2 мапы, в которых есть одинаковые ключи
можно как-то объеденить их через комбайн так, чтобы вошли только ключи из одной мапы, с данными по этим ключам из второй?
AlexShmel🐝
Подскажите, как я могу всё содержимое
role/files/pubkeys/
скопировать в удаленную /etc/pubkeys
AlexShmel🐝
syncronize падает с ошибкой постоянно :(
AlexShmel🐝
Охрана отменна. пчитал текст ошибки. надо было установить рсинк на удаленной тачке
AlexShmel🐝
есть какойто простой способ сделать ошибки ансибла более читаемыми ? а то он вываливает json в одну строку и у меня глаза вытекают
AlexShmel🐝
{% for hostname in tinc-servers %}
Ниработает :(
failed: [00000] (item=tinc.conf.j2) => {"ansible_loop_var": "item", "changed": false, "item": "tinc.conf.j2", "msg": "AnsibleUndefinedVariable: 'tinc' is undefined"}
Andrew
Коллеги! Подскажите, пожалуйста, если я в defaults/ каталоге для роли создам файл с именем отличным от main.yml, как мне его "подгрузить" в роль? есть возможность сделать это из соседнего с ним main.yml аналогично task'ам или только через ansible.builtin.include_vars? Просто не хочется делать огромный main.yml файл, а разбить его на несколько.
CHIP
Andrew
Alex
CHIP
Спасибо!
https://docs.ansible.com/ansible/2.3/playbooks_roles.html
Alex
переименуй группу в tinc_servers
$ cat test.py
my-groups = ['host1', 'host2', 'host3']
for host in my-groups:
print(host)
$ python test.py
File "test.py", line 1
my-groups = ['host1', 'host2', 'host3']
^
SyntaxError: cannot assign to operator
ну и соответственно
$ cat test.py
my_groups = ['host1', 'host2', 'host3']
for host in my_groups:
print(host)
$ python test.py
host1
host2
host3
Sergey
Sergey
То же самое, кстати, касается и vars/.
Roman
Приветствую! Есть задача: "Измените файл /etc/default/grub и добавьте параметры net.ifnames=0 и biosdevname=0 в строку, выполняющую загрузку ядра."
Roman
Делаю в плэйбуке
Roman
lineinfile:
path: /etc/default/grub
regexp: '^GRUB_CMDLINE_LINUX'
line: 'GRUB_CMDLINE_LINUX="no_timer_check console=tty0 console=ttyS0,115200n8 net.ifnames=0 biosdevname=0 elevator=noop crashkernel=auto net.ifnames=0 biosdevname=0"'
Roman
строку указываю целиком, а как с помощью регулярки подставить net.ifnames=0 и biosdevname=0 в имеющуюся строку ?
Grek 🇺🇦
никак, потому что это line in file а не substring in line
используй темплейт
Roman
хорошо, спасибо, почитаю substring
Grek 🇺🇦
твой кейс идентичен тому что был тут на неделе - с конфигом заббикса
Roman
т.е. такого модуля нет, который бы вставил текст в имеющуюся строку ?
Timur
Andrey
Писать в файл не рекомендуется, т.к. нет идемпотентности. Вам советуют использовать шаблон.
Roman
Отделение Bereke Bank
в meta/main.yml в dependencies можно перечислять роли, находящиеся в своем приватном гитлабе/гитхабе и т.д? или только галакси?
Отделение Bereke Bank
@tgadiev не делал так? пробовал как в доке указать в meta/requirements.yml зависимости - чет результата ноль
Sergey
Отделение Bereke Bank
Какая задача стоит?
есть роль А, которая зависит от роли Б, которая зависит от роли С
И таких ролей почти все))0)
В результате поддерживать requirements.yml проекта становится проблематично
Думал есть возможность указать в requirements.yml только роль А, а дальше оно само
Отделение Bereke Bank
помимо этого мне приходится держать одинаковый список зависимостей в meta/main.yml и в requirements.yml молекулы 😐
Отделение Bereke Bank
получается неебическое дублирование кода. иначе ты
1) либо получишь не то
2) либо зафейлится плейбук, потому что зависимость отсутствует))
Sergey
Отделение Bereke Bank
чот трэш
что имеем то имеем) так уж унаследовал
Отделение Bereke Bank
раньше решал такое в лоб. никаких dependencies в meta/main.yml. роли в нужном порядке указывались в плейбуке. скорее всего придется и сейчас так сделать, но думал, может можно обойтись малой кровью
Sergey
Ну да, это самый простой вариант и, как следствие, самый работоспособный.
Timur
Timur
Но ИМХО зависимости через meta - зло
Sergey
^^^ +++