Anonymous
python2 уже end-of-life
Anonymous
из коробки
Anonymous
Это Филькина грамота для RHEL. Там питон 2 будет жить пока жив RHEL 7
+ в плане sec никого не напрягает, что 2020-01-01 отказались фиксить python2
Gleb
можно же доставить 3x?
можно, только не поможет
Gleb
а кто знает от какой фазы луны или чего зависит мержатся или нет кастомные фильтры?
Gleb
ну вот у тебя как то работает, а ты даже не догадываешься
Gleb
когда разберешься поговорим
Anonymous
yum конечно это не исправит, но катать ansible на python3 уже можно
Anonymous
dnf ))
Anonymous
если вы подробней поделитесь, что не так с dnf в 7-ке, то буду благодарен
Anonymous
поиском нашел. спасибо. мне хватило с "горкой".
Anonymous
Можно ссылку на отказ фиксить?
да, https://www.python.org/downloads/
Anonymous
2.7 end-of-life 2010-07-03 2020-01-01 PEP 373
Aleksey
да, https://www.python.org/downloads/
Это не тоже самое
Anonymous
не понимаю. мы по разному понимаем релизный цикл python?
Anonymous
тоже самое тут по релизной политике ansible https://docs.ansible.com/ansible/devel/reference_appendices/release_and_maintenance.html
Anonymous
2.7 Release Notes Unmaintained (end of life)
Aleksey
Meh
Anonymous
обычно, если проект отказывается поддерживать версию, ее метят end of life
Anonymous
и все на нее кладут болт. и в плане pr и в плане issue
Anonymous
и в плане sec
Anonymous
если я что-то не так понимаю, то прошу написать об этом
Dan
опять я с вопросом. У меня есть плейбук, который должен выполнять таски на одной ноде за раз, никакого параллелизма. Для этого выставлен serial: 1 Дальше, первый же таск заходит на одну из нод в списке, и достает список мастеров и слейвов. Фишка в том что сначала надо пройтись по мастерам и только потом по слейвам. В инвентори они не указаны, надо как-то на ходу. Я попробовал просто продублировать блок тасков дважды после того как считываю список мастеров, первый раз под блоком стоит when: inventory_hostname in masters а второй раз not in masters. Но оно не работает в нужном порядке
Антон
+
Dan
так сделай несколько плеев
и передавать hosts через hostvars между ними?
inqfen
Запускай на тех hosts где надо hosts: "masters" .... hosts: "slaves" ...
Отделение Bereke Bank
inqfen
они же не указаны в инвентори
А что мешает инвентори наполнить сначала?
Dan
Запускай на тех hosts где надо hosts: "masters" .... hosts: "slaves" ...
мне надо автоматом заполнить список masters и slaves, тут как раз и проблема. в инвентори есть просто nodes
Dan
А что мешает инвентори наполнить сначала?
нода может стать мастером или слейвом динамически
Антон
Сделай проверку в роли является нода мастером или слейвом
Антон
Но тогда придется 2 раза запускать плейбук
Антон
Или помучаться с условиями
Отделение Bereke Bank
В процессе выполнения?
если чтото наебнется, то скорее всего да
Anonymous
нода может стать мастером или слейвом динамически
написать template, который генерирует другой playbook?
Отделение Bereke Bank
inqfen
Тогда и пока ты на первом мастере делаешь, второй может стать слейвом
Dan
В процессе выполнения?
это очень большая редкость, 99.999% что не вариант
inqfen
это очень большая редкость, 99.999% что не вариант
Ну тогда и наполняй перед запуском тасков
inqfen
https://docs.ansible.com/ansible/latest/collections/ansible/builtin/add_host_module.html#ansible-collections-ansible-builtin-add-host-module
Dan
Ну тогда и наполняй перед запуском тасков
хочется сделать все из одного плейбука а не велосипед
inqfen
хочется сделать все из одного плейбука а не велосипед
Так в этом плейбуке и наполняй, вон выше скинул чем
Dan
https://docs.ansible.com/ansible/latest/collections/ansible/builtin/add_host_module.html#ansible-collections-ansible-builtin-add-host-module
о! в процессе одного выполнения эти groups сохраняются?
Dan
вы с таким подходом с вероятностью 100 процентов убъете базу
я думаю что знаю какой мне нужен подход для моей базы. Вопрос был не об этом, а о том как динамически разделить список хостов на две части, и выполнить части по очереди
inqfen
о! в процессе одного выполнения эти groups сохраняются?
Между плеями емнип не должно быть проблем
Aleksey
что будет когда список вы заполнили а в промежутке между заполнением и выполнением роли у вас сменится роль сервера ?
Dan
что будет когда список вы заполнили а в промежутке между заполнением и выполнением роли у вас сменится роль сервера ?
роль сервера меняется не быстро, это целая процедура которая может занять несколько часов.
Dan
открыл. дальше?
Aleksey
после клепмана я уверен что система гарантированно ебнется. вне зависимости от стараний админа.
Aleksey
особенно было обидно про часы
Aleksey
ты такой ну у меня ntp
Aleksey
а тебе да пох.
Pavel
Система ебнется рано или поздно, но точно в твою смену)
Dan
в машине ремнем пристегивайся, не забывай воздухом дышать... дада, я знаю.
Dan
ааа. уверен... тогда да. всё ок
переход из мастера в слейв там не возможен без вмешательства, это длинная процедура которая занимает часы. Короче, это реально не проблема в данной системе
Dan
я вроде написал, что именно не было понятно?
Dan
вроде другим понятно, переспрашивали только насчет рейсов между ролями, на что я уже ответил
Dan
проблема в том что плейбук идет по порядку группы в инвентори. заглянул в первый хост (пофиг который), узнал кто мастер и кто слейв, и пошел дальше. дальше сказано, если данный хост мастер - выполняй. Дальше следующий блок говорит наоборот - если не мастер - выполняй. Если у меня первым в списке слейв, то первый блок он проскочит, но выполнится на втором, что мне никак не помогает.
Dan
сортировать группу стандартными средствами тоже никак не помогает. любой хост при запуске плейбука может быть на данным момент мастером или слейвом
Lamobot
опять я с вопросом. У меня есть плейбук, который должен выполнять таски на одной ноде за раз, никакого параллелизма. Для этого выставлен serial: 1 Дальше, первый же таск заходит на одну из нод в списке, и достает список мастеров и слейвов. Фишка в том что сначала надо пройтись по мастерам и только потом по слейвам. В инвентори они не указаны, надо как-то на ходу. Я попробовал просто продублировать блок тасков дважды после того как считываю список мастеров, первый раз под блоком стоит when: inventory_hostname in masters а второй раз not in masters. Но оно не работает в нужном порядке
Плейбук с 3 плеями. В первом вытаскиваете список нод, делите их на две новых группы и добавляете в них хосты через add_host. Во втором и третьем плее обрабатываете хосты из мастеров и слейвов. Про недостатки способа, связанные с переходом нод из одной группы в другую во время выполнения плейбука вам сказали.
Lamobot
ну вот это я как раз сейчас и пишу, спасибо. надеялся на самом деле избежать такой подход, но видимо не получится
В чём плох подход? :) Могу предложить другой :)), но только если у вас есть механизмы перевода нод из мастеров в слейвы безболезненные. Тупо проходитесь по всем нодам и запускаете переход из мастера в слейв, дожидаетесь перехода и делаете что хотите :)
Dan
В чём плох подход? :) Могу предложить другой :)), но только если у вас есть механизмы перевода нод из мастеров в слейвы безболезненные. Тупо проходитесь по всем нодам и запускаете переход из мастера в слейв, дожидаетесь перехода и делаете что хотите :)
безболезненность тут исключена :) кроме того, если кластер размазан по кучке датацентров, то дергать переход из мастеров в слейвы и назад будет еще и денег лишних стоить. Буду делать тройной play