Minor updates to test the helm recipe 08/6308/1
authorBjornMagnussonXA <bjorn.magnusson@est.tech>
Fri, 11 Jun 2021 14:31:40 +0000 (16:31 +0200)
committerBjornMagnussonXA <bjorn.magnusson@est.tech>
Fri, 11 Jun 2021 14:31:49 +0000 (16:31 +0200)
Issue-ID: NONRTRIC-513
Signed-off-by: BjornMagnussonXA <bjorn.magnusson@est.tech>
Change-Id: I60581f7617c1dc9b8ef1828ef0b56a0b177ef8a5

test/auto-test/FTC_HELM_RECIPE_D_RELEASE.sh
test/common/agent_api_functions.sh
test/common/ecs_api_functions.sh
test/common/prodstub_api_functions.sh
test/common/testcase_common.sh
test/http-https-proxy/Dockerfile
test/mrstub/Dockerfile

index d1910d2..391fdcb 100755 (executable)
@@ -358,7 +358,11 @@ fi
 if [ $ECS_VERSION == "V1-1" ]; then
     prodstub_check_jobdata 200 prod-a job1 type1 $TARGET1 ricsim_g3_1 testdata/ecs/job-template.json
 else
-    prodstub_check_jobdata_2 200 prod-a job1 type1 $TARGET1 ricsim_g3_1 testdata/ecs/job-template.json
+    if [[ "$ECS_FEATURE_LEVEL" == *"INFO-TYPES"* ]]; then
+        prodstub_check_jobdata_3 200 prod-a job1 type1 $TARGET1 ricsim_g3_1 testdata/ecs/job-template.json
+    else
+        prodstub_check_jobdata_2 200 prod-a job1 type1 $TARGET1 ricsim_g3_1 testdata/ecs/job-template.json
+    fi
 fi
 
 ## Create a second job for prod-a
@@ -374,9 +378,9 @@ if [ $ECS_VERSION == "V1-1" ]; then
     prodstub_check_jobdata 200 prod-a job2 type1 $TARGET2 ricsim_g3_2 testdata/ecs/job-template.json
 else
     if [[ "$ECS_FEATURE_LEVEL" == *"INFO-TYPES"* ]]; then
-        prodstub_check_jobdata_2 200 prod-a job2 type1 $TARGET2 ricsim_g3_2 testdata/ecs/job-template.json
-    else
         prodstub_check_jobdata_3 200 prod-a job2 type1 $TARGET2 ricsim_g3_2 testdata/ecs/job-template.json
+    else
+        prodstub_check_jobdata_2 200 prod-a job2 type1 $TARGET2 ricsim_g3_2 testdata/ecs/job-template.json
     fi
 fi
 
index 2a2f8a7..767abb9 100644 (file)
@@ -183,7 +183,8 @@ start_policy_agent() {
                if [ $retcode_p -eq 0 ]; then
                        echo -e " Using existing $POLICY_AGENT_APP_NAME deployment and service"
                        echo " Setting $POLICY_AGENT_APP_NAME replicas=1"
-                       __kube_scale deployment $POLICY_AGENT_APP_NAME $KUBE_NONRTRIC_NAMESPACE 1
+                       res_type=$(__kube_get_resource_type $POLICY_AGENT_APP_NAME $KUBE_NONRTRIC_NAMESPACE)
+                       __kube_scale $res_type $POLICY_AGENT_APP_NAME $KUBE_NONRTRIC_NAMESPACE 1
                fi
 
                if [ $retcode_i -eq 0 ]; then
@@ -382,7 +383,8 @@ stop_policy_agent() {
                __check_prestarted_image "PA"
                if [ $? -eq 0 ]; then
                        echo -e $YELLOW" Persistency may not work for app $POLICY_AGENT_APP_NAME in multi-worker node config when running it as a prestarted app"$EYELLOW
-                       __kube_scale deployment $POLICY_AGENT_APP_NAME $KUBE_NONRTRIC_NAMESPACE 0
+                       res_type=$(__kube_get_resource_type $POLICY_AGENT_APP_NAME $KUBE_NONRTRIC_NAMESPACE)
+                       __kube_scale $res_type $POLICY_AGENT_APP_NAME $KUBE_NONRTRIC_NAMESPACE 0
                        return 0
                fi
                __kube_scale_all_resources $KUBE_NONRTRIC_NAMESPACE autotest PA
@@ -418,7 +420,8 @@ start_stopped_policy_agent() {
                __check_prestarted_image "PA"
                if [ $? -eq 0 ]; then
                        echo -e $YELLOW" Persistency may not work for app $POLICY_AGENT_APP_NAME in multi-worker node config when running it as a prestarted app"$EYELLOW
-                       __kube_scale deployment $POLICY_AGENT_APP_NAME $KUBE_NONRTRIC_NAMESPACE 1
+                       res_type=$(__kube_get_resource_type $POLICY_AGENT_APP_NAME $KUBE_NONRTRIC_NAMESPACE)
+                       __kube_scale $res_type $POLICY_AGENT_APP_NAME $KUBE_NONRTRIC_NAMESPACE 1
                        __check_service_start $POLICY_AGENT_APP_NAME $PA_PATH$POLICY_AGENT_ALIVE_URL
                        return 0
                fi
@@ -2205,7 +2208,12 @@ api_get_configuration() {
 pms_kube_pvc_reset() {
        __log_test_start $@
 
-       __kube_clean_pvc $POLICY_AGENT_APP_NAME nonrtric policymanagementservice-vardata-pvc /var/policy-management-service/database
+       pvc_name=$(kubectl get pvc -n nonrtric  --no-headers -o custom-columns=":metadata.name" | grep policy)
+       if [ -z "$pvc_name" ]; then
+               pvc_name=policymanagementservice-vardata-pvc
+       fi
+       echo " Trying to reset pvc: "$pvc_name
+       __kube_clean_pvc $POLICY_AGENT_APP_NAME nonrtric $pvc_name /var/policy-management-service/database
 
        __log_test_pass
        return 0
index 3edb88d..36b1f43 100644 (file)
@@ -185,7 +185,8 @@ start_ecs() {
                if [ $retcode_p -eq 0 ]; then
                        echo -e " Using existing $ECS_APP_NAME deployment and service"
                        echo " Setting ECS replicas=1"
-                       __kube_scale deployment $ECS_APP_NAME $KUBE_NONRTRIC_NAMESPACE 1
+                       res_type=$(__kube_get_resource_type $ECS_APP_NAME $KUBE_NONRTRIC_NAMESPACE)
+                       __kube_scale $res_type $ECS_APP_NAME $KUBE_NONRTRIC_NAMESPACE 1
                fi
 
                # Check if app shall be fully managed by the test script
@@ -366,7 +367,8 @@ stop_ecs() {
                __check_prestarted_image "ECS"
                if [ $? -eq 0 ]; then
                        echo -e $YELLOW" Persistency may not work for app $ECS_APP_NAME in multi-worker node config when running it as a prestarted app"$EYELLOW
-                       __kube_scale deployment $ECS_APP_NAME $KUBE_NONRTRIC_NAMESPACE 0
+                       res_type=$(__kube_get_resource_type $ECS_APP_NAME $KUBE_NONRTRIC_NAMESPACE)
+                       __kube_scale $res_type $ECS_APP_NAME $KUBE_NONRTRIC_NAMESPACE 0
                        return 0
                fi
 
@@ -403,7 +405,8 @@ start_stopped_ecs() {
                __check_prestarted_image "ECS"
                if [ $? -eq 0 ]; then
                        echo -e $YELLOW" Persistency may not work for app $ECS_APP_NAME in multi-worker node config when running it as a prestarted app"$EYELLOW
-                       __kube_scale deployment $ECS_APP_NAME $KUBE_NONRTRIC_NAMESPACE 1
+                       res_type=$(__kube_get_resource_type $ECS_APP_NAME $KUBE_NONRTRIC_NAMESPACE)
+                       __kube_scale $res_type $ECS_APP_NAME $KUBE_NONRTRIC_NAMESPACE 1
                        __check_service_start $ECS_APP_NAME $ECS_PATH$ECS_ALIVE_URL
                        return 0
                fi
@@ -2185,7 +2188,13 @@ ecs_api_admin_reset() {
 ecs_kube_pvc_reset() {
        __log_test_start $@
 
-       __kube_clean_pvc $ECS_APP_NAME nonrtric enrichmentservice-pvc /var/enrichment-coordinator-service/database
+       pvc_name=$(kubectl get pvc -n nonrtric  --no-headers -o custom-columns=":metadata.name" | grep enrichment)
+       if [ -z "$pvc_name" ]; then
+               pvc_name=enrichmentservice-pvc
+       fi
+       echo " Trying to reset pvc: "$pvc_name
+
+       __kube_clean_pvc $ECS_APP_NAME nonrtric $pvc_name /var/enrichment-coordinator-service/database
 
        __log_test_pass
        return 0
index 54e59e3..f80e827 100644 (file)
@@ -447,8 +447,12 @@ prodstub_check_jobdata_2() {
        __log_test_fail_general "Template file "$7" for jobdata, does not exist"
         return 1
     fi
-    targetJson="{\"ei_job_identity\":\"$3\",\"ei_type_identity\":\"$4\",\"target_uri\":\"$5\",\"owner\":\"$6\", \"ei_job_data\":$jobfile,\"last_updated\":\"????\"}"
-    file="./tmp/.p.json"
+       if [[ "$ECS_FEATURE_LEVEL" == *"INFO-TYPES"* ]]; then
+               targetJson="{\"info_job_identity\":\"$3\",\"info_type_identity\":\"$4\",\"target_uri\":\"$5\",\"owner\":\"$6\", \"info_job_data\":$jobfile,\"last_updated\":\"????\"}"
+       else
+               targetJson="{\"ei_job_identity\":\"$3\",\"ei_type_identity\":\"$4\",\"target_uri\":\"$5\",\"owner\":\"$6\", \"ei_job_data\":$jobfile,\"last_updated\":\"????\"}"
+    fi
+       file="./tmp/.p.json"
        echo "$targetJson" > $file
 
     curlString="curl -X GET -skw %{http_code} $PROD_STUB_PATH/jobdata/$2/$3"
index 41135af..33cb658 100755 (executable)
@@ -1619,6 +1619,23 @@ __clean_containers() {
 ### Functions for kube management
 ###################################
 
+# Get resource type for scaling
+# args: <resource-name> <namespace>
+__kube_get_resource_type() {
+       kubectl get deployment $1 -n $2 1> /dev/null 2> ./tmp/kubeerr
+       if [ $? -eq 0 ]; then
+               echo "deployment"
+               return 0
+       fi
+       kubectl get sts $1 -n $2 1> /dev/null 2> ./tmp/kubeerr
+       if [ $? -eq 0 ]; then
+               echo "sts"
+               return 0
+       fi
+       echo "unknown-resource-type"
+       return 1
+}
+
 # Scale a kube resource to a specific count
 # args: <resource-type> <resource-name> <namespace> <target-count>
 # (Not for test scripts)
@@ -1973,7 +1990,7 @@ __kube_clean_pvc() {
 
        envsubst < $input_yaml > $output_yaml
 
-       kubectl delete -f $output_yaml #> /dev/null 2>&1    # Delete the previous terminated pod - if existing
+       kubectl delete -f $output_yaml 1> /dev/null 2> /dev/null   # Delete the previous terminated pod - if existing
 
        __kube_create_instance pod pvc-cleaner $input_yaml $output_yaml
        if [ $? -ne 0 ]; then
@@ -2150,13 +2167,6 @@ __start_container() {
        appcount=$1
        shift
 
-       os_version=$(uname -a 2> /dev/null | awk '{print tolower($0)}' | grep "microsoft")
-       if [[ "$os_version" == *"microsoft"* ]]; then
-               echo -e $YELLOW" Workaround for Linux on Win - delay container start, 1 sec, to make sure files mounted in the container are available on disk - WLS problem"$EYELLOW
-               sleep 1
-       fi
-
-
        if [ "$compose_args" == "NODOCKERARGS" ]; then
                docker-compose -f $compose_file up -d &> .dockererr
                if [ $? -ne 0 ]; then
index 1ae78f4..d7a78ad 100644 (file)
@@ -5,7 +5,9 @@ FROM ${NEXUS_PROXY_REPO}node:16-alpine3.12
 ENV NODE_ENV=production
 
 WORKDIR /usr/src/app/cert
-COPY cert/*.crt ./   #Need trailing slash on dest for multiple file copy
+
+# Need trailing slash on dest for multiple file copy
+COPY cert/*.crt ./
 COPY cert/pass .
 
 WORKDIR /usr/src/app
index 5219e74..676c77c 100644 (file)
@@ -19,18 +19,19 @@ ARG NEXUS_PROXY_REPO
 
 FROM ${NEXUS_PROXY_REPO}python:3.8-slim-buster
 
-COPY app/ /usr/src/app/
-COPY cert/ /usr/src/app/cert/
-
-WORKDIR /usr/src/app/
-
-RUN chmod +x start.sh
+# Change order to fix problem with WSL
 
 #install nginx
 RUN apt-get update
 RUN apt-get install -y nginx=1.14.*
 
-#start mrstub
+COPY app/ /usr/src/app/
+COPY cert/ /usr/src/app/cert/
+
+WORKDIR /usr/src/app
+
 RUN pip install -r requirements.txt
 
+RUN chmod +x start.sh
+
 CMD [ "./start.sh" ]
\ No newline at end of file