Андрей
а с awx можно джобы из слака дергать?
k
Дергать AWX из чата было бы идеально, копну туда
Андрей
Самый простой путь -> Jenkins, говорили они))
k
Дженкинс это умеющий всё комбайн Там слишком просто начать делать странное, я хотел бы ограничить себя и коллег в этом И вообще лишние инструменты не экспоузить Бот в чате и достаточно Тем проще завтра будет сменить нижележащее решение, если припрёт
Андрей
А что мешает в Jenkins настроить матричное распределение прав на проекты? да и тем более, если разраб вообще из чата будет дергать.
Отделение Bereke Bank
У гитлаба в коробке mattermost и по их заверениям чатопс у них работает. Сам не пробовал. Если у тебя есть Гитлаб - попробуй. Потом скажешь получилось ли
Андрей
mattermost проигрывает slack-у
Отделение Bereke Bank
За слак платить надо)
Андрей
за гитлаб как бы тоже, если хочешь плюшки) НУ в обще дело ваше. Jenkins просто более удобен и все в нем можно перевести в код и хранить в одном месте с плейбуками теми же
Volodymyr
На реальной железке все отрабатывает нормально, на тесте в Vagrant на той же оси, такой же версии вылетает с fatal: [centos-test-box]: FAILED! => {"msg": "module (cron) is missing interpreter line"} Кто сталкивался?
Volodymyr
ага, таки помогло, спасибо. ANSIBLE_LIBRARY смотрел на директорию, где был cron.yml, который он сочел за модуль.
Андрей
всем привет! Подскажите пожалйста, вот есть task на список хостов, и на некоторых этот task фейлится, но процесс идет дальше благодаря ignore_errors. Как-то возможно в локальный файл логать скипнутые хосты?
Igor
подскажите если в таске стоит when: ansible_distribution == "Redhat" значит ли это что она будет работать и под RHEL и под centos?
Tadeusz
да, но это не точно 😊 прогони -m setup
Sergey
да, но это не точно 😊 прогони -m setup
мб я что-то делал не так, но у меня не работало. В итоге делал через or
Vlad
Можно вместо or использовать in [“redhat”, “centos”]
Serg
но там и федора тоже входит
Anton
Привет. У кого при коннекте ансибл мастера с виндовыми серваками была такая ошибка? "kerberos: authGSSClientStep() failed: (('Unspecified GSS failure. Minor code may provide more information', 851968), ('Server not found in Kerberos database', -1765328377))"
Fire
klist -A
Anton
У тебя тикет-то есть?
root@bld-07$ kinit useransible@SIMCORD.STG Password for useransible@SIMCORD.STG: root@bld-07$ klist Ticket cache: KEYRING:persistent:0:krb_ccache_gFDWY0z Default principal: useransible@SIMCORD.STG Valid starting Expires Service principal 05/27/2020 06:30:25 05/27/2020 16:30:25 krbtgt/SIMCORD.STG@SIMCORD.STG renew until 06/03/2020 06:30:15
Fire
А на хосте?
Anton
А на хосте?
так это на хосте
Anton
ансибла
Fire
А на хосте, к которому подключаешься?
Anton
А на хосте, к которому подключаешься?
как проверить? также klist -A?
Fire
Я с виндой не дружу.
Ivan
Товарищи, помогите советом. Есть файл с двумя плейбуками который запускается с лимитом на группу хостов. Первый плейбук преобразует хосты и создает две группы: formatted в которой находятся все хосты из прошлой и next_play_hosts в которой находятся только те хосты которые изначально указывались через лимит. Выглядит запуск второго плейбука следующим образом: - name: Management hosts: formatted gather_facts: no vars: hostvars: "{{ hostvars }}" play_hosts: "{{ groups['next_play_hosts'] }}" Я предполагал что смогу запустить второй плейбук с новыми хостами (это получается) и с новыми play_hosts (это не получается). На этапе PLAY Managment плейбук владеет только старым play_hosts и не может сматчить хосты в новом формате. Не знаете как можно здесь извернуться?
Ivan
Необходимость обусловлена тем что во втором плейбуке испортится независимая роль в которую необходимо передать уже отформатированные хосты, но при этом сохранить целевые хосты, но в новом формате.
Ivan
)
Sergey
Ты либо троллишь, либо делаешь лютую фигню. Я даже представить не могу изначальную задачу. Поделишься?
Sergey
Сделай нормальный инвентарь и перестань делать полную дичь.
Боюсь, насчёт дичи согласен. А странное с inventory по идее решается через dynamic inventory plugin.
Timur
Боюсь, насчёт дичи согласен. А странное с inventory по идее решается через dynamic inventory plugin.
Если лень писать плагин, можно всегда заюзать add_host в плее
Ivan
Исходная проблема действительно в том, что структура инвентарей разная. Но это данность и задача в том чтобы адаптировать одно под другое без изменения как в одном, так в другом. При помощи адаптера.
Ivan
Если лень писать плагин, можно всегда заюзать add_host в плее
add_hosts юзается, но перетаргетировать плейбук на добавленный хост не получатеся
Ivan
Нужно что бы play_hosts указывал на хосты не в старом, а в новом формате, после добавления. Весело)
Jack
гайз, а есть возможность стартануть флоу с таски внутри роли, которая прописана include в плейбуке? Смотрю прост —list of tasks, а она показывает только вызов самой роли (без конкретных тасок в ней)
Gregory
Всем хай! есть виртуалки на которых нет инета, и есть свой локальных репозитарий для установки софта, и есть куча стандартных Centos репозитариев которые смотрят в мир, и если делать к примеру yum makecache то вываливается ошибка ( интернета то нет), я добавляю ансиблом на эти виртуалки repofile в /etc/yum.repos.d/, и как мне посоветуете сделать аналогию yum-config-manager --disable \* && yum-config-manager --enable elasticsearch-7.x
Gregory
т.е сначала выключить все репозитории и включить только мой локальный elasticsearch
Gregory
в модуле yum есть enablerepo и disablerepo, но кажись они не поддерживают globbing в случае отключения (когда я отключаю все репозитории)
Андрей
Кажется это вопрос не в тот чат совсем
Gregory
почему?
Gregory
я ведь спрашиваю как это сделать "красиво " в ansible
Андрей
Потому что это чат про Ansible, а не по администрированию локальных репозиториев
Андрей
я ведь спрашиваю как это сделать "красиво " в ansible
про Ansible в вопросе вообще ничего не было
Gregory
а где вы видите тут вопрос про администрирование локальных репозиториев?
Serg
в yum плагине есть же disablerepo enablerepo, в чем проблема то? https://docs.ansible.com/ansible/latest/modules/yum_module.html
Gregory
вы похоже не читаете вопрос, я знаю что есть. вопрос как зафигачить disablerepo не списком? и глобом? *
Serg
в одном и том же таске - disablerepo: "*", enablerepo: "my_repo", name: "my package"
Gregory
пробовал, нифига ;(
Serg
пробовал, нифига ;(
а строкой yum —enablerepo="myrepo" —disablerepo="*" install ... получается?
Vitaliy
Если кто сможет подсказать, буду очень благодарен. Модулем slurp получаю значение из разных групп, register: varA и register: varB Как правильно слить в общую переменную "myvars" (для всех групп) из varA и varB разных групп?
Vitaliy
так не получилось set_fact: myvars: "{{ hostvars[item].varA['content'] | default('') | b64decode }} + {{ hostvars[item].varB['content'] | default('') | b64decode }}" loop: "{{ groups['all'] }}"
Ivan
Непонятно. Можете показать, как ваши плейбуки выглядят?
https://pastebin.com/GjYu7r2z я утрировал конечно, суть в том что форматируются изначальные хосты в плейбуке Prepare и потом уже отформатированные передаются в плейбук Management
Timur
Зачем «форматировать» хосты и делать все эти странные переназначения?
Timur
Чего вы хотите добиться?
Ivan
Есть инвентарь динамический в одном формате (там хост это тачка). Есть роль которая требует инвентарь в другом формате, где хост это инстанс. Мне надо для исходного инвентаря запустить эту роль. Что бы это сделать нужно его ... отформатировать. Таски в новом формате я могу добавлять. И все хорошо пока мне не нужно использовать —limit. Лимит устанавливается один раз в самом запуске плейбука и указывает на хост который в формате "тачка", а мне этот лимит внутри надо тоже поменять под новый формат.
Ivan
Хм, попробую
Alex
не зачем, но так работает модуль. Когда я пишу service: name: XXX state: started то ансибл сначала вызывает status, чтобы понять текущий статус сервиса
так что будут какие то идеи как обойти ограничение в одну строку, кроме как юзать shell модуль?
Evgenii
Господа, delegate_to: "{{ remote-host-ipaddr}}" это то что я думаю? Мне нужно выполнить uri с настраиваемого хоста
Rostislav (aka RosT)
uri и так выполняется с таргета, ЕМНИП
определенно да. делегирование как раз чаще применяется, когда надо с хоста запросить: uri: ... delegate_to: localhost
Sergey
так что будут какие то идеи как обойти ограничение в одну строку, кроме как юзать shell модуль?
"Страдать" всегда к твоим услугам. Ну или написать свой модуль работы для с устаревшими сервисами и системами.
Alex
"Страдать" всегда к твоим услугам. Ну или написать свой модуль работы для с устаревшими сервисами и системами.
ну а как рулили сервисами во времена centos 4/5/6? Неужели я первый кто с таким столкнулся )))