1796
Группа русскоговорящего сообщества OpenStack. Обсуждаем все про OpenStack, от использования до инсталляции, и от переводов до отправки патчей в апстрим. For English speakers we recommend: @openstack_en См. также: @kubernetes_ru, @ceph_ru, @devops_ru
Я думал, ты абстрактный пример приводишь.
Ну а в standalone версии ironic у тебя состояние задачи будет храниться в базе. Разница в чем?
Я, без шуток, в разработке и современных девопс практиках и модных словах ничо не понимаю.
Что конкретно подразумевает твой пример под активити?
Если ты не будешь во внешнем инструменте каком-то хранить состояние задачи, то как новый воркер у тебя узнает с какого места продолжать?
Кричишь в максимально тупой бэкенд "разверни барик с таким ID, вот его IPMI IP. Вот структура дисков. Загрузись с этого ISO".
Воркфлоу стартует, формирует у себя стейт, например, ключ-значение.
Дальше по шагам:
- Переключить влан на портах для ipxe;
- Дергает барик на ребут, чтобы загрузилось с dhcp + ipxe;
1 шаг = 1 вызов activity (даже если нужны retry и тд, все работает из коробки без необходимости строить костыли)
Пока шаг не выполнится - обработка не продолжится. Если воркер упал (например, гипер с виртуалкой где воркер крутится наебнулся), то оно не будет пытаться все заново запускать, а продолжит, например, на этапе дернуть барик на ребут
Образ подготовленный дибом например
Читать полностью…
Чо такое стейт хранящийся в воркфлоу? Объясни вот на примере деплоя baremetal, чтоб понятнее было.
Читать полностью…
Это в идеальном мире который себе придумали брошенные в джунглях дети, которые девопсы вспитали как своих и научили изъясняться на языке Infrastructure as a Code и ритуалам декларативности? :D
Читать полностью…
Подход чем-то похож на reconcile в кубах, когда изначально состояние считается пустым и все должно быть готово что может быть потребуется создать заново
Читать полностью…
Это если в этом воркфлоу всё активити независимые друг от друга и не имеют стейта :)
Читать полностью…
под темпоралом я могу вертеть кассандру как душе угодно
Читать полностью…
Есть сравнение примерное? В случае с metal3 провижн идет через создание манифестов и дальше уже контроллер все делает?
Читать полностью…
Я смотрю и на хабре все больше про него упоминаний, не может не радовать
Читать полностью…
Ну, будут какие вопросы по сомнительным пунктам, пиши.
Читать полностью…
Учитывая архитекутру ironic, не особо то ему и нужен вообще rpc.
Читать полностью…
а ещё network partition в кролике тоже доставляет, почему произошел — хуй знает, но ты иди поднимай его обратно, а то часть агентов отъебнула
Читать полностью…
щас кто-то скажет "ты не умеешь его готовить", а я скажу "кролик говно"
Читать полностью…
Хранением и управлением истории вызовов сам темпорал занимается как раз
Читать полностью…
При этом ты ещё можешь поллить воркфлоу на предмет "ну как там с деньгами?" "на каком ты этапе?"
А он отвечает "{vlan_configured: true, bms_rebooted: false}"
Бай дизайн не нужно, но инструменты что бы все активити запускать на одном воркере есть😏
Читать полностью…
Хорошо, давай пример
Читать полностью…
не, оно в целом не должно иметь стейта by design. Весь стейт должен храниться в воркфлоу
Читать полностью…
и подход Saga/Compensation тоже ложится очень хорошо. Не выполнилось активити - обрабатываем ошибку, удаляем сущность если была создана и запускаем снова
Читать полностью…
а активити не должны иметь стейта, кстати
Читать полностью…
и процесс работы воркфлоу при этом не зависит от какой-то мудацкой шины по типу кролика. Упадет воркер - пофигу, продолжится на другом (воркере/стойке/регионе/континенте)
Читать полностью…
Там айроник под капотом, который так вам не нравится. А кролик уже умеет в рафтинг и в целом не такой уж и плохой. Под темпоралом если база умрёт тоже ничего хорошего не будет :)
Читать полностью…
https://habr.com/ru/articles/966972/
Читать полностью…
ну и плюсом есть довольно успешный кейс, когда логика в связке с темпоралом пишется просто идеально
Читать полностью…
Я ironic в лабе, конечно, пощупаю, но больших ставок я на него не делаю
Читать полностью…
Ironic без него работает же.
conductor умеет json rpc.
даже не столько кролик, сколько реализация общения в oslo.rabbitmq, который не переживает нормально случаи когда одна из нод кластера кролика вываливается
Читать полностью…
когда его не трогать, то все ок, но что-то малейше пойдет не так и гг, остаток ночи вместо сна ты будешь разгребать кишки
Читать полностью…