[SEBA-308] Save container logs after each test case in ATT workflow test

Change-Id: I1feac976d752bf73b1bf7335fb0c19bb1dad4980
diff --git a/src/test/cord-api/Framework/Kubernetes.robot b/src/test/cord-api/Framework/Kubernetes.robot
index a76fd4f..3f46c52 100644
--- a/src/test/cord-api/Framework/Kubernetes.robot
+++ b/src/test/cord-api/Framework/Kubernetes.robot
@@ -21,6 +21,7 @@
 Library           RequestsLibrary
 Library           utils/utils.py
 Library           restApi.py
+Resource          ../../Framework/utils/utils.robot
 
 *** Keywords ***
 Helm Chart is Removed
@@ -51,3 +52,25 @@
     Run    ${export_kubeconfig}; helm upgrade -f ${KUBERNETES_YAML} --set etcd-operator.customResources.createEtcdClusterCRD=true voltha ${HELM_CHARTS_DIR}/voltha
     Wait Until Keyword Succeeds    60s    10s    Kubernetes PODs in Namespace are Running    voltha    ${VOLTHA_POD_NUM}
     Sleep    10s
+
+Get Current Datetime On Kubernetes Node
+    [Arguments]    ${ip}    ${user}    ${pass}
+    ${result}=    Login And Run Command On Remote System    date +"%Y-%m-%dT%H:%M:%S.%NZ"    ${ip}    ${user}    ${pass}
+    ${result}=    Get Line    ${result}    0
+    [Return]    ${result}
+
+Log Kubernetes Container Log Since Time
+    [Arguments]    ${datetime}    ${container_name}
+    ${rc}    ${output}=    Run And Return Rc And Output    ${export_kubeconfig}; kubectl logs --timestamps --since-time=${datetime} ${container_name}
+    Log    ${output}
+
+Log Kubernetes Containers Logs Since Time
+    [Arguments]    ${datetime}    ${container_list}
+    : FOR    ${container_name}    IN    @{container_list}
+    \    Log Kubernetes Container Log Since Time     ${datetime}    ${container_name}
+
+Get Kubernetes POD Name By Prefix
+    [Arguments]    ${prefix}
+    [Documentation]    Return the first POD name that starts with the specified prefix
+    ${rc}    ${output}=    Run And Return Rc And Output    ${export_kubeconfig}; kubectl get pods | grep '^${prefix}' | head -1 | awk '{print $1}'
+    [Return]    ${output}