From c12b03245aacad081ff12f8d4440b6fc416942c7 Mon Sep 17 00:00:00 2001 From: Jim Gauld Date: Tue, 12 Oct 2021 16:32:53 -0400 Subject: [PATCH] Support kubernetes 1.21 removal of namespace API export parameter The following Kubernetes client APIs changed and required usage changes. The 'export' parameter was deprecated in v1.14 and is no longer supported in v1.21 . - c.read_namespaced_secret() - c.read_namespaced_config_map() Subsequent API create calls (i.e., c.create_namespaced_secret(), c.create_namespaced_config_map()) requires superfluous fields to be removed from metadata. This is done explicity by setting resource_version to None. These APIs are specifically used during 'system application-apply X'. Story: 2008972 Task: 43604 Test Plan: Testing with commits for topic: kubernetes-1.21.3 PASS: Install AIO-DX with kubernetes_version 1.18.1 PASS: Install AIO-DX with kubernetes_version 1.20.9 PASS: Install AIO-SX with kubernetes_version 1.21.3 PASS: Install AIO-DX with kubernetes_version 1.21.3 PASS: Install Standard with kubernetes_version 1.21.3 PASS: Kubernetes 1.21.3, verify cpu-manager 'static' policy isolation of Guaranteed resource limit pods verify kubelet cpu-manager logs for pod apply PASS: Kubernetes 1.21.3, verify cpu-manager 'static' policy isolation of 'windriver.com/isolcpus' resource limit pods verify kubelet cpu-manager logs for pod apply PASS: Kubernetes 1.21.3 Verify platform apps: cert-manager, platorm-integ-apps PASS: Kubernetes 1.18.1 Create and delete PersistentVolumeClaim PASS: Kubernetes 1.20.9 Create and delete PersistentVolumeClaim PASS: Kubernetes 1.21.3 Create and delete PersistentVolumeClaim PASS: Apply and remove application and verify PASS: Kubernetes 1.18.1 Verify pause image version is 3.2 PASS: Kubernetes 1.20.9 Verify pause image version is 3.2 PASS: Kubernetes 1.21.3 Verify pause image version is 3.4.1 PASS: Kubernetes 1.18.1 Verify cgroupDriver is cgroupfs PASS: Kubernetes 1.20.9 Verify cgroupDriver is cgroupfs PASS: Kubernetes 1.21.3 Verify cgroupDriver is cgroupfs Signed-off-by: Jim Gauld Change-Id: Id8448c4cd3ca9839fde8b001ec05403284dc5bf4 --- sysinv/sysinv/sysinv/sysinv/common/kubernetes.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/sysinv/sysinv/sysinv/sysinv/common/kubernetes.py b/sysinv/sysinv/sysinv/sysinv/common/kubernetes.py index c38f0c8ad4..617701bb16 100644 --- a/sysinv/sysinv/sysinv/sysinv/common/kubernetes.py +++ b/sysinv/sysinv/sysinv/sysinv/common/kubernetes.py @@ -449,7 +449,8 @@ class KubeOperator(object): def kube_copy_secret(self, name, src_namespace, dst_namespace): c = self._get_kubernetesclient_core() try: - body = c.read_namespaced_secret(name, src_namespace, export=True) + body = c.read_namespaced_secret(name, src_namespace) + body.metadata.resource_version = None body.metadata.namespace = dst_namespace c.create_namespaced_secret(dst_namespace, body) except Exception as e: @@ -563,7 +564,8 @@ class KubeOperator(object): def kube_copy_config_map(self, name, src_namespace, dst_namespace): c = self._get_kubernetesclient_core() try: - body = c.read_namespaced_config_map(name, src_namespace, export=True) + body = c.read_namespaced_config_map(name, src_namespace) + body.metadata.resource_version = None body.metadata.namespace = dst_namespace c.create_namespaced_config_map(dst_namespace, body) except Exception as e: