Андрей
а с awx можно джобы из слака дергать?
Андрей
k
Дергать AWX из чата было бы идеально, копну туда
Андрей
Самый простой путь -> Jenkins, говорили они))
k
Дженкинс это умеющий всё комбайн
Там слишком просто начать делать странное, я хотел бы ограничить себя и коллег в этом
И вообще лишние инструменты не экспоузить
Бот в чате и достаточно
Тем проще завтра будет сменить нижележащее решение, если припрёт
Андрей
А что мешает в Jenkins настроить матричное распределение прав на проекты? да и тем более, если разраб вообще из чата будет дергать.
Отделение Bereke Bank
У гитлаба в коробке mattermost и по их заверениям чатопс у них работает. Сам не пробовал. Если у тебя есть Гитлаб - попробуй. Потом скажешь получилось ли
Андрей
mattermost проигрывает slack-у
Отделение Bereke Bank
За слак платить надо)
Андрей
за гитлаб как бы тоже, если хочешь плюшки) НУ в обще дело ваше. Jenkins просто более удобен и все в нем можно перевести в код и хранить в одном месте с плейбуками теми же
Denis 災 nobody
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
Vlad
Можно вместо or использовать in [“redhat”, “centos”]
Serg
Serg
но там и федора тоже входит
Igor
Anton
Привет. У кого при коннекте ансибл мастера с виндовыми серваками была такая ошибка? "kerberos: authGSSClientStep() failed: (('Unspecified GSS failure. Minor code may provide more information', 851968), ('Server not found in Kerberos database', -1765328377))"
Fire
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
ансибла
Fire
А на хосте, к которому подключаешься?
Anton
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
Необходимость обусловлена тем что во втором плейбуке испортится независимая роль в которую необходимо передать уже отформатированные хосты, но при этом сохранить целевые хосты, но в новом формате.
Sergey
Ivan
)
Sergey
Ты либо троллишь, либо делаешь лютую фигню. Я даже представить не могу изначальную задачу. Поделишься?
Timur
Fire
Timur
Ivan
Исходная проблема действительно в том, что структура инвентарей разная. Но это данность и задача в том чтобы адаптировать одно под другое без изменения как в одном, так в другом. При помощи адаптера.
Timur
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, а не по администрированию локальных репозиториев
Андрей
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 ... получается?
Sergey
Timur
Ivan
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'] }}"
Timur
Timur
Зачем «форматировать» хосты и делать все эти странные переназначения?
Sergey
Sergey
Timur
Чего вы хотите добиться?
Ivan
Есть инвентарь динамический в одном формате (там хост это тачка). Есть роль которая требует инвентарь в другом формате, где хост это инстанс. Мне надо для исходного инвентаря запустить эту роль. Что бы это сделать нужно его ... отформатировать. Таски в новом формате я могу добавлять. И все хорошо пока мне не нужно использовать —limit. Лимит устанавливается один раз в самом запуске плейбука и указывает на хост который в формате "тачка", а мне этот лимит внутри надо тоже поменять под новый формат.
Sergey
Ivan
Хм, попробую
Alex
Evgenii
Господа, delegate_to: "{{ remote-host-ipaddr}}" это то что я думаю? Мне нужно выполнить uri с настраиваемого хоста
Timur
Evgenii
Alex