Danila
дело раскрыто, всё хуня кроме пчёл. оно заюзало ту роль, что лежит в ~/.ansible, а не ту, которая рядом у меня
Nklya
Убийца садовник))
Vadim
в with_items указана группа, чегоб не сделать отдельный hosts: lvs вместо цирка с delegate_to
Vadim
конфиг лучше генерить он начала до конца, blockinfile это опасно
Dorian
Нужно из одной роли выполнить конфигурацию другой
Dorian
Например есть две роли Lvs Mysql Как правильно сделать, чтобы после выполнения mysql можно было обновить конфиг lvs с фактами mysql?
Vadim
А как lvs узнает что mysql был сгенерен?
- import_role: name: lvs tasks_from: update_lb.yml например
Dorian
а факты как передашь?
Vadim
факты пусть берет из mysql группы - ну или в хост где хапрокси вертится пусть нужное mysql ложит
Ievgen
кладет, а не ложит, глаза вытекают ((( мимо проходил Grammar Jew
Me
- import_role: name: lvs tasks_from: update_lb.yml например
В это случае updatelb выполнится на хостах mysql
Vadim
В это случае updatelb выполнится на хостах mysql
верно, тогда либо import_playbook ну или delegate_to
Sergey
блин....... ну нафиг так издеваться над концептом. ансибл предполагает, что накатывается на ВСЁ окружение сразу. если "....ой долгаааа....", то это другой вопрос, иначе можно легко и просто получить configuration drift.
Nklya
Зашел я тут внезапно на хабр и нашел прекрасное https://habrahabr.ru/post/352616/
simplemice.eth
унеси, вымой руки и глаза с мылом, и больше такое не читай :)
Mikhail
Nklya
Может потому что он из мейлру вроде и еще от перла не отошел))
Vadim
>Ansible не так прост > пост о проблемах вагранта и убутны
Anonymous
Зашел я тут внезапно на хабр и нашел прекрасное https://habrahabr.ru/post/352616/
После фразы “...и на проблемы никто не жалуется...” статью можно не воспринимать всерьез.
Vladimir
мне одному ansible кажется неебическим пиздецом вплане нелогичности и навоченности? каждый раз, когда пытаюсь осилить его, очень жёстко подгорает
Vladimir
эта декларативность, в которую упираешься сразу..
Vladimir
а вы другие CM видели?:)
там ещё хуже? аааааааааа 😥😥😥
Yury
ну в папете например если явно не укажешь что за чем выполнять будет накатываться манифест только в папету известном порядке
Yury
так что проще ансибла вряли че есть)
Vladimir
ладно, буду дальше страдать
Yury
почему страдать для вашего ж удобства
Yury
не хотите накатывайте ручками конфиги на 100500 серваков
Vadim
внутренности энсибла наворочены - или конфиг, который вы им пытаетесь применить, наворочен и нелогичен?
Vladimir
да к раскатыванию нет вопросов, у меня проблемы с этим yaml и его правилами
Yury
yaml самый удобный
Yury
ну может джисон кому как нравится
Yury
пишите хотя бы в vim там же все подсвечивается)
Vadim
да к раскатыванию нет вопросов, у меня проблемы с этим yaml и его правилами
здесь согласен, хотя к ini-формату еще больше претензий. имхо toml был бы шикарен для инвентори, для таксов - лучше ямла вроде ничего не изобрели
Anonymous
Круче yaml только yml
Vadim
вот да, не нравиться yaml - пишите на yml, там все инструкции короче
Roman
у меня имеется rolename/tasks/main.yml rolename/tasks/prereq.yml я могу как-то в плей конкретно rolename/tasks/prereq.yml подключить?
Vadim
/help import_role
GithubReleases
/help import_role
/subscribe repo filter_name -- subscribe current channel to specific repo and filter /unsubscribe repo filter_name -- unsubscribe current channel to specific repo and filter /list -- lists all available repos /help -- display current help /new repo filter_name filter_regexp -- creates new available subscription
Roman
import_role, там есть tasks_from
спасибо, уже перенес логику цикла в main.yml используя include, хотя выглядит не так красиво при выполнении :)
Roman
модуль synchronize не работает нормально когда become_method - su =\
GithubReleases
/help -- display current help /new repo filter_name filter_regexp -- creates new available subscription /subscribe repo filter_name -- subscribe current channel to specific repo and filter /unsubscribe repo filter_name -- unsubscribe current channel to specific repo and filter /list -- lists all available repos
GithubReleases
/new repo filter_name filter_regexp -- creates new available subscription /subscribe repo filter_name -- subscribe current channel to specific repo and filter /unsubscribe repo filter_name -- unsubscribe current channel to specific repo and filter /list -- lists all available repos /help -- display current help
Vadim
ладно, переименую команду бота к module
Asten
Например есть две роли Lvs Mysql Как правильно сделать, чтобы после выполнения mysql можно было обновить конфиг lvs с фактами mysql?
Пишите playbook на запуск 2 ролей: host: mysql role: mysql host: lvs role: lvs Запускаете с лимитом -l mysql,lvs
Asten
Сорян с телефона пишу...
Bogdan (SirEdvin)
/list
GithubReleases
/list
Configured feeds: yandex/ClickHouse: stable yandex/ClickHouse: testing yandex/ClickHouse: all gogits/gogs: stable prometheus/prometheus: all grafana/grafana: all golang/go: all prometheus/blackbox_exporter: all influxdata/telegraf: all influxdata/influxdb: all go-graphite/carbonapi: all moira-alert/moira-alert: all influxdata/kapacitor: all graphite-project/graphite-web: all graphite-project/carbon: all bosun-monitor/bosun: all telegramdesktop/tdesktop: all hashicorp/consul: all hashicorp/nomad: all hashicorp/packer: all hashicorp/terraform: all hashicorp/vault: all hashicorp/vagrant: all hashicorp/consul-template: all hashicorp/envconsul: all hashicorp/otto: all ansible/ansible: all ansible/awx: all docker/compose: all docker/docker-ce: all vstconsulting/polemarch: all jippi/hashi-ui: all aelsabbahy/goss: all metacloud/molecule: all collectd/collectd: all alerta/alerta: all Vertamedia/clickhouse-grafana: all Vertamedia/chproxy: all torvalds/linux: stable lomik/graphite-clickhouse: all lomik/carbon-clickhouse: all mholt: caddy
Айтуар
пишите хотя бы в vim там же все подсвечивается)
Ха-ха, человеку ансибль сложен, а тут vim ещё 😂
Me
Парни, Как получить доступ к переменной группы?
Me
[lvs:vars] global_vip=["{{ mysql_vip }}","{{ www_vip }}"] mysql_vip="192.168.122.122" www_vip="10.253.88.226"
Me
groups[lvs].mysql_vip на работает
Me
hostvars[lvs][0].mysql_vip как-то не то
Ievgen
http://docs.ansible.com/ansible/devel/user_guide/intro_inventory.html#group-variables
Ievgen
variables are always flattened to the host level before a play is executed.
Ievgen
так что работай с ними как с обычными переменными хоста
Ievgen
то что ты их определил для группы значит что эти переменные будут определены для каждого хоста входящего в группу
Stas
Парни
Stas
подскажите как можно stdout распарсить и кусочек с него забрать
Stas
чтото типо питоновского re.match
Stas
[root@srv7-tentkop ~]# rpm —query redhat-release-server redhat-release-server-7.4-18.el7.x86_64
Stas
мне нужно от вывода этой команды el7.x86_64
Stas
отгрызть
Vadim
подскажите как можно stdout распарсить и кусочек с него забрать
https://docs.ansible.com/ansible/latest/user_guide/playbooks_filters.html#regular-expression-filters
Stas
а, кажется понял
Stas
есть shell
Vadim
но лучше почитать про repoquery и параметры rpm - там такое есть
Stas
и использовать фильтр?
Stas
гуд, спасибо
Vadim
rpm модуль такое не смогёт, а вот cli должен такое уметь
ShadoWalkeR
А зачем? Оба параметра всего лишь говорят мажорную версию рхела/центоса и тд и его архитектуру. Может проще на основе собранных фактов работать?
Ievgen
мм архитектуру без проблем, а вот el7...
Vadim
/etc/os-release же