New test profile 28/8928/1
authorBjornMagnussonXA <bjorn.magnusson@est.tech>
Wed, 24 Aug 2022 07:17:44 +0000 (09:17 +0200)
committerBjornMagnussonXA <bjorn.magnusson@est.tech>
Wed, 24 Aug 2022 07:18:09 +0000 (09:18 +0200)
Minor simplification of A1PMS data config handling

Issue-ID: NONRTRIC-785
Signed-off-by: BjornMagnussonXA <bjorn.magnusson@est.tech>
Change-Id: I7c6fdbf82ccbb656c8c4c27c60ec3dfede598bf1

25 files changed:
test/auto-test/FTC1.sh
test/auto-test/FTC10.sh
test/auto-test/FTC100.sh
test/auto-test/FTC110.sh
test/auto-test/FTC1100.sh
test/auto-test/FTC2001.sh
test/auto-test/FTC2003.sh
test/auto-test/FTC300.sh
test/auto-test/FTC3000.sh
test/auto-test/FTC3001.sh
test/auto-test/FTC310.sh
test/auto-test/FTC350.sh
test/auto-test/FTC800.sh
test/auto-test/FTC805.sh
test/auto-test/FTC810.sh
test/auto-test/FTC850.sh
test/auto-test/FTC900.sh
test/auto-test/ONAP_UC.sh
test/auto-test/PM_DEMO.sh
test/auto-test/PM_EI_DEMO.sh
test/common/a1pms_api_functions.sh
test/common/test_env-onap-jakarta.sh
test/common/test_env-oran-e-release.sh
test/common/test_env-oran-f-release.sh
test/common/test_env-oran-g-release.sh [new file with mode: 0755]

index adb2f22..6900b21 100755 (executable)
@@ -120,11 +120,19 @@ for __httpx in $TESTED_PROTOCOLS ; do
             start_gateway $SIM_GROUP/$NRT_GATEWAY_COMPOSE_DIR/$NRT_GATEWAY_CONFIG_FILE
         fi
 
+        __CONFIG_HEADER="NOHEADER"
+        if [ $RUNMODE == "KUBE" ]; then
+            __CONFIG_HEADER="HEADER"
+        else
+            if [[ "$A1PMS_FEATURE_LEVEL" == *"NOCONSUL"* ]]; then
+                __CONFIG_HEADER="HEADER"
+            fi
+        fi
         if [[ $interface = *"SDNC"* ]]; then
             start_sdnc
-            prepare_consul_config      SDNC    ".consul_config.json"
+            prepare_consul_config      SDNC    ".consul_config.json" $__CONFIG_HEADER
         else
-            prepare_consul_config      NOSDNC  ".consul_config.json"
+            prepare_consul_config      NOSDNC  ".consul_config.json" $__CONFIG_HEADER
         fi
 
         if [ $RUNMODE == "KUBE" ]; then
index 35fc80b..381e465 100755 (executable)
@@ -84,7 +84,15 @@ set_a1pms_debug
 
 use_a1pms_rest_http
 
-prepare_consul_config      NOSDNC  ".consul_config.json"
+__CONFIG_HEADER="NOHEADER"
+if [ $RUNMODE == "KUBE" ]; then
+    __CONFIG_HEADER="HEADER"
+else
+    if [[ "$A1PMS_FEATURE_LEVEL" == *"NOCONSUL"* ]]; then
+        __CONFIG_HEADER="HEADER"
+    fi
+fi
+prepare_consul_config      NOSDNC  ".consul_config.json" $__CONFIG_HEADER
 
 if [ $RUNMODE == "KUBE" ]; then
     a1pms_load_config                       ".consul_config.json"
index dfcee33..4f33c58 100755 (executable)
@@ -221,11 +221,19 @@ for __httpx in $TESTED_PROTOCOLS ; do
             start_gateway $SIM_GROUP/$NRT_GATEWAY_COMPOSE_DIR/$NRT_GATEWAY_CONFIG_FILE
         fi
 
+        __CONFIG_HEADER="NOHEADER"
+        if [ $RUNMODE == "KUBE" ]; then
+            __CONFIG_HEADER="HEADER"
+        else
+            if [[ "$A1PMS_FEATURE_LEVEL" == *"NOCONSUL"* ]]; then
+                __CONFIG_HEADER="HEADER"
+            fi
+        fi
         if [[ $interface = *"SDNC"* ]]; then
             start_sdnc
-            prepare_consul_config      SDNC    ".consul_config.json"
+            prepare_consul_config      SDNC    ".consul_config.json" $__CONFIG_HEADER
         else
-            prepare_consul_config      NOSDNC  ".consul_config.json"
+            prepare_consul_config      NOSDNC  ".consul_config.json" $__CONFIG_HEADER
         fi
 
         if [ $RUNMODE == "KUBE" ]; then
index c1c744e..c71732e 100755 (executable)
@@ -73,7 +73,15 @@ fi
 
 start_a1pms NORPOXY $SIM_GROUP/$A1PMS_COMPOSE_DIR/$A1PMS_CONFIG_FILE
 
-prepare_consul_config      NOSDNC  ".consul_config.json"
+__CONFIG_HEADER="NOHEADER"
+if [ $RUNMODE == "KUBE" ]; then
+    __CONFIG_HEADER="HEADER"
+else
+    if [[ "$A1PMS_FEATURE_LEVEL" == *"NOCONSUL"* ]]; then
+        __CONFIG_HEADER="HEADER"
+    fi
+fi
+prepare_consul_config      NOSDNC  ".consul_config.json" $__CONFIG_HEADER
 
 if [ $RUNMODE == "KUBE" ]; then
     a1pms_load_config                       ".consul_config.json"
index b8c3045..8075f14 100755 (executable)
@@ -20,7 +20,7 @@
 
 TC_ONELINE_DESCR="ICS full interfaces walkthrough - with or without istio enabled"
 
-USE_ISTIO=1
+USE_ISTIO=0
 
 #App names to include in the test when running docker, space separated list
 DOCKER_INCLUDED_IMAGES="ICS PRODSTUB CR RICSIM CP HTTPPROXY NGW KUBEPROXY"
index 6c9c27b..a9db814 100755 (executable)
@@ -79,7 +79,16 @@ fi
 
 start_a1pms PROXY $SIM_GROUP/$A1PMS_COMPOSE_DIR/$A1PMS_CONFIG_FILE
 
-prepare_consul_config      NOSDNC  ".consul_config.json"
+__CONFIG_HEADER="NOHEADER"
+if [ $RUNMODE == "KUBE" ]; then
+    __CONFIG_HEADER="HEADER"
+else
+    if [[ "$A1PMS_FEATURE_LEVEL" == *"NOCONSUL"* ]]; then
+    __CONFIG_HEADER="HEADER"
+    fi
+fi
+
+prepare_consul_config      NOSDNC  ".consul_config.json" $__CONFIG_HEADER
 
 if [ $RUNMODE == "KUBE" ]; then
     a1pms_load_config                       ".consul_config.json"
index a16ce6b..33515ea 100755 (executable)
@@ -82,7 +82,17 @@ ics_api_idc_get_job_ids 200 NOTYPE NOWNER EMPTY
 ics_api_idc_get_type_ids 200 ExampleInformationType ExampleInformationTypeKafka
 
 
-ics_api_edp_get_producer_ids_2 200 NOTYPE DmaapGenericInfoProducer
+if [[ "$DMAAP_ADP_FEATURE_LEVEL" == *"GENERATED_PROD_NAME"* ]]; then
+    if [ $RUNMODE == "KUBE" ]; then
+        __NAME="https:__$DMAAP_ADP_APP_NAME.$KUBE_NONRTRIC_NAMESPACE:$DMAAP_ADP_EXTERNAL_SECURE_PORT"
+    else
+        __NAME="https:__$DMAAP_ADP_APP_NAME:$DMAAP_ADP_INTERNAL_SECURE_PORT"
+    fi
+    ics_api_edp_get_producer_ids_2 200 NOTYPE $__NAME
+else
+    ics_api_edp_get_producer_ids_2 200 NOTYPE DmaapGenericInfoProducer
+fi
+
 
 for ((i=1; i<=$NUM_JOBS; i++))
 do
index 1458673..36b31fd 100755 (executable)
@@ -112,11 +112,19 @@ for __httpx in $TESTED_PROTOCOLS ; do
 
         set_a1pms_debug
 
+        __CONFIG_HEADER="NOHEADER"
+        if [ $RUNMODE == "KUBE" ]; then
+            __CONFIG_HEADER="HEADER"
+        else
+            if [[ "$A1PMS_FEATURE_LEVEL" == *"NOCONSUL"* ]]; then
+                __CONFIG_HEADER="HEADER"
+            fi
+        fi
         if [[ $interface = *"SDNC"* ]]; then
             start_sdnc
-            prepare_consul_config      SDNC    ".consul_config.json"
+            prepare_consul_config      SDNC    ".consul_config.json" $__CONFIG_HEADER
         else
-            prepare_consul_config      NOSDNC  ".consul_config.json"
+            prepare_consul_config      NOSDNC  ".consul_config.json" $__CONFIG_HEADER
         fi
 
         if [ $RUNMODE == "KUBE" ]; then
index 7c78cfc..72a920e 100755 (executable)
@@ -96,7 +96,17 @@ ics_equal json:data-producer/v1/info-producers 2 60
 
 # Check producers
 ics_api_idc_get_job_ids 200 NOTYPE NOWNER EMPTY
-ics_api_edp_get_producer_ids_2 200 NOTYPE DmaapGenericInfoProducer DMaaP_Mediator_Producer
+if [[ "$DMAAP_ADP_FEATURE_LEVEL" == *"GENERATED_PROD_NAME"* ]]; then
+    if [ $RUNMODE == "KUBE" ]; then
+        __NAME="https:__$DMAAP_ADP_APP_NAME.$KUBE_NONRTRIC_NAMESPACE:$DMAAP_ADP_EXTERNAL_SECURE_PORT"
+    else
+        __NAME="https:__$DMAAP_ADP_APP_NAME:$DMAAP_ADP_INTERNAL_SECURE_PORT"
+    fi
+    ics_api_edp_get_producer_ids_2 200 NOTYPE $__NAME DMaaP_Mediator_Producer
+else
+    ics_api_edp_get_producer_ids_2 200 NOTYPE DmaapGenericInfoProducer DMaaP_Mediator_Producer
+fi
+
 if [[ "$DMAAP_MED_FEATURE_LEVEL" != *"KAFKATYPES"* ]]; then
     ics_api_idc_get_type_ids 200 ExampleInformationType STD_Fault_Messages ExampleInformationTypeKafka
 else
index 7346287..26ba3f2 100755 (executable)
@@ -126,7 +126,17 @@ ics_equal json:data-producer/v1/info-producers 2 60
 
 # Check producers
 ics_api_idc_get_job_ids 200 NOTYPE NOWNER EMPTY
-ics_api_edp_get_producer_ids_2 200 NOTYPE DmaapGenericInfoProducer DMaaP_Mediator_Producer
+if [[ "$DMAAP_ADP_FEATURE_LEVEL" == *"GENERATED_PROD_NAME"* ]]; then
+    if [ $RUNMODE == "KUBE" ]; then
+        __NAME="https:__$DMAAP_ADP_APP_NAME.$KUBE_NONRTRIC_NAMESPACE:$DMAAP_ADP_EXTERNAL_SECURE_PORT"
+    else
+        __NAME="https:__$DMAAP_ADP_APP_NAME:$DMAAP_ADP_INTERNAL_SECURE_PORT"
+    fi
+    ics_api_edp_get_producer_ids_2 200 NOTYPE $__NAME DMaaP_Mediator_Producer
+else
+    ics_api_edp_get_producer_ids_2 200 NOTYPE DmaapGenericInfoProducer DMaaP_Mediator_Producer
+fi
+
 ics_api_idc_get_type_ids 200 $adp_med_type_list
 
 
index c6f063a..c776a78 100755 (executable)
@@ -81,7 +81,15 @@ for consul_conf in $TESTED_VARIANTS ; do
         start_consul_cbs
     fi
 
-    prepare_consul_config      NOSDNC  ".consul_config.json"
+    __CONFIG_HEADER="NOHEADER"
+    if [ $RUNMODE == "KUBE" ]; then
+        __CONFIG_HEADER="HEADER"
+    else
+        if [[ "$A1PMS_FEATURE_LEVEL" == *"NOCONSUL"* ]]; then
+            __CONFIG_HEADER="HEADER"
+        fi
+    fi
+    prepare_consul_config      NOSDNC  ".consul_config.json" $__CONFIG_HEADER
 
     if [ "$A1PMS_VERSION" == "V2" ] && [ $consul_conf == "NOCONSUL" ]; then
         a1pms_api_put_configuration 200 ".consul_config.json"
@@ -103,7 +111,7 @@ for consul_conf in $TESTED_VARIANTS ; do
     # Add an STD RIC and check
     start_ric_simulators ricsim_g2 2  STD_1.1.3
 
-    prepare_consul_config      NOSDNC  ".consul_config.json"
+    prepare_consul_config      NOSDNC  ".consul_config.json" $__CONFIG_HEADER
     if [ "$A1PMS_VERSION" == "V2" ] && [ $consul_conf == "NOCONSUL" ]; then
         a1pms_api_put_configuration 200 ".consul_config.json"
         a1pms_api_get_configuration 200 ".consul_config.json"
@@ -127,7 +135,7 @@ for consul_conf in $TESTED_VARIANTS ; do
     # Remove one RIC RIC and check
     start_ric_simulators ricsim_g2 1  STD_1.1.3
 
-    prepare_consul_config      NOSDNC  ".consul_config.json"
+    prepare_consul_config      NOSDNC  ".consul_config.json" $__CONFIG_HEADER
     if [ "$A1PMS_VERSION" == "V2" ] && [ $consul_conf == "NOCONSUL" ]; then
         a1pms_api_put_configuration 200 ".consul_config.json"
         a1pms_api_get_configuration 200 ".consul_config.json"
index 8cee8e5..5188eef 100755 (executable)
@@ -81,21 +81,30 @@ for interface in $TESTED_VARIANTS ; do
         fi
     fi
 
+    __CONFIG_HEADER="NOHEADER"
+    if [ $RUNMODE == "KUBE" ]; then
+        __CONFIG_HEADER="HEADER"
+    else
+        if [[ "$A1PMS_FEATURE_LEVEL" == *"NOCONSUL"* ]]; then
+        __CONFIG_HEADER="HEADER"
+        fi
+    fi
+
     # Create first config
     if [[ $interface = *"SDNC"* ]]; then
         start_sdnc
-        prepare_consul_config      SDNC  ".consul_config_initial.json"
+        prepare_consul_config      SDNC  ".consul_config_initial.json"  $__CONFIG_HEADER
     else
-        prepare_consul_config      NOSDNC  ".consul_config_initial.json"
+        prepare_consul_config      NOSDNC  ".consul_config_initial.json" $__CONFIG_HEADER
     fi
 
     # Create 2nd config and save for later
     start_ric_simulators ricsim_g1 $NUM_RICS OSC_2.1.0
 
     if [[ $interface = *"SDNC"* ]]; then
-        prepare_consul_config      SDNC  ".consul_config_all.json"
+        prepare_consul_config      SDNC  ".consul_config_all.json" $__CONFIG_HEADER
     else
-        prepare_consul_config      NOSDNC  ".consul_config_all.json"
+        prepare_consul_config      NOSDNC  ".consul_config_all.json" $__CONFIG_HEADER
     fi
 
     if [ $RUNMODE == "KUBE" ] && [[ "$A1PMS_FEATURE_LEVEL" == *"INITIALCONFIGMAP"* ]]; then
index 4f704d2..61bb8ee 100755 (executable)
@@ -110,11 +110,20 @@ for __httpx in $TESTED_PROTOCOLS ; do
         if [ "$A1PMS_VERSION" == "V2" ]; then
             sim_put_policy_type 201 ricsim_g3_1 STD_QOS2_0.1.0 testdata/STD2/sim_qos2.json
         fi
+
+        __CONFIG_HEADER="NOHEADER"
+        if [ $RUNMODE == "KUBE" ]; then
+            __CONFIG_HEADER="HEADER"
+        else
+            if [[ "$A1PMS_FEATURE_LEVEL" == *"NOCONSUL"* ]]; then
+            __CONFIG_HEADER="HEADER"
+            fi
+        fi
         if [[ $interface == "SDNC" ]]; then
             start_sdnc
-            prepare_consul_config      SDNC    ".consul_config.json"
+            prepare_consul_config      SDNC    ".consul_config.json" $__CONFIG_HEADER
         else
-            prepare_consul_config      NOSDNC  ".consul_config.json"
+            prepare_consul_config      NOSDNC  ".consul_config.json" $__CONFIG_HEADER
         fi
 
         if [ $RUNMODE == "KUBE" ]; then
index 00aa525..c32f476 100755 (executable)
@@ -106,11 +106,20 @@ for __httpx in $TESTED_PROTOCOLS ; do
 
         set_a1pms_debug
 
+        __CONFIG_HEADER="NOHEADER"
+        if [ $RUNMODE == "KUBE" ]; then
+            __CONFIG_HEADER="HEADER"
+        else
+            if [[ "$A1PMS_FEATURE_LEVEL" == *"NOCONSUL"* ]]; then
+            __CONFIG_HEADER="HEADER"
+            fi
+        fi
+
         if [[ $interface = *"SDNC"* ]]; then
             start_sdnc
-            prepare_consul_config      SDNC  ".consul_config.json"
+            prepare_consul_config      SDNC  ".consul_config.json" $__CONFIG_HEADER
         else
-            prepare_consul_config      NOSDNC  ".consul_config.json"
+            prepare_consul_config      NOSDNC  ".consul_config.json"  $__CONFIG_HEADER
         fi
 
         if [ $RUNMODE == "KUBE" ]; then
index 89c347a..4fcd42f 100755 (executable)
@@ -98,7 +98,16 @@ fi
 
 start_a1pms NORPOXY $SIM_GROUP/$A1PMS_COMPOSE_DIR/$A1PMS_CONFIG_FILE
 
-prepare_consul_config      SDNC  ".consul_config.json"
+__CONFIG_HEADER="NOHEADER"
+if [ $RUNMODE == "KUBE" ]; then
+   __CONFIG_HEADER="HEADER"
+else
+   if [[ "$A1PMS_FEATURE_LEVEL" == *"NOCONSUL"* ]]; then
+   __CONFIG_HEADER="HEADER"
+   fi
+fi
+
+prepare_consul_config      SDNC  ".consul_config.json" $__CONFIG_HEADER
 
 if [ $RUNMODE == "KUBE" ]; then
     a1pms_load_config                       ".consul_config.json"
index 52456ca..6886b99 100755 (executable)
@@ -107,11 +107,20 @@ for __httpx in $TESTED_PROTOCOLS ; do
 
         set_a1pms_debug
 
+        __CONFIG_HEADER="NOHEADER"
+        if [ $RUNMODE == "KUBE" ]; then
+            __CONFIG_HEADER="HEADER"
+        else
+            if [[ "$A1PMS_FEATURE_LEVEL" == *"NOCONSUL"* ]]; then
+            __CONFIG_HEADER="HEADER"
+            fi
+        fi
+
         if [[ $interface = *"SDNC"* ]]; then
             start_sdnc
-            prepare_consul_config      SDNC  ".consul_config.json"
+            prepare_consul_config      SDNC  ".consul_config.json" $__CONFIG_HEADER
         else
-            prepare_consul_config      NOSDNC  ".consul_config.json"
+            prepare_consul_config      NOSDNC  ".consul_config.json" $__CONFIG_HEADER
         fi
 
         if [ $RUNMODE == "KUBE" ]; then
index db21152..e97d18e 100755 (executable)
@@ -70,7 +70,16 @@ start_a1pms NORPOXY $SIM_GROUP/$A1PMS_COMPOSE_DIR/$A1PMS_CONFIG_FILE
 
 use_a1pms_rest_http
 
-prepare_consul_config      NOSDNC  ".consul_config.json"
+__CONFIG_HEADER="NOHEADER"
+if [ $RUNMODE == "KUBE" ]; then
+    __CONFIG_HEADER="HEADER"
+else
+    if [[ "$A1PMS_FEATURE_LEVEL" == *"NOCONSUL"* ]]; then
+    __CONFIG_HEADER="HEADER"
+    fi
+fi
+
+prepare_consul_config      NOSDNC  ".consul_config.json" $__CONFIG_HEADER
 
 if [ $RUNMODE == "KUBE" ]; then
     a1pms_load_config                       ".consul_config.json"
index 078e59c..3964439 100755 (executable)
@@ -99,11 +99,20 @@ for interface in $TESTED_VARIANTS ; do
         start_gateway $SIM_GROUP/$NRT_GATEWAY_COMPOSE_DIR/$NRT_GATEWAY_CONFIG_FILE
     fi
 
+    __CONFIG_HEADER="NOHEADER"
+    if [ $RUNMODE == "KUBE" ]; then
+        __CONFIG_HEADER="HEADER"
+    else
+        if [[ "$A1PMS_FEATURE_LEVEL" == *"NOCONSUL"* ]]; then
+        __CONFIG_HEADER="HEADER"
+        fi
+    fi
+
     if [[ $interface = *"SDNC"* ]]; then
         start_sdnc
-        prepare_consul_config      SDNC    ".consul_config.json"
+        prepare_consul_config      SDNC    ".consul_config.json" $__CONFIG_HEADER
     else
-        prepare_consul_config      NOSDNC  ".consul_config.json"
+        prepare_consul_config      NOSDNC  ".consul_config.json" $__CONFIG_HEADER
     fi
 
     start_a1pms NORPOXY $SIM_GROUP/$A1PMS_COMPOSE_DIR/$A1PMS_CONFIG_FILE
index d80dd6d..2c1bb54 100755 (executable)
@@ -86,7 +86,16 @@ start_a1pms NORPOXY $SIM_GROUP/$A1PMS_COMPOSE_DIR/$A1PMS_CONFIG_FILE
 
 set_a1pms_trace
 
-prepare_consul_config      SDNC  ".consul_config.json"
+__CONFIG_HEADER="NOHEADER"
+if [ $RUNMODE == "KUBE" ]; then
+    __CONFIG_HEADER="HEADER"
+else
+    if [[ "$A1PMS_FEATURE_LEVEL" == *"NOCONSUL"* ]]; then
+    __CONFIG_HEADER="HEADER"
+    fi
+    fi
+
+prepare_consul_config      SDNC  ".consul_config.json" $__CONFIG_HEADER
 
 if [ $RUNMODE == "KUBE" ]; then
     a1pms_load_config                       ".consul_config.json"
index a67e7e0..e72c71b 100755 (executable)
@@ -88,7 +88,16 @@ start_sdnc    # Comment this line to run A1PMS with proxy
 
 start_a1pms PROXY $SIM_GROUP/$A1PMS_COMPOSE_DIR/$A1PMS_CONFIG_FILE
 
-prepare_consul_config      SDNC  ".consul_config.json"   #Change to NOSDNC if running A1PMS with  proxy
+__CONFIG_HEADER="NOHEADER"
+if [ $RUNMODE == "KUBE" ]; then
+    __CONFIG_HEADER="HEADER"
+else
+    if [[ "$A1PMS_FEATURE_LEVEL" == *"NOCONSUL"* ]]; then
+    __CONFIG_HEADER="HEADER"
+    fi
+fi
+
+prepare_consul_config      SDNC  ".consul_config.json" $__CONFIG_HEADER  #Change to NOSDNC if running A1PMS with  proxy
 
 if [ $RUNMODE == "KUBE" ]; then
     a1pms_load_config                       ".consul_config.json"
index 8a903b8..e74c310 100644 (file)
@@ -460,16 +460,16 @@ start_stopped_a1pms() {
 
 
 # Function to perpare the consul configuration according to the current simulator configuration
-# args: SDNC|NOSDNC <output-file>
+# args: SDNC|NOSDNC <output-file> HEADER|NOHEADER
 # (Function for test scripts)
 prepare_consul_config() {
        echo -e $BOLD"Prepare Consul config"$EBOLD
 
        echo " Writing consul config for "$A1PMS_APP_NAME" to file: "$2
 
-       if [ $# != 2 ];  then
+       if [ $# != 3 ];  then
                ((RES_CONF_FAIL++))
-       __print_err "need two args,  SDNC|NOSDNC <output-file>" $@
+       __print_err "need two args,  SDNC|NOSDNC <output-file> HEADER|NOHEADER" $@
                exit 1
        fi
 
@@ -479,7 +479,7 @@ prepare_consul_config() {
                echo -e " Config$BOLD excluding SDNC$EBOLD configuration"
        else
                ((RES_CONF_FAIL++))
-       __print_err "need two args,  SDNC|NOSDNC <output-file>" $@
+       __print_err "need three args,  SDNC|NOSDNC <output-file> HEADER|NOHEADER" $@
                exit 1
        fi
 
@@ -571,7 +571,7 @@ prepare_consul_config() {
        config_json=$config_json"\n           ]"
        config_json=$config_json"\n}"
 
-       if [ $RUNMODE == "KUBE" ]; then
+       if [ $3 == "HEADER" ]; then
                config_json="{\"config\":"$config_json"}"
        fi
 
@@ -2296,9 +2296,9 @@ a1pms_api_put_configuration() {
                return 1
        fi
        inputJson=$(< $2)
-       if [ $RUNMODE == "DOCKER" ]; then  #In kube the file already has a header
-               inputJson="{\"config\":"$inputJson"}"
-       fi
+       if [ $RUNMODE == "DOCKER" ]; then  #In kube the file already has a header
+       #       inputJson="{\"config\":"$inputJson"}"
+       fi
        file="./tmp/.config.json"
        echo $inputJson > $file
        query="/v2/configuration"
@@ -2349,7 +2349,9 @@ a1pms_api_get_configuration() {
                body=${res:0:${#res}-3}
 
                targetJson=$(< $2)
-               targetJson="{\"config\":"$targetJson"}"
+               # if [ $RUNMODE == "DOCKER" ]; then  #In kube the file already has a header
+               #       inputJson="{\"config\":"$inputJson"}"
+               # fi
                echo "TARGET JSON: $targetJson" >> $HTTPLOG
                res=$(python3 ../common/compare_json.py "$targetJson" "$body")
 
index 7d50007..cd393d8 100644 (file)
@@ -69,17 +69,17 @@ NEXUS_RELEASE_REPO_ONAP=$NEXUS_RELEASE_REPO
 
 # A1PMS image and tags
 A1PMS_IMAGE_BASE="onap/ccsdk-oran-a1policymanagementservice"
-A1PMS_IMAGE_TAG_LOCAL="1.4.0-SNAPSHOT"
-A1PMS_IMAGE_TAG_REMOTE_SNAPSHOT="1.4.0-SNAPSHOT"
-A1PMS_IMAGE_TAG_REMOTE="1.4.0-STAGING-latest" #Will use snapshot repo
-A1PMS_IMAGE_TAG_REMOTE_RELEASE="1.4.0"
+A1PMS_IMAGE_TAG_LOCAL="1.3.3-SNAPSHOT"
+A1PMS_IMAGE_TAG_REMOTE_SNAPSHOT="1.3.3-SNAPSHOT"
+A1PMS_IMAGE_TAG_REMOTE="1.3.3-STAGING-latest" #Will use snapshot repo
+A1PMS_IMAGE_TAG_REMOTE_RELEASE="1.3.2"
 
 # SDNC A1 Controller remote image and tag
 SDNC_A1_CONTROLLER_IMAGE_BASE="onap/sdnc-image"
-SDNC_A1_CONTROLLER_IMAGE_TAG_LOCAL="2.3.1-SNAPSHOT" ###CHECK THIS
-SDNC_A1_CONTROLLER_IMAGE_TAG_REMOTE_SNAPSHOT="2.3.1-STAGING-latest"
-SDNC_A1_CONTROLLER_IMAGE_TAG_REMOTE="2.3.1-STAGING-latest"  #Will use snapshot repo
-SDNC_A1_CONTROLLER_IMAGE_TAG_REMOTE_RELEASE="2.3.0"
+SDNC_A1_CONTROLLER_IMAGE_TAG_LOCAL="2.3.3-SNAPSHOT" ###CHECK THIS
+SDNC_A1_CONTROLLER_IMAGE_TAG_REMOTE_SNAPSHOT="2.3.3-STAGING-latest"
+SDNC_A1_CONTROLLER_IMAGE_TAG_REMOTE="2.3.3-STAGING-latest"  #Will use snapshot repo
+SDNC_A1_CONTROLLER_IMAGE_TAG_REMOTE_RELEASE="2.3.2"
 
 #SDNC DB remote image and tag
 #The DB is part of SDNC so handled in the same way as SDNC
index 6f956b7..e534531 100755 (executable)
@@ -524,6 +524,7 @@ DMAAP_ADP_DATA_MOUNT_PATH="/opt/app/dmaap-adaptor-service/data" # Path in contai
 DMAAP_ADP_DATA_FILE="application_configuration.json"  # Container data file name
 DMAAP_ADP_CONFIG_FILE=application.yaml                   # Config file name
 DMAAP_ADP_CONFIG_FILE_TEMPLATE=application.yaml          # Template config file name
+DMAAP_ADP_FEATURE_LEVEL="GENERATED_PROD_NAME"            # Space separated list of features
 
 DMAAP_MED_APP_NAME="dmaapmediatorservice"                # Name for Dmaap Mediator container
 DMAAP_MED_DISPLAY_NAME="Dmaap Mediator Service"          # Display name for Dmaap Mediator container
index da8a5db..d9b8741 100755 (executable)
@@ -507,6 +507,7 @@ DMAAP_ADP_DATA_MOUNT_PATH="/opt/app/dmaap-adapter-service/data" # Path in contai
 DMAAP_ADP_DATA_FILE="application_configuration.json"  # Container data file name
 DMAAP_ADP_CONFIG_FILE=application.yaml                   # Config file name
 DMAAP_ADP_CONFIG_FILE_TEMPLATE=application1.yaml         # Template config file name
+DMAAP_ADP_FEATURE_LEVEL=""                               # Space separated list of features
 
 DMAAP_MED_APP_NAME="dmaapmediatorservice"                # Name for Dmaap Mediator container
 DMAAP_MED_DISPLAY_NAME="Dmaap Mediator Service"          # Display name for Dmaap Mediator container
diff --git a/test/common/test_env-oran-g-release.sh b/test/common/test_env-oran-g-release.sh
new file mode 100755 (executable)
index 0000000..9b24d26
--- /dev/null
@@ -0,0 +1,585 @@
+#!/bin/bash
+
+#  ============LICENSE_START===============================================
+#  Copyright (C) 2020 Nordix Foundation. All rights reserved.
+#  ========================================================================
+#  Licensed under the Apache License, Version 2.0 (the "License");
+#  you may not use this file except in compliance with the License.
+#  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+#  Unless required by applicable law or agreed to in writing, software
+#  distributed under the License is distributed on an "AS IS" BASIS,
+#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#  See the License for the specific language governing permissions and
+#  limitations under the License.
+#  ============LICENSE_END=================================================
+#
+#Profile for ORAN Cherry
+TEST_ENV_PROFILE="ORAN-F-RELEASE"
+FLAVOUR="ORAN"
+
+########################################
+## Nexus repo settings
+########################################
+
+# Nexus repos for developed images
+NEXUS_PROXY_REPO="nexus3.o-ran-sc.org:10001/"
+NEXUS_RELEASE_REPO="nexus3.o-ran-sc.org:10002/"
+NEXUS_SNAPSHOT_REPO="nexus3.o-ran-sc.org:10003/"
+NEXUS_STAGING_REPO="nexus3.o-ran-sc.org:10004/"
+
+# Nexus repos for images used by test (not developed by the project)
+NEXUS_RELEASE_REPO_ONAP="nexus3.onap.org:10002/"  # Only for released ONAP images
+NEXUS_RELEASE_REPO_ORAN=$NEXUS_RELEASE_REPO
+
+########################################
+# Set up of image and tags for the test.
+########################################
+
+# NOTE: One environment variable containing the image name and tag is create by the test script
+# for each image from the env variables below.
+# The variable is created by removing the suffix "_BASE" from the base image variable name.
+# Example: A1PMS_IMAGE_BASE -> A1PMS_IMAGE
+# This var will point to the local or remote image depending on cmd line arguments.
+# In addition, the repo and the image tag version are selected from the list of image tags based on the cmd line argurment.
+# For images built by the script, only tag #1 shall be specified
+# For project images, only tag #1, #2, #3 and #4 shall be specified
+# For ORAN images (non project), only tag #5 shall be specified
+# For ONAP images (non project), only tag #6 shall be specified
+# For all other images, only tag #7 shall be specified
+# 1 XXX_LOCAL: local images: <image-name>:<local-tag>
+# 2 XXX_REMOTE_SNAPSHOT: snapshot images: <snapshot-nexus-repo><image-name>:<snapshot-tag>
+# 3 XXX_REMOTE: staging images: <staging-nexus-repo><image-name>:<staging-tag>
+# 4 XXX_REMOTE_RELEASE: release images: <release-nexus-repo><image-name>:<release-tag>
+# 5 XXX_REMOTE_RELEASE_ORAN: ORAN release images: <oran-release-nexus-repo><image-name>:<release-tag>
+# 6 XXX_REMOTE_RELEASE_ONAP: ONAP release images: <onap-release-nexus-repo><image-name>:<release-tag>
+# 7 XXX_PROXY: other images, not produced by the project: <proxy-nexus-repo><mage-name>:<proxy-tag>
+
+
+# A1PMS base image and tags
+A1PMS_IMAGE_BASE="o-ran-sc/nonrtric-plt-a1policymanagementservice"
+A1PMS_IMAGE_TAG_LOCAL="2.5.0-SNAPSHOT"
+A1PMS_IMAGE_TAG_REMOTE_SNAPSHOT="2.5.0-SNAPSHOT"
+A1PMS_IMAGE_TAG_REMOTE="2.5.0"
+A1PMS_IMAGE_TAG_REMOTE_RELEASE="2.5.0"
+
+# ICS image and tags
+ICS_IMAGE_BASE="o-ran-sc/nonrtric-plt-informationcoordinatorservice"
+ICS_IMAGE_TAG_LOCAL="1.4.0-SNAPSHOT"
+ICS_IMAGE_TAG_REMOTE_SNAPSHOT="1.4.0-SNAPSHOT"
+ICS_IMAGE_TAG_REMOTE="1.4.0"
+ICS_IMAGE_TAG_REMOTE_RELEASE="1.4.0"
+#Note: Update var ICS_FEATURE_LEVEL if image version is changed
+
+#Control Panel image and tags
+CONTROL_PANEL_IMAGE_BASE="o-ran-sc/nonrtric-controlpanel"
+CONTROL_PANEL_IMAGE_TAG_LOCAL="2.3.0-SNAPSHOT"
+CONTROL_PANEL_IMAGE_TAG_REMOTE_SNAPSHOT="2.3.0-SNAPSHOT"
+CONTROL_PANEL_IMAGE_TAG_REMOTE="2.3.0"
+CONTROL_PANEL_IMAGE_TAG_REMOTE_RELEASE="2.3.0"
+
+
+# Gateway image and tags
+NRT_GATEWAY_IMAGE_BASE="o-ran-sc/nonrtric-gateway"
+NRT_GATEWAY_IMAGE_TAG_LOCAL="1.1.0-SNAPSHOT"
+NRT_GATEWAY_IMAGE_TAG_REMOTE_SNAPSHOT="1.1.0-SNAPSHOT"
+NRT_GATEWAY_IMAGE_TAG_REMOTE="1.1.0"
+NRT_GATEWAY_IMAGE_TAG_REMOTE_RELEASE="1.0.0"
+
+
+# SDNC A1 Controller image and tags - Note using released honolulu ONAP image
+SDNC_A1_CONTROLLER_IMAGE_BASE="onap/sdnc-image"
+SDNC_A1_CONTROLLER_IMAGE_TAG_REMOTE_RELEASE_ONAP="2.2.5"
+#No local image for ONAP SDNC, remote release image always used
+
+# ORAN SDNC adapter kept as reference
+# SDNC A1 Controller image and tags - still using cherry version, no new version for D-Release
+#SDNC_A1_CONTROLLER_IMAGE_BASE="o-ran-sc/nonrtric-a1-controller"
+#SDNC_A1_CONTROLLER_IMAGE_TAG_LOCAL="2.0.1-SNAPSHOT"
+#SDNC_A1_CONTROLLER_IMAGE_TAG_REMOTE_SNAPSHOT="2.0.1-SNAPSHOT"
+#SDNC_A1_CONTROLLER_IMAGE_TAG_REMOTE="2.0.1"
+#SDNC_A1_CONTROLLER_IMAGE_TAG_REMOTE_RELEASE="2.0.1"
+
+#SDNC DB remote image and tag
+#The DB is part of SDNC so handled in the same way as SDNC
+SDNC_DB_IMAGE_BASE="mariadb"
+SDNC_DB_IMAGE_TAG_REMOTE_PROXY="10.5"
+
+#Older SDNC db image kept for reference
+#SDNC DB remote image and tag
+#SDNC_DB_IMAGE_BASE="mysql/mysql-server"
+#SDNC_DB_IMAGE_TAG_REMOTE_PROXY="5.6"
+#No local image for SSDNC DB, remote image always used
+
+
+# RAPP Catalogue image and tags
+RAPP_CAT_IMAGE_BASE="o-ran-sc/nonrtric-plt-rappcatalogue"
+RAPP_CAT_IMAGE_TAG_LOCAL="1.2.0-SNAPSHOT"
+RAPP_CAT_IMAGE_TAG_REMOTE_SNAPSHOT="1.2.0-SNAPSHOT"
+RAPP_CAT_IMAGE_TAG_REMOTE="1.2.0"
+RAPP_CAT_IMAGE_TAG_REMOTE_RELEASE="1.2.0"
+
+
+# Near RT RIC Simulator image and tags - same version as cherry
+RIC_SIM_IMAGE_BASE="o-ran-sc/a1-simulator"
+RIC_SIM_IMAGE_TAG_LOCAL="latest"
+RIC_SIM_IMAGE_TAG_REMOTE_SNAPSHOT="2.4.0-SNAPSHOT"
+RIC_SIM_IMAGE_TAG_REMOTE="2.4.0"
+RIC_SIM_IMAGE_TAG_REMOTE_RELEASE="2.4.0"
+
+# DMAAP Mediator Service
+DMAAP_MED_IMAGE_BASE="o-ran-sc/nonrtric-plt-dmaapmediatorproducer"
+DMAAP_MED_IMAGE_TAG_LOCAL="1.2.0-SNAPSHOT"
+DMAAP_MED_IMAGE_TAG_REMOTE_SNAPSHOT="1.2.0-SNAPSHOT"
+DMAAP_MED_IMAGE_TAG_REMOTE="1.2.0"
+DMAAP_MED_IMAGE_TAG_REMOTE_RELEASE="1.2.0"
+
+# DMAAP Adapter Service
+DMAAP_ADP_IMAGE_BASE="o-ran-sc/nonrtric-plt-dmaapadapter"
+DMAAP_ADP_IMAGE_TAG_LOCAL="1.2.0-SNAPSHOT"
+DMAAP_ADP_IMAGE_TAG_REMOTE_SNAPSHOT="1.2.0-SNAPSHOT"
+DMAAP_ADP_IMAGE_TAG_REMOTE="1.2.0"
+DMAAP_ADP_IMAGE_TAG_REMOTE_RELEASE="1.2.0"
+
+# Helm Manager
+HELM_MANAGER_IMAGE_BASE="o-ran-sc/nonrtric-plt-helmmanager"
+HELM_MANAGER_IMAGE_TAG_LOCAL="1.3.0-SNAPSHOT"
+HELM_MANAGER_IMAGE_TAG_REMOTE_SNAPSHOT="1.3.0-SNAPSHOT"
+HELM_MANAGER_IMAGE_TAG_REMOTE="1.3.0"
+HELM_MANAGER_IMAGE_TAG_REMOTE_RELEASE="1.3.0"
+
+# Auth sidecar
+AUTHSIDECAR_IMAGE_BASE="o-ran-sc/nonrtric-auth-token-fetch"
+AUTHSIDECAR_IMAGE_TAG_LOCAL="1.1.0-SNAPSHOT"
+AUTHSIDECAR_IMAGE_TAG_REMOTE_SNAPSHOT="1.1.0-SNAPSHOT"
+AUTHSIDECAR_IMAGE_TAG_REMOTE="1.1.0"
+AUTHSIDECAR_IMAGE_TAG_REMOTE_RELEASE="1.1.0"
+
+#MR stub image and tag
+MRSTUB_IMAGE_BASE="mrstub"
+MRSTUB_IMAGE_TAG_LOCAL="latest"
+#No remote image for MR stub, local image always used
+
+
+#Callback receiver image and tag
+CR_IMAGE_BASE="callback-receiver"
+CR_IMAGE_TAG_LOCAL="latest"
+#No remote image for CR, local image always used
+
+
+#Producer stub image and tag
+PROD_STUB_IMAGE_BASE="producer-stub"
+PROD_STUB_IMAGE_TAG_LOCAL="latest"
+#No remote image for producer stub, local image always used
+
+#Http proxy remote image and tag
+HTTP_PROXY_IMAGE_BASE="nodejs-http-proxy"
+HTTP_PROXY_IMAGE_TAG_LOCAL="latest"
+#No local image for http proxy, remote image always used
+
+#ONAP Zookeeper remote image and tag
+ONAP_ZOOKEEPER_IMAGE_BASE="onap/dmaap/zookeeper"
+ONAP_ZOOKEEPER_IMAGE_TAG_REMOTE_RELEASE_ONAP="6.1.0"
+#No local image for ONAP Zookeeper, remote image always used
+
+#ONAP Kafka remote image and tag
+ONAP_KAFKA_IMAGE_BASE="onap/dmaap/kafka111"
+ONAP_KAFKA_IMAGE_TAG_REMOTE_RELEASE_ONAP="1.1.1"
+#No local image for ONAP Kafka, remote image always used
+
+#ONAP DMAAP-MR remote image and tag
+ONAP_DMAAPMR_IMAGE_BASE="onap/dmaap/dmaap-mr"
+ONAP_DMAAPMR_IMAGE_TAG_REMOTE_RELEASE_ONAP="1.3.0"
+#No local image for ONAP DMAAP-MR, remote image always used
+
+#Kube proxy remote image and tag
+KUBE_PROXY_IMAGE_BASE="nodejs-kube-proxy"
+KUBE_PROXY_IMAGE_TAG_LOCAL="latest"
+#No remote image for kube proxy, local image always used
+
+#PVC Cleaner remote image and tag
+PVC_CLEANER_IMAGE_BASE="ubuntu"
+PVC_CLEANER_IMAGE_TAG_REMOTE_PROXY="20.10"
+#No local image for pvc cleaner, remote image always used
+
+#Kafka Procon image and tag
+KAFKAPC_IMAGE_BASE="kafka-procon"
+KAFKAPC_IMAGE_TAG_LOCAL="latest"
+#No local image for pvc cleaner, remote image always used
+
+#Chartmusem remote image and tag
+CHART_MUS_IMAGE_BASE="ghcr.io/helm/chartmuseum"
+CHART_MUS_IMAGE_TAG_REMOTE_OTHER="v0.13.1"
+#No local image for chart museum, remote image always used
+
+#Keycloak remote image and tag
+KEYCLOAK_IMAGE_BASE="quay.io/keycloak/keycloak"
+KEYCLOAK_IMAGE_TAG_REMOTE_OTHER="17.0.0"
+#No local image for chart museum, remote image always used
+
+# List of app short names produced by the project
+PROJECT_IMAGES_APP_NAMES="A1PMS ICS CP RC RICSIM NGW DMAAPADP DMAAPMED HELMMANAGER AUTHSIDECAR"  # Add SDNC here if oran image is used
+
+# List of app short names which images pulled from ORAN
+ORAN_IMAGES_APP_NAMES=""  # Not used
+
+# List of app short names which images pulled from ONAP
+ONAP_IMAGES_APP_NAMES="DMAAPMR SDNC"   # SDNC added as ONAP image
+
+
+########################################
+# Detailed settings per app
+########################################
+
+# Port number variables
+# =====================
+# Port number vars <name>_INTERNAL_PORT and <name>_INTERNAL_SECURE_PORT are set as pod/container port in kube and container port in docker
+#
+# Port number vars <name>_EXTERNAL_PORT and <name>_EXTERNAL_SECURE_PORT are set as svc port in kube and localhost port in docker
+#
+# For some components, eg. MR, can be represented as the MR-STUB and/or the DMAAP MR. For these components
+# special vars nameed <name>_LOSTHOST_PORT and <name>_LOCALHOST_SECURE_PORT are used as localhost ports instead of
+# name>_EXTERNAL_PORT and <name>_EXTERNAL_SECURE_PORT ports in docker in order to prevent overalapping ports on local host
+#
+# For KUBE PROXY there are special external port for docker as the proyx exposes also the kube svc port on localhost,
+# therefore a special set of external port are needed for docker <name>_DOCKER_EXTERNAL_PORT and <name>_DOCKER_EXTERNAL_SECURE_PORT
+
+DOCKER_SIM_NWNAME="nonrtric-docker-net"                  # Name of docker private network
+
+KUBE_NONRTRIC_NAMESPACE="nonrtric"                       # Namespace for all nonrtric components
+KUBE_SIM_NAMESPACE="nonrtric-ft"                         # Namespace for simulators (except MR and RICSIM)
+KUBE_A1SIM_NAMESPACE="a1-sim"                            # Namespace for a1-p simulators (RICSIM)
+KUBE_ONAP_NAMESPACE="onap"                               # Namespace for onap (only message router)
+KUBE_SDNC_NAMESPACE="onap"                               # Namespace for sdnc
+KUBE_KEYCLOAK_NAMESPACE="keycloak"                       # Namespace for keycloak
+
+A1PMS_EXTERNAL_PORT=8081                                   # A1PMS container external port (host -> container)
+A1PMS_INTERNAL_PORT=8081                                   # A1PMS container internal port (container -> container)
+A1PMS_EXTERNAL_SECURE_PORT=8433                            # A1PMS container external secure port (host -> container)
+A1PMS_INTERNAL_SECURE_PORT=8433                            # A1PMS container internal secure port (container -> container)
+A1PMS_APIS="V1 V2"                                         # Supported northbound api versions
+A1PMS_VERSION="V2"                                         # Tested version of northbound API
+A1PMS_API_PREFIX="/a1-policy"                              # api url prefix, only for V2
+
+A1PMS_APP_NAME="policymanagementservice"                   # Name for A1PMS container
+A1PMS_DISPLAY_NAME="Policy Management Service"
+A1PMS_HOST_MNT_DIR="./mnt"                                 # Mounted dir, relative to compose file, on the host
+A1PMS_LOGPATH="/var/log/policy-agent/application.log"      # Path the application log in the A1PMS container
+A1PMS_APP_NAME_ALIAS="policy-agent-container"              # Alias name, name used by the control panel
+A1PMS_CONFIG_KEY="policy-agent"                            # Key for consul config
+A1PMS_PKG_NAME="org.onap.ccsdk.oran.a1policymanagementservice"  # Java base package name
+A1PMS_ACTUATOR="/actuator/loggers/$A1PMS_PKG_NAME"           # Url for trace/debug
+A1PMS_ALIVE_URL="$A1PMS_API_PREFIX/v2/status"                # Base path for alive check
+A1PMS_COMPOSE_DIR="a1pms"                                    # Dir in simulator_group for docker-compose
+A1PMS_CONFIG_MOUNT_PATH="/opt/app/policy-agent/config"     # Path in container for config file
+A1PMS_DATA_MOUNT_PATH="/opt/app/policy-agent/data"         # Path in container for data file
+A1PMS_CONFIG_FILE="application.yaml"                       # Container config file name
+A1PMS_DATA_FILE="application_configuration.json"           # Container data file name
+A1PMS_CONTAINER_MNT_DIR="/var/policy-management-service"   # Mounted dir in the container
+A1PMS_FEATURE_LEVEL="NOCONSUL INITIALCONFIGMAP"            # Space separated list of features
+
+ICS_APP_NAME="informationservice"                        # Name for ICS container
+ICS_DISPLAY_NAME="Information Coordinator Service"       # Display name for ICS container
+ICS_EXTERNAL_PORT=8083                                   # ICS container external port (host -> container)
+ICS_INTERNAL_PORT=8083                                   # ICS container internal port (container -> container)
+ICS_EXTERNAL_SECURE_PORT=8434                            # ICS container external secure port (host -> container)
+ICS_INTERNAL_SECURE_PORT=8434                            # ICS container internal secure port (container -> container)
+
+ICS_LOGPATH="/var/log/information-coordinator-service/application.log" # Path the application log in the ICS container
+ICS_APP_NAME_ALIAS="information-service-container"       # Alias name, name used by the control panel
+ICS_HOST_MNT_DIR="./mnt"                                 # Mounted db dir, relative to compose file, on the host
+ICS_CONTAINER_MNT_DIR="/var/information-coordinator-service" # Mounted dir in the container
+ICS_ACTUATOR="/actuator/loggers/org.oransc.ics"          # Url for trace/debug
+ICS_CERT_MOUNT_DIR="./cert"
+ICS_ALIVE_URL="/status"                                  # Base path for alive check
+ICS_COMPOSE_DIR="ics"                                    # Dir in simulator_group for docker-compose
+ICS_CONFIG_MOUNT_PATH=/opt/app/information-coordinator-service/config # Internal container path for configuration
+ICS_CONFIG_FILE=application.yaml                         # Config file name
+ICS_VERSION="V1-2"                                       # Version where the types are decoupled from the producer registration
+ICS_FEATURE_LEVEL="INFO-TYPES TYPE-SUBSCRIPTIONS INFO-TYPE-INFO RESP_CODE_CHANGE_1 DEFAULT_TYPE_VALIDATION"  # Space separated list of features
+
+MR_DMAAP_APP_NAME="message-router"                       # Name for the Dmaap MR
+MR_STUB_APP_NAME="mr-stub"                               # Name of the MR stub
+MR_DMAAP_DISPLAY_NAME="DMAAP Message Router"
+MR_STUB_DISPLAY_NAME="Message Router stub"
+MR_STUB_CERT_MOUNT_DIR="./cert"
+MR_EXTERNAL_PORT=3904                                    # MR dmaap/stub container external port
+MR_INTERNAL_PORT=3904                                    # MR dmaap/stub container internal port
+MR_EXTERNAL_SECURE_PORT=3905                             # MR dmaap/stub container external secure port
+MR_INTERNAL_SECURE_PORT=3905                             # MR dmaap/stub container internal secure port
+MR_DMAAP_LOCALHOST_PORT=3904                             # MR stub container external port (host -> container)
+MR_STUB_LOCALHOST_PORT=3908                              # MR stub container external port (host -> container)
+MR_DMAAP_LOCALHOST_SECURE_PORT=3905                      # MR stub container internal port (container -> container)
+MR_STUB_LOCALHOST_SECURE_PORT=3909                       # MR stub container external secure port (host -> container)
+MR_READ_TOPIC="A1-POLICY-AGENT-READ"                     # Read topic
+MR_WRITE_TOPIC="A1-POLICY-AGENT-WRITE"                   # Write topic
+MR_READ_URL="/events/$MR_READ_TOPIC/users/policy-agent?timeout=15000&limit=100" # Path to read messages from MR
+MR_WRITE_URL="/events/$MR_WRITE_TOPIC"                   # Path to write messages to MR
+MR_STUB_ALIVE_URL="/"                                    # Base path for mr stub alive check
+MR_DMAAP_ALIVE_URL="/topics"                             # Base path for dmaap-mr alive check
+MR_DMAAP_COMPOSE_DIR="dmaapmr"                           # Dir in simulator_group for dmaap mr for - docker-compose
+MR_STUB_COMPOSE_DIR="mrstub"                             # Dir in simulator_group for mr stub for - docker-compose
+MR_KAFKA_APP_NAME="message-router-kafka"                 # Kafka app name, if just named "kafka" the image will not start...
+MR_KAFKA_PORT=9092                                       # Kafka port number
+MR_KAFKA_DOCKER_LOCALHOST_PORT=30098                     # Kafka port number for docker localhost
+MR_KAFKA_KUBE_NODE_PORT=30099                            # Kafka node port number for kube
+MR_ZOOKEEPER_APP_NAME="zookeeper"                        # Zookeeper app name
+MR_ZOOKEEPER_PORT="2181"                                 # Zookeeper port number
+MR_DMAAP_HOST_MNT_DIR="/mnt"                             # Basedir localhost for mounted files
+MR_DMAAP_HOST_CONFIG_DIR="/configs1"                      # Config files dir on localhost
+
+CR_APP_NAME="callback-receiver"                          # Name for the Callback receiver
+CR_DISPLAY_NAME="Callback receiver"
+CR_EXTERNAL_PORT=8090                                    # Callback receiver container external port (host -> container)
+CR_INTERNAL_PORT=8090                                    # Callback receiver container internal port (container -> container)
+CR_EXTERNAL_SECURE_PORT=8091                             # Callback receiver container external secure port (host -> container)
+CR_INTERNAL_SECURE_PORT=8091                             # Callback receiver container internal secure port (container -> container)
+CR_APP_CALLBACK="/callbacks"                             # Url for callbacks
+CR_APP_CALLBACK_MR="/callbacks-mr"                       # Url for callbacks (data from mr which contains string encoded jsons in a json arr)
+CR_APP_CALLBACK_TEXT="/callbacks-text"                   # Url for callbacks (data containing text data)
+CR_ALIVE_URL="/reset"                                    # Base path for alive check
+CR_COMPOSE_DIR="cr"                                      # Dir in simulator_group for docker-compose
+
+PROD_STUB_APP_NAME="producer-stub"                       # Name for the Producer stub
+PROD_STUB_DISPLAY_NAME="Producer Stub"
+PROD_STUB_EXTERNAL_PORT=8092                             # Producer stub container external port (host -> container)
+PROD_STUB_INTERNAL_PORT=8092                             # Producer stub container internal port (container -> container)
+PROD_STUB_EXTERNAL_SECURE_PORT=8093                      # Producer stub container external secure port (host -> container)
+PROD_STUB_INTERNAL_SECURE_PORT=8093                      # Producer stub container internal secure port (container -> container)
+PROD_STUB_JOB_CALLBACK="/callbacks/job"                  # Callback path for job create/update/delete
+PROD_STUB_SUPERVISION_CALLBACK="/callbacks/supervision"  # Callback path for producre supervision
+PROD_STUB_ALIVE_URL="/"                                  # Base path for alive check
+PROD_STUB_COMPOSE_DIR="prodstub"                         # Dir in simulator_group for docker-compose
+
+RIC_SIM_DISPLAY_NAME="Near-RT RIC A1 Simulator"
+RIC_SIM_BASE="g"                                         # Base name of the RIC Simulator container, shall be the group code
+                                                         # Note, a prefix is added to each container name by the .env file in the 'ric' dir
+RIC_SIM_PREFIX="ricsim"                                  # Prefix added to ric container name, added in the .env file in the 'ric' dir
+                                                         # This prefix can be changed from the command line
+RIC_SIM_INTERNAL_PORT=8085                               # RIC Simulator container internal port (container -> container).
+                                                         # (external ports allocated by docker)
+RIC_SIM_INTERNAL_SECURE_PORT=8185                        # RIC Simulator container internal secure port (container -> container).
+                                                         # (external ports allocated by docker)
+RIC_SIM_CERT_MOUNT_DIR="./cert"
+
+RIC_SIM_COMPOSE_DIR="ric"                                # Dir in simulator group for docker compose
+RIC_SIM_ALIVE_URL="/"                                    # Base path for alive check
+RIC_SIM_COMMON_SVC_NAME=""                               # Name of svc if one common svc is used for all ric sim groups (stateful sets)
+# Kept as reference for oran a1 adapter
+# SDNC_APP_NAME="a1controller"                             # Name of the SNDC A1 Controller container
+# SDNC_DISPLAY_NAME="SDNC A1 Controller"
+# SDNC_EXTERNAL_PORT=8282                                  # SNDC A1 Controller container external port (host -> container)
+# SDNC_INTERNAL_PORT=8181                                  # SNDC A1 Controller container internal port (container -> container)
+# SDNC_EXTERNAL_SECURE_PORT=8443                           # SNDC A1 Controller container external securee port (host -> container)
+# SDNC_INTERNAL_SECURE_PORT=8443                           # SNDC A1 Controller container internal secure port (container -> container)
+# SDNC_DB_APP_NAME="sdncdb"                                # Name of the SDNC DB container
+# SDNC_A1_TRUSTSTORE_PASSWORD=""                           # SDNC truststore password
+# SDNC_USER="admin"                                        # SDNC username
+# SDNC_PWD="Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U"   # SNDC PWD
+# SDNC_API_URL="/restconf/operations/A1-ADAPTER-API:"      # Base url path for SNDC API
+# SDNC_ALIVE_URL="/apidoc/explorer/"                       # Base url path for SNDC API docs (for alive check)
+# SDNC_COMPOSE_DIR="sdnc"                                  # Dir in simulator_group for docker-compose
+# SDNC_COMPOSE_FILE="docker-compose.yml"
+# SDNC_KUBE_APP_FILE="app.yaml"
+# SDNC_KARAF_LOG="/opt/opendaylight/data/log/karaf.log"    # Path to karaf log
+# SDNC_RESPONSE_JSON_KEY="output"                          # Key name for output json in replies from sdnc
+
+# For ONAP sdnc
+SDNC_APP_NAME="a1controller"                             # Name of the SNDC A1 Controller container
+SDNC_DISPLAY_NAME="SDNC A1 Controller"
+SDNC_EXTERNAL_PORT=8282                                  # SNDC A1 Controller container external port (host -> container)
+SDNC_INTERNAL_PORT=8181                                  # SNDC A1 Controller container internal port (container -> container)
+SDNC_EXTERNAL_SECURE_PORT=8443                           # SNDC A1 Controller container external securee port (host -> container)
+SDNC_INTERNAL_SECURE_PORT=8443                           # SNDC A1 Controller container internal secure port (container -> container)
+SDNC_DB_APP_NAME="sdncdb"                                # Name of the SDNC DB container
+SDNC_A1_TRUSTSTORE_PASSWORD="a1adapter"                  # SDNC truststore password
+SDNC_USER="admin"                                        # SDNC username
+SDNC_PWD="admin"                                         # SNDC PWD
+SDNC_PWD="Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U"   # SNDC PWD
+#SDNC_API_URL="/rests/operations/A1-ADAPTER-API:"         # Base url path for SNDC API (for upgraded sdnc)
+SDNC_API_URL="/restconf/operations/A1-ADAPTER-API:"      # Base url path for SNDC API
+SDNC_ALIVE_URL="/apidoc/explorer/"                       # Base url path for SNDC API docs (for alive check)
+SDNC_COMPOSE_DIR="sdnc"
+SDNC_COMPOSE_FILE="docker-compose-2.yml"
+SDNC_KUBE_APP_FILE="app2.yaml"
+SDNC_KARAF_LOG="/opt/opendaylight/data/log/karaf.log"    # Path to karaf log
+#SDNC_RESPONSE_JSON_KEY="A1-ADAPTER-API:output"           # Key name for output json in replies from sdnc (for upgraded sdnc)
+SDNC_RESPONSE_JSON_KEY="output"                          # Key name for output json in replies from sdnc
+SDNC_FEATURE_LEVEL=""                                    # Space separated list of features
+
+RAPP_CAT_APP_NAME="rappcatalogueservice"                 # Name for the RAPP Catalogue
+RAPP_CAT_DISPLAY_NAME="RAPP Catalogue"
+RAPP_CAT_EXTERNAL_PORT=8680                              # RAPP Catalogue container external port (host -> container)
+RAPP_CAT_INTERNAL_PORT=8680                              # RAPP Catalogue container internal port (container -> container)
+RAPP_CAT_EXTERNAL_SECURE_PORT=8633                       # RAPP Catalogue container external secure port (host -> container)
+RAPP_CAT_INTERNAL_SECURE_PORT=8633                       # RAPP Catalogue container internal secure port (container -> container)
+RAPP_CAT_ALIVE_URL="/services"                           # Base path for alive check
+RAPP_CAT_COMPOSE_DIR="rapp_catalogue"                    # Dir in simulator_group for docker-compose
+
+CONTROL_PANEL_APP_NAME="controlpanel"                    # Name of the Control Panel container
+CONTROL_PANEL_DISPLAY_NAME="Control Panel"
+CONTROL_PANEL_EXTERNAL_PORT=8080                         # Control Panel container external port (host -> container)
+CONTROL_PANEL_INTERNAL_PORT=8080                         # Control Panel container internal port (container -> container)
+CONTROL_PANEL_EXTERNAL_SECURE_PORT=8880                  # Control Panel container external port (host -> container)
+CONTROL_PANEL_INTERNAL_SECURE_PORT=8082                  # Control Panel container internal port (container -> container)
+CONTROL_PANEL_LOGPATH="/var/log/nonrtric-gateway/application.log"  # Path the application log in the Control Panel container
+CONTROL_PANEL_ALIVE_URL="/"                              # Base path for alive check
+CONTROL_PANEL_COMPOSE_DIR="control_panel"                # Dir in simulator_group for docker-compose
+CONTROL_PANEL_CONFIG_FILE=nginx.conf                     # Config file name
+CONTROL_PANEL_HOST_MNT_DIR="./mnt"                       # Mounted dir, relative to compose file, on the host
+CONTROL_PANEL_CONFIG_MOUNT_PATH=/etc/nginx               # Container internal path for config
+CONTROL_PANEL_NGINX_KUBE_RESOLVER="kube-dns.kube-system.svc.cluster.local valid=5s"  #nginx resolver for kube
+CONTROL_PANEL_NGINX_DOCKER_RESOLVER="127.0.0.11"         # nginx resolver for docker
+CONTROL_PANEL_PATH_POLICY_PREFIX="/a1-policy/"           # Path prefix for forwarding policy calls to NGW
+CONTROL_PANEL_PATH_ICS_PREFIX="/data-producer/"          # Path prefix for forwarding ics calls to NGW
+CONTROL_PANEL_PATH_ICS_PREFIX2="/data-consumer/"         # Path prefix for forwarding ics calls to NGW
+
+NRT_GATEWAY_APP_NAME="nonrtricgateway"                   # Name of the Gateway container
+NRT_GATEWAY_DISPLAY_NAME="NonRT-RIC Gateway"
+NRT_GATEWAY_EXTERNAL_PORT=9090                           # Gateway container external port (host -> container)
+NRT_GATEWAY_INTERNAL_PORT=9090                           # Gateway container internal port (container -> container)
+NRT_GATEWAY_EXTERNAL_SECURE_PORT=9091                    # Gateway container external port (host -> container)
+NRT_GATEWAY_INTERNAL_SECURE_PORT=9091                    # Gateway container internal port (container -> container)
+NRT_GATEWAY_LOGPATH="/var/log/nonrtric-gateway/application.log" # Path the application log in the Gateway container
+NRT_GATEWAY_HOST_MNT_DIR="./mnt"                         # Mounted dir, relative to compose file, on the host
+NRT_GATEWAY_ALIVE_URL="/actuator/metrics"                # Base path for alive check
+NRT_GATEWAY_COMPOSE_DIR="ngw"                            # Dir in simulator_group for docker-compose
+NRT_GATEWAY_CONFIG_MOUNT_PATH=/opt/app/nonrtric-gateway/config  # Container internal path for config
+NRT_GATEWAY_CONFIG_FILE=application.yaml                 # Config file name
+NRT_GATEWAY_PKG_NAME="org.springframework.cloud.gateway" # Java base package name
+NRT_GATEWAY_ACTUATOR="/actuator/loggers/$NRT_GATEWAY_PKG_NAME" # Url for trace/debug
+
+HTTP_PROXY_APP_NAME="httpproxy"                          # Name of the Http Proxy container
+HTTP_PROXY_DISPLAY_NAME="Http Proxy"
+HTTP_PROXY_EXTERNAL_PORT=8740                            # Http Proxy container external port (host -> container)
+HTTP_PROXY_INTERNAL_PORT=8080                            # Http Proxy container internal port (container -> container)
+HTTP_PROXY_EXTERNAL_SECURE_PORT=8742                     # Http Proxy container external secure port (host -> container)
+HTTP_PROXY_INTERNAL_SECURE_PORT=8433                     # Http Proxy container internal secure port (container -> container)
+HTTP_PROXY_WEB_EXTERNAL_PORT=8741                        # Http Proxy container external port (host -> container)
+HTTP_PROXY_WEB_INTERNAL_PORT=8081                        # Http Proxy container internal port (container -> container)
+HTTP_PROXY_WEB_EXTERNAL_SECURE_PORT=8743                 # Http Proxy container external secure port (host -> container)
+HTTP_PROXY_WEB_INTERNAL_SECURE_PORT=8434                 # Http Proxy container internal secure port (container -> container
+HTTP_PROXY_CONFIG_PORT=0                                 # Port number for proxy config, will be set if proxy is started
+HTTP_PROXY_CONFIG_HOST_NAME=""                           # Proxy host, will be set if proxy is started
+HTTP_PROXY_ALIVE_URL="/"                                 # Base path for alive check
+HTTP_PROXY_COMPOSE_DIR="httpproxy"                       # Dir in simulator_group for docker-compose
+HTTP_PROXY_BUILD_DIR="http-https-proxy"                  # Dir in simulator_group for image build - note, reuses source from kubeproxy
+
+KUBE_PROXY_APP_NAME="kubeproxy"                          # Name of the Kube Http Proxy container
+KUBE_PROXY_DISPLAY_NAME="Kube Http Proxy"
+KUBE_PROXY_EXTERNAL_PORT=8730                            # Kube Http Proxy container external port (host -> container)
+KUBE_PROXY_INTERNAL_PORT=8080                            # Kube Http Proxy container internal port (container -> container)
+KUBE_PROXY_EXTERNAL_SECURE_PORT=8782                     # Kube Proxy container external secure port (host -> container)
+KUBE_PROXY_INTERNAL_SECURE_PORT=8433                     # Kube Proxy container internal secure port (container -> container)
+KUBE_PROXY_WEB_EXTERNAL_PORT=8731                        # Kube Http Proxy container external port (host -> container)
+KUBE_PROXY_WEB_INTERNAL_PORT=8081                        # Kube Http Proxy container internal port (container -> container)
+KUBE_PROXY_WEB_EXTERNAL_SECURE_PORT=8783                 # Kube Proxy container external secure port (host -> container)
+KUBE_PROXY_WEB_INTERNAL_SECURE_PORT=8434                 # Kube Proxy container internal secure port (container -> container
+
+KUBE_PROXY_DOCKER_EXTERNAL_PORT=8732                     # Kube Http Proxy container external port, doocker (host -> container)
+KUBE_PROXY_DOCKER_EXTERNAL_SECURE_PORT=8784              # Kube Proxy container external secure port, doocker (host -> container)
+KUBE_PROXY_WEB_DOCKER_EXTERNAL_PORT=8733                 # Kube Http Proxy container external port, doocker (host -> container)
+KUBE_PROXY_WEB_DOCKER_EXTERNAL_SECURE_PORT=8785          # Kube Proxy container external secure port, doocker (host -> container)
+
+KUBE_PROXY_PATH=""                                       # Proxy url path, will be set if proxy is started
+KUBE_PROXY_ALIVE_URL="/"                                 # Base path for alive check
+KUBE_PROXY_COMPOSE_DIR="kubeproxy"                       # Dir in simulator_group for docker-compose
+
+PVC_CLEANER_APP_NAME="pvc-cleaner"                      # Name for Persistent Volume Cleaner container
+PVC_CLEANER_DISPLAY_NAME="Persistent Volume Cleaner"    # Display name for Persistent Volume Cleaner
+PVC_CLEANER_COMPOSE_DIR="pvc-cleaner"                   # Dir in simulator_group for yamls
+
+DMAAP_ADP_APP_NAME="dmaapadapterservice"                 # Name for Dmaap Adapter container
+DMAAP_ADP_DISPLAY_NAME="Dmaap Adapter Service"           # Display name for Dmaap Adapter container
+DMAAP_ADP_EXTERNAL_PORT=9087                             # Dmaap Adapter container external port (host -> container)
+DMAAP_ADP_INTERNAL_PORT=8084                             # Dmaap Adapter container internal port (container -> container)
+DMAAP_ADP_EXTERNAL_SECURE_PORT=9088                      # Dmaap Adapter container external secure port (host -> container)
+DMAAP_ADP_INTERNAL_SECURE_PORT=8435                      # Dmaap Adapter container internal secure port (container -> container)
+
+DMAAP_ADP_HOST_MNT_DIR="./mnt"                           # Mounted db dir, relative to compose file, on the host
+DMAAP_ADP_ACTUATOR="/actuator/loggers/org.oran.dmaapadapter"   # Url for trace/debug
+DMAAP_ADP_ALIVE_URL="/actuator/info"                     # Base path for alive check
+DMAAP_ADP_COMPOSE_DIR="dmaapadp"                         # Dir in simulator_group for docker-compose
+DMAAP_ADP_CONFIG_MOUNT_PATH="/opt/app/dmaap-adapter-service/config" # Internal container path for configuration
+DMAAP_ADP_DATA_MOUNT_PATH="/opt/app/dmaap-adapter-service/data" # Path in container for data file
+DMAAP_ADP_DATA_FILE="application_configuration.json"  # Container data file name
+DMAAP_ADP_CONFIG_FILE=application.yaml                   # Config file name
+DMAAP_ADP_CONFIG_FILE_TEMPLATE=application1.yaml         # Template config file name
+DMAAP_ADP_FEATURE_LEVEL="GENERATED_PROD_NAME"            # Space separated list of features
+
+DMAAP_MED_APP_NAME="dmaapmediatorservice"                # Name for Dmaap Mediator container
+DMAAP_MED_DISPLAY_NAME="Dmaap Mediator Service"          # Display name for Dmaap Mediator container
+DMAAP_MED_EXTERNAL_PORT=8085                             # Dmaap Mediator container external port (host -> container)
+DMAAP_MED_INTERNAL_PORT=8085                             # Dmaap Mediator container internal port (container -> container)
+DMAAP_MED_EXTERNAL_SECURE_PORT=8185                      # Dmaap Mediator container external secure port (host -> container)
+DMAAP_MED_INTERNAL_SECURE_PORT=8185                      # Dmaap Mediator container internal secure port (container -> container)
+
+DMAAP_MED_HOST_MNT_DIR="./mnt"                          # Mounted db dir, relative to compose file, on the host
+DMAAP_MED_ALIVE_URL="/health_check"                      # Base path for alive check
+DMAAP_MED_COMPOSE_DIR="dmaapmed"                         # Dir in simulator_group for docker-compose
+DMAAP_MED_DATA_MOUNT_PATH="/configs"                     # Path in container for data file
+DMAAP_MED_HOST_DATA_FILE="type_config_1.json"            # Host data file name
+DMAAP_MED_CONTR_DATA_FILE="type_config.json"             # Container data file name
+DMAAP_MED_FEATURE_LEVEL="KAFKATYPES"                     # Space separated list of features
+
+KAFKAPC_APP_NAME="kafka-procon"                          # Name for the Kafka procon
+KAFKAPC_DISPLAY_NAME="Kafka Producer/Consumer"
+KAFKAPC_EXTERNAL_PORT=8096                               # Kafka procon container external port (host -> container)
+KAFKAPC_INTERNAL_PORT=8090                               # Kafka procon container internal port (container -> container)
+KAFKAPC_EXTERNAL_SECURE_PORT=8097                        # Kafka procon container external secure port (host -> container)
+KAFKAPC_INTERNAL_SECURE_PORT=8091                        # Kafka procon container internal secure port (container -> container)
+KAFKAPC_ALIVE_URL="/"                                    # Base path for alive check
+KAFKAPC_COMPOSE_DIR="kafka-procon"                       # Dir in simulator_group for docker-compose
+KAFKAPC_BUILD_DIR="kafka-procon"                         # Build dir
+
+CHART_MUS_APP_NAME="chartmuseum"                         # Name for the chart museum app
+CHART_MUS_DISPLAY_NAME="Chart Museum"
+CHART_MUS_EXTERNAL_PORT=8201                             # chart museum container external port (host -> container)
+CHART_MUS_INTERNAL_PORT=8080                             # chart museum container internal port (container -> container)
+CHART_MUS_ALIVE_URL="/health"                            # Base path for alive check
+CHART_MUS_COMPOSE_DIR="chartmuseum"                      # Dir in simulator_group for docker-compose
+CHART_MUS_CHART_CONTR_CHARTS="/tmp/charts"               # Local dir container for charts
+
+HELM_MANAGER_APP_NAME="helmmanagerservice"               # Name for the helm manager app
+HELM_MANAGER_DISPLAY_NAME="Helm Manager"
+HELM_MANAGER_EXTERNAL_PORT=8211                          # helm manager container external port (host -> container)
+HELM_MANAGER_INTERNAL_PORT=8083                          # helm manager container internal port (container -> container)
+HELM_MANAGER_EXTERNAL_SECURE_PORT=8212                   # helm manager container external secure port (host -> container)
+HELM_MANAGER_INTERNAL_SECURE_PORT=8443                   # helm manager container internal secure port (container -> container)
+HELM_MANAGER_CLUSTER_ROLE=cluster-admin                  # Kubernetes cluster role for helm manager
+HELM_MANAGER_SA_NAME=helm-manager-sa                     # Service account name
+HELM_MANAGER_ALIVE_URL="/helm/charts"                    # Base path for alive check
+HELM_MANAGER_COMPOSE_DIR="helmmanager"                   # Dir in simulator_group for docker-compose
+HELM_MANAGER_USER="helmadmin"
+HELM_MANAGER_PWD="itisasecret"
+
+KEYCLOAK_APP_NAME="keycloak"                             # Name for the keycloak app
+KEYCLOAK_DISPLAY_NAME="Keycloak"
+KEYCLOAK_EXTERNAL_PORT=80                                # keycloak container external port (host -> container)
+KEYCLOAK_INTERNAL_PORT=8080                              # keycloak container internal port (container -> container)
+KEYCLOAK_ADMIN_URL_PREFIX="/realms/master"
+KEYCLOAK_REALM_URL_PREFIX="/admin/realms"
+KEYCLOAK_TOKEN_URL_PREFIX="/realms"
+KEYCLOAK_ALIVE_URL="/realms/master"                      # Base path for alive check
+KEYCLOAK_COMPOSE_DIR="keycloak"
+KEYCLOAK_ADMIN_USER="admin"
+KEYCLOAK_ADMIN_PWD="admin"
+KEYCLOAK_ADMIN_CLIENT="admin-cli"
+KEYCLOAK_KC_PROXY="edge"
+
+ISTIO_COMPOSE_DIR="istio"
+
+# See jwt-info.txt in simulator-group/kubeproxy for detailed info
+ISTIO_GENERIC_JWKS_KEY='{ "keys":[{"kty":"RSA","e":"AQAB","kid":"dc1b272d-124e-417f-b6e3-eda9c0e29509","n":"u1SU1LfVLPHCozMxH2Mo4lgOEePzNm0tRgeLezV6ffAt0gunVTLw7onLRnrq0_IzW7yWR7QkrmBL7jTKEn5u-qKhbwKfBstIs-bMY2Zkp18gnTxKLxoS2tFczGkPLPgizskuemMghRniWaoLcyehkd3qqGElvW_VDL5AaWTg0nLVkjRo9z-40RQzuVaE8AkAFmxZzow3x-VJYKdjykkJ0iT9wCS0DRTXu269V264Vf_3jvredZiKRkgwlL9xNAwxXFg0x_XFw005UWVRIkdgcKWTjpBP2dPwVZ4WWC-9aGVd-Gyn1o0CLelf4rEjGoXbAAEgAqeGUxrcIlbjXfbcmw"}]}'
+ISTIO_GENERIC_JWT="eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJzdWJkb21haW4iLCJpc3MiOiJLVUJFUFJPWFkifQ.T5p9ip8yBRAYpArajFGhUlpfnV0HAbA7dPsSojYx1BNo6nwt_cpt6xJ8x66XwV-KqHud_S8hlnixLBYRtUiU8v7lWdk8RhBwW7w4CJs6n8ByvKsjJU8se18RWbSqsi-IQRsdkMiHz5fKosfCGVj6hI214S_yY988ICV7kl9anQhaD8zUPQQvso2zaAkT1qTgC5pxpZc3lB5526DvzsmYr_gaeE-GcbKW9hFoYppOhItL74IRVqRBs_pbaAauUg-9v_bRaJc5yOo3UMFDNiI2HCB6mdgJTLNb8bsT5qExgcbCRpUnOCF0I6PrvVlGft4zZkvz7I0I-8emVn4m-PV-BA"
+
+AUTHSIDECAR_APP_NAME="authsidecar"
+AUTHSIDECAR_DISPLAY_NAME="Authentication Token Fetcher"
+########################################
+# Setting for common curl-base function
+########################################
+
+UUID=""                                                  # UUID used as prefix to the policy id to simulate a real UUID
+                                                         # Testscript need to set the UUID otherwise this empty prefix is used