From 987d10626a05dacece4b8bd682e5c938f91c6559 Mon Sep 17 00:00:00 2001 From: terc1997 <64480693+terc1997@users.noreply.github.com> Date: Wed, 10 Sep 2025 17:19:21 -0300 Subject: [PATCH 1/2] [patch] patch namespace if it's created and without kyverno label --- src/mas/devops/ocp.py | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/src/mas/devops/ocp.py b/src/mas/devops/ocp.py index 9ce52219..e44dad7d 100644 --- a/src/mas/devops/ocp.py +++ b/src/mas/devops/ocp.py @@ -100,8 +100,17 @@ def createNamespace(dynClient: DynamicClient, namespace: str, kyvernoLabel: str """ namespaceAPI = dynClient.resources.get(api_version="v1", kind="Namespace") try: - namespaceAPI.get(name=namespace) - logger.debug(f"Namespace {namespace} already exists") + ns = namespaceAPI.get(name=namespace) + logger.info(f"Namespace {namespace} already exists") + if kyvernoLabel is not None: + if ns.metadata.labels is None or "ibm.com/kyverno" not in ns.metadata.labels.keys() or ns.metadata.labels["ibm.com/kyverno"] != kyvernoLabel: + logger.info(f"Patching namespace with Kyverno Labels ibm.com/kyverno: {kyvernoLabel}") + body = {"metadata":{"labels":{"ibm.com/kyverno": kyvernoLabel}}} + namespaceAPI.patch( + name=namespace, + body=body, + content_type="application/merge-patch+json" + ) except NotFoundError: nsObj = { "apiVersion": "v1", From 8f3dbcccbe62ea7bfef7fa8d6497aa38c81d9e9b Mon Sep 17 00:00:00 2001 From: terc1997 <64480693+terc1997@users.noreply.github.com> Date: Wed, 10 Sep 2025 17:21:53 -0300 Subject: [PATCH 2/2] [patch] fix formatting --- src/mas/devops/ocp.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/mas/devops/ocp.py b/src/mas/devops/ocp.py index e44dad7d..b4b5a903 100644 --- a/src/mas/devops/ocp.py +++ b/src/mas/devops/ocp.py @@ -105,7 +105,7 @@ def createNamespace(dynClient: DynamicClient, namespace: str, kyvernoLabel: str if kyvernoLabel is not None: if ns.metadata.labels is None or "ibm.com/kyverno" not in ns.metadata.labels.keys() or ns.metadata.labels["ibm.com/kyverno"] != kyvernoLabel: logger.info(f"Patching namespace with Kyverno Labels ibm.com/kyverno: {kyvernoLabel}") - body = {"metadata":{"labels":{"ibm.com/kyverno": kyvernoLabel}}} + body = {"metadata": {"labels": {"ibm.com/kyverno": kyvernoLabel}}} namespaceAPI.patch( name=namespace, body=body,