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 <app> and verify <app>
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 <james.gauld@windriver.com>
Change-Id: Id8448c4cd3ca9839fde8b001ec05403284dc5bf4
This commit is contained in:
Jim Gauld 2021-10-12 16:32:53 -04:00
parent dd5569593a
commit c12b03245a
1 changed files with 4 additions and 2 deletions

View File

@ -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: