Feature 10991: k8s_04 test now checks labels injected into Kubernetes objects before... 41/14441/19
authorPedro Pereira <pedrocjdpereira@av.it.pt>
Sat, 22 Jun 2024 11:23:51 +0000 (12:23 +0100)
committerPedro Pereira <pedrocjdpereira@av.it.pt>
Mon, 15 Jul 2024 10:06:37 +0000 (11:06 +0100)
Change-Id: I89c9e281e2b851135545d4f72f21ed8820db5275
Signed-off-by: Pedro Pereira <pedrocjdpereira@av.it.pt>
robot-systest/lib/ns_lib.resource
robot-systest/testsuite/k8s_04-openldap_helm.robot

index 9b2cc6f..9c996c0 100644 (file)
@@ -182,6 +182,22 @@ Get Vnf Vdur Names
     @{vdur}=   Split String   ${stdout}
     RETURN   @{vdur}
 
+Check Kdu Labels
+    [Documentation]   Return the labels of the deployed Kubernetes objects associated with a NS instance.
+    [Arguments]   ${ns_id}   ${vnf_id}   ${kdu_name}
+    Should Not Be Empty   ${ns_id}
+    Should Not Be Empty   ${vnf_id}
+    Should Not Be Empty   ${kdu_name}
+    ${rc}   ${stdout}=   Run And Return Rc And Output   osm ns-show ${ns_id} --literal | yq -r '._admin.deployed.K8s[0]."detailed-status"' | yq -r '.manifest[0].metadata.labels'
+    Log   ${stdout}
+    Should Be Equal As Integers   ${rc}   ${SUCCESS_RETURN_CODE}   msg=${stdout}   values=False
+    ${labels}=   Evaluate   json.loads('''${stdout}''')   json
+    Should Be Equal As Strings   ${labels["managed-by"]}   osm.etsi.org   msg=${labels}
+    Should Be Equal As Strings   ${labels["osm.etsi.org/ns-id"]}   ${ns_id}   msg=${labels}
+    Should Be Equal As Strings   ${labels["osm.etsi.org/vnf-id"]}   ${vnf_id}   msg=${labels}
+    Should Be Equal As Strings   ${labels["osm.etsi.org/kdu-name"]}   ${kdu_name}   msg=${labels}
+    RETURN   ${labels}
+
 Get Vnf Kdu Replica Count
     [Documentation]   Return the number of KDU replicas (empty if none) of a VNF instance.
     [Arguments]   ${vnf_id}   ${kdu_name}
index 74cd4d5..a37d653 100644 (file)
@@ -84,6 +84,13 @@ Get Vnf Id
     Log List   ${vnfr_list}
     Set Suite Variable   ${VNF_ID}   ${vnfr_list}[0]
 
+Check Labels Injected Into Kubernetes Objects
+    [Documentation]   Check that labels were correctly injected into the deployed Kubernetes objects.
+    [Tags]   verify
+    Variable Should Exist   ${NS_ID}   msg=Network service instance is not available
+    ${stdout}=   Check Kdu Labels   ${NS_ID}   ${VNF_ID}   ${KDU_NAME}
+    Log   ${stdout}
+
 Execute Upgrade Operation
     [Documentation]   Perform OSM action to upgrade the number of replicas of a deployment in the CNF.
     [Tags]   verify