Откат#

  1. Откат представляет собой установку стабильной версии на ранее установленную в соответствии с текущей инструкцией по установке.

  2. После выполнения отката, будут возвращены конфигурационные файлы, относящиеся к стабильной версии.

  3. Если откат выполняется с версии 5.1 с установленным Deployment Ingressgateway и включенным Secret Management System (Secman) на 4.2 (либо на 5.0 без интеграции с Secman) и ниже, от версии 5.1 останется конфигурационный файл ingress-tls-filter (ingress-secman-ef.yaml), который необходимо удалить, так как он нарушит работу Ingressgateway версий 4.2 и ниже. Для этого, перед началом установки версии 4.0, необходимо воспользоваться Secure job (является частью компонента Deploy tools в составе Platform V DevOps Tools версии 1.2).

Шаги выполнения:

  • В common-репозитории Unimon, на который настроена указанная задача, создать файл /installer/system/efs/config/parameters/openshift_del_res.conf и заполнить следующей конфигурацией:

# имя кластера, пример - stands-vdc01_(tribe-om-dev-unimon-01)
openshift_del_res.project.1.cluster = <имя_кластера>
# имя проекта, пример tribe-om-dev-unimon-01
openshift_del_res.project.1.projects = <имя_проекта>
openshift_del_res.projectList = 1
openshift_del_res.delete.projects.safe_mode = on
openshift_del_res.delete.projects.version = r5
openshift_del_res.delete.projects.keep_contain_labels = off
openshift_del_res.delete.projects.keep_contain_annotations = kubernetes.io/created-by,kubernetes.io/service-account.name=builder,kubernetes.io/service-account.name=default,kubernetes.io/service-account.name=deployer,kubernetes.io/service-account.name=jenkins,kubernetes.io/service-account.name=prometheus,kubernetes.io/service-account.name=test-sa
openshift_del_res.delete.projects.dpl.keep_name_mask = off
openshift_del_res.delete.projects.dc.keep_name_mask = off
openshift_del_res.delete.projects.is.keep_name_mask = off
openshift_del_res.delete.projects.routes.keep_name_mask = off
openshift_del_res.delete.projects.cfgmaps.keep_name_mask = ^istio-ca-root-cert$, ^kube-root-ca.crt$, ^openshift-service-ca.crt$
openshift_del_res.delete.projects.secrets.keep_name_mask = ^builder-*, ^default-*, ^deployer-*, ^jenkins-*, ^prometheus-*, ^test-sa-*
openshift_del_res.delete.projects.pods.keep_name_mask = off
openshift_del_res.delete.projects.srv.keep_name_mask = off
openshift_del_res.delete.projects.rplc.keep_name_mask = off
openshift_del_res.delete.projects.hps.keep_name_mask = off
openshift_del_res.delete.projects.rs.keep_name_mask = off
openshift_del_res.delete.projects.se.keep_name_mask = off
openshift_del_res.delete.projects.gw.keep_name_mask = off
openshift_del_res.delete.projects.dsr.keep_name_mask = off
openshift_del_res.delete.projects.vs.keep_name_mask = off
openshift_del_res.delete.projects.ef.keep_name_mask = off
# удаление сикретов env-commons, mq.jks и secret-secret
openshift_del_res.delete.projects.commons = off
# удаление всeх ресурсов проекта, кроме commons
openshift_del_res.delete.projects.all = off
# удаление deploymants
openshift_del_res.delete.projects.dpl = off
# удаление deploymentconfigs
openshift_del_res.delete.projects.dc = off
# удаление imagestreams
openshift_del_res.delete.projects.is = off
# удаление routes
openshift_del_res.delete.projects.routes = off
# удаление configmaps
openshift_del_res.delete.projects.cfgmaps = off
# удаление secrets
openshift_del_res.delete.projects.secrets = off
# удаление pods
openshift_del_res.delete.projects.pods = off
# удаление services
openshift_del_res.delete.projects.srv = off
# удаление replicationcontrollers
openshift_del_res.delete.projects.rplc = off
# удаление horizontalpodautoscalers
openshift_del_res.delete.projects.hpa = off
# удаление replicasets
openshift_del_res.delete.projects.rs = off
# удаление serviceentries
openshift_del_res.delete.projects.se = off
# удаление gateways
openshift_del_res.delete.projects.gw = off
# удаление destinationrules
openshift_del_res.delete.projects.dsr = off
# удаление virtualservices
openshift_del_res.delete.projects.vs = off

# удаление envoyfilters
# !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
openshift_del_res.delete.projects.ef = on
# !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

# тут писать имена удаляемых ресурсов, можно список - через запятую
# удаление deploymants
openshift_del_res.delete_by_name.projects.dpl = off
# удаление deploymentconfigs
openshift_del_res.delete_by_name.projects.dc = off
# удаление imagestreams
openshift_del_res.delete_by_name.projects.is = off
# удаление routes
openshift_del_res.delete_by_name.projects.routes = off
# удаление configmaps
openshift_del_res.delete_by_name.projects.cfgmaps = off
# удаление secrets
openshift_del_res.delete_by_name.projects.secrets = off
# удаление pods
openshift_del_res.delete_by_name.projects.pods = off
# удаление services
openshift_del_res.delete_by_name.projects.srv = off
# удаление replicationcontrollers
openshift_del_res.delete_by_name.projects.rplc = off
# удаление horizontalpodautoscalers
openshift_del_res.delete_by_name.projects.hpa = off
# удаление replicasets
openshift_del_res.delete_by_name.projects.rs = off
# удаление serviceentries
openshift_del_res.delete_by_name.projects.se = off
# удаление gateways
openshift_del_res.delete_by_name.projects.gw = off
# удаление destinationrules
openshift_del_res.delete_by_name.projects.dsr = off
# удаление virtualservices
openshift_del_res.delete_by_name.projects.vs = off
# удаление envoyfilters
openshift_del_res.delete_by_name.projects.ef = off
  • Выбрать playbook OPENSHIFT_DEL_RES;

  • Запустить задачу;

  • Убедиться в отсутствии ingress-tls-filter в проекте.

Обратная совместимость проверятся только относительно предыдущей версии компонента. Интеграция с другими сервисами проверяется в рамках одного релиза.