⎈
У меня какой то древний мамонт 3х годичной свежести. Я просто использую его и не обновляю
мне надо пароль на веб-интерфейс сбросить, в history я вижу rm -r /awxinstaller/ в docker ps ansible/awx_task:6.1.0 ansible/awx_web:6.1.0
⎈
мне надо пароль на веб-интерфейс сбросить, в history я вижу rm -r /awxinstaller/ в docker ps ansible/awx_task:6.1.0 ansible/awx_web:6.1.0
в итоге убил контейнер aws_web и пересоздал postgres:9.6 - вместо сброса пароля или бэкапа
manefesto
Выноси только хранилище бд вне контейнера
⎈
Выноси только хранилище бд вне контейнера
а как это сделать? по сравнению со стандартной инструкцией https://github.com/ansible/awx/blob/14.1.0/INSTALL.md
Sebor▂▅▇█▓▒░
⎈
Там же написано https://github.com/ansible/awx/blob/14.1.0/INSTALL.md#postgresql-1
пихнуть в /var/lib/awx/pgdocker ? и права выставить
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
https://m.habr.com/ru/post/494738/
Микола
Anonymous
Не за что
manefesto
Я плюнул и обернул iptables + ipset через shell и мне норм Ибо нет ipset из коробки
Отделение Bereke Bank
написал бы свой модуль
manefesto
мне раз в полгода требуется
manefesto
и так сойдет
manefesto
вот было бы в core тогда бы использовал
manefesto
а так нет
manefesto
кстати где-то есть этот модуль
manefesto
И не будет уже
если в 30 не женился то уже рано
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 :?
AlexShmel🐝
AlexShmel🐝
Сложночитабельно. но я попробую
Anastasia
прошу прощения, писала сама, на лучшую практику не претендую :(
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 }} соответственно заменяя ему имя Как это правильно сделать ?
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 файл, а разбить его на несколько.
Andrew
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
То же самое, кстати, касается и 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 🇺🇦
твой кейс идентичен тому что был тут на неделе - с конфигом заббикса
Grek 🇺🇦
хорошо, спасибо, почитаю substring
этого нет, это я к самому слову - строка в файле - заменяет\пишет всю строку
Roman
т.е. такого модуля нет, который бы вставил текст в имеющуюся строку ?
Andrey
Писать в файл не рекомендуется, т.к. нет идемпотентности. Вам советуют использовать шаблон.
Roman
replace
спасибо!
Отделение Bereke Bank
в meta/main.yml в dependencies можно перечислять роли, находящиеся в своем приватном гитлабе/гитхабе и т.д? или только галакси?
Отделение Bereke Bank
@tgadiev не делал так? пробовал как в доке указать в meta/requirements.yml зависимости - чет результата ноль
Отделение Bereke Bank
Какая задача стоит?
есть роль А, которая зависит от роли Б, которая зависит от роли С И таких ролей почти все))0) В результате поддерживать requirements.yml проекта становится проблематично Думал есть возможность указать в requirements.yml только роль А, а дальше оно само
Отделение Bereke Bank
помимо этого мне приходится держать одинаковый список зависимостей в meta/main.yml и в requirements.yml молекулы 😐
Отделение Bereke Bank
получается неебическое дублирование кода. иначе ты 1) либо получишь не то 2) либо зафейлится плейбук, потому что зависимость отсутствует))
Отделение Bereke Bank
чот трэш
что имеем то имеем) так уж унаследовал
Отделение Bereke Bank
раньше решал такое в лоб. никаких dependencies в meta/main.yml. роли в нужном порядке указывались в плейбуке. скорее всего придется и сейчас так сделать, но думал, может можно обойтись малой кровью
Sergey
Ну да, это самый простой вариант и, как следствие, самый работоспособный.
Timur
@tgadiev не делал так? пробовал как в доке указать в meta/requirements.yml зависимости - чет результата ноль
В meta - только зависимости из galaxy. В requirements можно ставить ссылки на любые репы
Timur
Но ИМХО зависимости через meta - зло
Sergey
^^^ +++