Inconsistent state detected! Куда бежать?

Я далеко не являюсь специалистом в настройке ci/cd, так что вопрос нупский. Я его собственно и сформулировать то толком не могу.

У нас есть: gitlab-ci, k8s, helm, rancher (чтоб его), werf (зачем эта штука нужна вообще не понимаю).
До этого периодически в werf.yml менял версии альпины и набор пакетов которые поставит пакетный менеджер, и коммитил эти изменения, и все работало.

Попробовал сделать то же самое для другого микросервиса. Но на этот раз получил ошибку:

Error: release upgrade failed: inconsistent state detected! Resource Secret/regcred owner release
"service.werf.io/owner-release": "" does not match current release
"mkv-worker-development-ere15y" and current release do have a record for this resource

Посмотрел в ранчере (не в репозитории с проектом), есть мой Namespace и там есть Service и Deployment у которых есть

metadata:
  annotations:
    service.werf.io/owner-release: mkv-worker-development-ere15y

Нашел в репозитории в папке .helm yml файл с Secret по имени regcred. Добавил ему такую же запись в metadata.
Та же ошибка.

Подскажите пожалуйста (если это можно понять из описанных мной данных) хотя бы на уровне какого из инструментов возникает данная ошибка и где пытаться подправить конфиг.


Ответы (2 шт):

Автор решения: Nycodym Achuprynkin

Вам нужно добавить указанную аннотацию не в файл в репозитории, а прямо в ресурсе Secret/regcred в кубере. Ошибка возникает на уровне werf. По какой-то причине данный ресурс был создан без аннотации, а она необходима werf для определения, к какому релизу относится ресурс.

→ Ссылка
Автор решения: diafour

Судя по названию секрета regcred, возможно изменился пароль к регистри и ресурс пересоздали с нуля, вместо правки в git и выкат через werf deploy. В итоге слетели аннотации, отвечающие за привязку к helm-релизу. Если helm во время релиза видит, что в Kubernetes есть ресурсы, которые определены в чарте, но у ресурсов нет аннотаций с привязкой к релизу, то он просто сообщает об этом, а ситуацию с аннотациями у ресурсов должен разгрести пользователь.

→ Ссылка