George
похоже на архитектурные проблемы, а не на проблемы ансибла-башсибла
inqfen
либо делать кворум между твоими контейнерами, чтобы они выбирали главный - он и будет катить миграции
зачем, если я с run_once стартую контейнер, который выполняет миграции и помирает
inqfen
Все
Oleksandr
да
Правильная миграция поставит лок
inqfen
похоже на архитектурные проблемы, а не на проблемы ансибла-башсибла
А с чего ты решил, что у меня с этим проблемы? как раз таки никаких
Oleksandr
И остальные ничего не сделают
inqfen
Правильная миграция поставит лок
Она ставит лок и 9 контейнеров из 10 падают с rc 1
inqfen
Это во-первых
Oleksandr
Она ставит лок и 9 контейнеров из 10 падают с rc 1
Нет. Если ты обновлять по 1 будешь и с хелсчеком
inqfen
Во-вторых, зачем мне это запускать на всех машинах, если я могу это сделать с run_once?
Oleksandr
Oleksandr
Роллинг апдейт тебя спасет
Oleksandr
Никаких run_once
inqfen
У меня вообще все в кубе, не надо меня ни от чего спасать
inqfen
Я выше пример run_once привел
Oleksandr
У меня вообще все в кубе, не надо меня ни от чего спасать
Тогда я не понял, о чем выше написано. Больше на вредный совет похоже
inqfen
К тому, что run_once совсем не обязательно нарушает идемподентность
inqfen
Ну и не все операции как миграции выполняются так
inqfen
К примеру различные реиндексации для поиска
inqfen
10 контейнеров которые начнут реиндекс все сломают
Timur
run_once ничего не нарушает при правильном применении
inqfen
А если будут делать по очереди - обновление займет пару суток
Oleksandr
10 контейнеров которые начнут реиндекс все сломают
Это ж проблема разрабов/девопсов, что такое сотворили
Oleksandr
сорри за оффтоп. но очень похоже на докеризированный монолит, который решили запустить в нескольких инстансах. и это, как выше сказали, больше на проблемы архитектуры похоже
George
распределенный монолит. фу-фу-фу-
inqfen
Это ж проблема разрабов/девопсов, что такое сотворили
Внезапно так работает бльшинство стандартных поисковиков
inqfen
sphinx, solr насколько помню так же
inqfen
Поэтому реиндекс там нужно запускать чере _once
George
🤦‍♂️
Oleksandr
реиндекс можно делать как угодно, а не запихать его в докер в приложение
Oleksandr
чтобы потом не воевать с 10 инстансами которые "внезапно" начинают все индексировать
inqfen
реиндекс можно делать как угодно, а не запихать его в докер в приложение
реинсдекс выполняется приложением по данным базы этого приложения
Oleksandr
рекомендую в dev-окружение таким разработчикам просто поставить 3 инстанса
inqfen
чтобы потом не воевать с 10 инстансами которые "внезапно" начинают все индексировать
Нет, поэтому для этого поднимается отдельный контейнер с приложением, который производит индексацию и помирает после нее
inqfen
у нас в инвентори 10 инстансов для работы
Timur
Народ, я не понимаю, о чем спор?
inqfen
если мы запусти на hosts: app - будет 10 инстансов для индексации
Timur
О том, нужен ли run_once вообще?
inqfen
если с run_once - он поднимется где-то один, отработает и помрет
inqfen
все классно
Oleksandr
о бритве Оккама в виде run_once, которая тут только из-за косяков архитектуры
Timur
Безусловно, бывают задачи, когда он нужен
Oleksandr
я комментирую конкретное предложенное решение
Timur
Бывают задачи, требующие однократного запуска
Oleksandr
мне оно кажется ошибочным
Oleg
Коллеги, никто не сталкавался с тем, что diff в win_template возвращает пустые данные (т.е. по ощушениям не видит исходный файл)? Шаблон: - name: "Windows | Make config from template" win_template: src: zabbix_agentd.win.conf.j2 dest: '{{ zabbix_win_install_dir }}\zabbix_agentd.conf' backup: yes tags: - conf Вывод: Using module file /home/spions/.local/lib/python3.5/site-packages/ansible/modules/windows/win_file.ps1 Pipelining is enabled. EXEC (via pipeline wrapper) EXEC (via pipeline wrapper) --- before +++ after: /home/spions/.ansible/tmp/ansible-local-29176w2efduqu/tmp6fj8vsti/zabbix_agentd.win.conf.j2 @@ -0,0 +1,13 @@ +##Config Version:0.1 Команда: ansible-playbook -i zabbixi.py -e target=Windows_Servers zabbix-windows.yml --diff --check --tags="conf" -vvvv
Oleg
Обнаружил старые необновленные библиотеки: /home/spions/.local/lib/ обновление помогло :)
Никита
как сделать чтобы для разных групп инвентори применялись задачи с разными тегами?
Никита
у меня там разные ОС, разные версии софта с разной структурой
Никита
а, понял, совсем забыл с этой ролью, что в плейбук логику писать можно,
Sergey
Наоборот, никакой логики. плей1: группа1, таски/роли1, теги1 плей1: группа2, таски/роли2, теги1,2
Никита
если указать 2 тега он сделает И или ИЛИ?
Sergey
оба
Никита
понял надо tags и skip-tags пожонглировать
Maxim
коллеги, а что не так с этой таской:
Maxim
https://github.com/paulfantom/ansible-restic/blob/master/tasks/preflight.yml#L21-L24
Maxim
?
Maxim
TASK [paulfantom.restic : Get checksum list from github] *************************************************************************************************************************************************** objc[20053]: +[__NSPlaceholderDate initialize] may have been in progress in another thread when fork() was called. objc[20053]: +[__NSPlaceholderDate initialize] may have been in progress in another thread when fork() was called. We cannot safely call it or ignore it in the fork() child process. Crashing instead. Set a breakpoint on objc_initializeAfterForkError to debug.
Maxim
ну то есть я понимаю, что можно этого избежать, отключив fork safety
Maxim
$ export OBJC_DISABLE_INITIALIZE_FORK_SAFETY=YES
V
ребят подскажите а имя файла hosts можно использовать как переменную если да то как переменная называется
Maxim
ага, по NS видно же ;)
Sergey
Подозреваю, что это в системных либах что-то фейлится?...
V
да
V
они у меня sstaging и produciton
V
и вот либо подскажите как правильно мне нужно в некоторых местах прописывать что это staging или production
Alex
в смысле ты сразу указываешь два инвентори файла?