Merge "Integrated gateway and updated kube support"
[nonrtric.git] / test / auto-test / FTC800.sh
index da80201..7398481 100755 (executable)
 
 TC_ONELINE_DESCR="Create 10000 policies in sequence using http/https and Agent REST/DMAAP with/without SDNC controller"
 
-#App names to include in the test, space separated list
-INCLUDED_IMAGES="CBS CONSUL CP CR MR PA RICSIM SDNC"
+#App names to include in the test when running docker, space separated list
+DOCKER_INCLUDED_IMAGES="CBS CONSUL CP CR MR PA RICSIM SDNC NGW"
 
-#SUPPORTED TEST ENV FILE
-SUPPORTED_PROFILES="ONAP-MASTER ONAP-GUILIN"
+#App names to include in the test when running kubernetes, space separated list
+KUBE_INCLUDED_IMAGES="CP CR MR PA RICSIM SDNC KUBEPROXY NGW"
+#Prestarted app (not started by script) to include in the test when running kubernetes, space separated list
+KUBE_PRESTARTED_IMAGES=""
+
+#Ignore image in DOCKER_INCLUDED_IMAGES, KUBE_INCLUDED_IMAGES if
+#the image is not configured in the supplied env_file
+#Used for images not applicable to all supported profile
+CONDITIONALLY_IGNORED_IMAGES="NGW"
+
+#Supported test environment profiles
+SUPPORTED_PROFILES="ONAP-GUILIN ONAP-HONOLULU  ORAN-CHERRY ORAN-DAWN"
+#Supported run modes
+SUPPORTED_RUNMODES="DOCKER KUBE"
 
 . ../common/testcase_common.sh  $@
 . ../common/agent_api_functions.sh
 . ../common/ricsimulator_api_functions.sh
 . ../common/cr_api_functions.sh
+. ../common/mr_api_functions.sh
+. ../common/control_panel_api_functions.sh
+. ../common/controller_api_functions.sh
+. ../common/consul_cbs_functions.sh
+. ../common/kube_proxy_api_functions.sh
+. ../common/gateway_api_functions.sh
+
+setup_testenvironment
 
 #### TEST BEGIN ####
 
-generate_uuid
+generate_policy_uuid
 
 #Local vars in test script
 ##########################
@@ -44,6 +64,7 @@ TESTED_VARIANTS="NOSDNC   SDNC"
 
 #Test agent and simulator protocol versions (others are http only)
 TESTED_PROTOCOLS="HTTP HTTPS"
+
 for __httpx in $TESTED_PROTOCOLS ; do
     for interface in $TESTED_VARIANTS ; do
 
@@ -68,7 +89,11 @@ for __httpx in $TESTED_PROTOCOLS ; do
         # Policy instance start id
         START_ID=1
 
-        clean_containers
+        clean_environment
+
+        if [ $RUNMODE == "KUBE" ]; then
+            start_kube_proxy
+        fi
 
         start_ric_simulators ricsim_g1 1 OSC_2.1.0
         start_ric_simulators ricsim_g2 1 STD_1.1.3
@@ -80,6 +105,18 @@ for __httpx in $TESTED_PROTOCOLS ; do
 
         start_cr
 
+        start_control_panel $SIM_GROUP/$CONTROL_PANEL_COMPOSE_DIR/$CONTROL_PANEL_CONFIG_FILE
+
+        if [ ! -z "$NRT_GATEWAY_APP_NAME" ]; then
+            start_gateway $SIM_GROUP/$NRT_GATEWAY_COMPOSE_DIR/$NRT_GATEWAY_CONFIG_FILE
+        fi
+
+        start_policy_agent NORPOXY $SIM_GROUP/$POLICY_AGENT_COMPOSE_DIR/$POLICY_AGENT_CONFIG_FILE
+
+        set_agent_debug
+
+        mr_equal requests_submitted 0
+
         if [[ $interface == "SDNC" ]]; then
             start_sdnc
             prepare_consul_config      SDNC    ".consul_config.json"
@@ -87,36 +124,39 @@ for __httpx in $TESTED_PROTOCOLS ; do
             prepare_consul_config      NOSDNC  ".consul_config.json"
         fi
 
-        start_consul_cbs
-
-        consul_config_app                      ".consul_config.json"
-
-        start_control_panel
-
-        start_policy_agent
-
-        set_agent_debug
+        if [ $RUNMODE == "DOCKER" ]; then
+            start_consul_cbs
+        fi
 
-        mr_equal requests_submitted 0
+        if [ $RUNMODE == "KUBE" ]; then
+            agent_load_config                       ".consul_config.json"
+        else
+            consul_config_app                      ".consul_config.json"
+        fi
 
 
         api_get_status 200
 
         sim_print ricsim_g1_1 interface
         sim_print ricsim_g2_1 interface
+        if [ "$PMS_VERSION" == "V2" ]; then
+            sim_print ricsim_g3_1 interface
+        fi
 
         sim_put_policy_type 201 ricsim_g1_1 1 testdata/OSC/sim_1.json
 
         if [ "$PMS_VERSION" == "V2" ]; then
-            api_equal json:policy-types 2 120  #Wait for the agent to refresh types from the simulators
+            sim_put_policy_type 201 ricsim_g3_1 STD_QOS2_0.1.0 testdata/STD2/sim_qos2.json
+
+            api_equal json:policy-types 3 300  #Wait for the agent to refresh types from the simulators
         else
-            api_equal json:policy_types 2 120  #Wait for the agent to refresh types from the simulators
+            api_equal json:policy_types 2 300  #Wait for the agent to refresh types from the simulators
         fi
 
-        api_put_service 201 "serv1" 3600 "$CR_PATH/1"
+        api_put_service 201 "serv1" 3600 "$CR_SERVICE_PATH/1"
 
         if [ "$PMS_VERSION" == "V2" ]; then
-            notificationurl=$CR_PATH"/test"
+            notificationurl=$CR_SERVICE_PATH"/test"
         else
             notificationurl=""
         fi
@@ -135,6 +175,17 @@ for __httpx in $TESTED_PROTOCOLS ; do
 
         sim_equal ricsim_g2_1 num_instances $NUM_POLICIES
 
+        if [ "$PMS_VERSION" == "V2" ]; then
+
+            START_ID=$(($START_ID+$NUM_POLICIES))
+
+            start_timer "Create polices in STD 2 via agent REST and $interface using "$__httpx
+            api_put_policy 201 "serv1" ricsim_g3_1 STD_QOS2_0.1.0 $START_ID NOTRANSIENT $notificationurl testdata/STD2/pi_qos2_template.json $NUM_POLICIES
+            print_timer "Create polices in STD via agent REST and $interface using "$__httpx
+
+            sim_equal ricsim_g3_1 num_instances $NUM_POLICIES
+        fi
+
         if [ $__httpx == "HTTPS" ]; then
             echo "Using secure ports towards dmaap"
             use_agent_dmaap_https
@@ -159,6 +210,17 @@ for __httpx in $TESTED_PROTOCOLS ; do
 
         sim_equal ricsim_g2_1 num_instances $((2*$NUM_POLICIES))
 
+        if [ "$PMS_VERSION" == "V2" ]; then
+
+            START_ID=$(($START_ID+$NUM_POLICIES))
+
+            start_timer "Create polices in STD 2 via agent DMAAP, one by one, and $interface using "$__httpx
+            api_put_policy 201 "serv1" ricsim_g3_1 STD_QOS2_0.1.0 $START_ID NOTRANSIENT $notificationurl testdata/STD2/pi_qos2_template.json $NUM_POLICIES
+            print_timer "Create polices in STD via agent DMAAP, one by one, and $interface using "$__httpx
+
+            sim_equal ricsim_g3_1 num_instances $((2*$NUM_POLICIES))
+        fi
+
         START_ID=$(($START_ID+$NUM_POLICIES))
 
         start_timer "Create polices in OSC via agent DMAAP in batch and $interface using "$__httpx
@@ -175,17 +237,28 @@ for __httpx in $TESTED_PROTOCOLS ; do
 
         sim_equal ricsim_g2_1 num_instances $((3*$NUM_POLICIES))
 
+        if [ "$PMS_VERSION" == "V2" ]; then
+
+            START_ID=$(($START_ID+$NUM_POLICIES))
+
+            start_timer "Create polices in STD via agent DMAAP in batch and $interface using "$__httpx
+            api_put_policy_batch 201 "serv1" ricsim_g3_1 STD_QOS2_0.1.0 $START_ID NOTRANSIENT $notificationurl testdata/STD2/pi_qos2_template.json $NUM_POLICIES
+            print_timer "Create polices in STD via agent DMAAP in batch and $interface using "$__httpx
+
+            sim_equal ricsim_g3_1 num_instances $((3*$NUM_POLICIES))
+        fi
+
         if [ $interface == "SDNC" ]; then
-            sim_contains_str ricsim_g1_1 remote_hosts "a1-controller"
-            sim_contains_str ricsim_g2_1 remote_hosts "a1-controller"
+            sim_contains_str ricsim_g1_1 remote_hosts $SDNC_APP_NAME
+            sim_contains_str ricsim_g2_1 remote_hosts $SDNC_APP_NAME
             if [ "$PMS_VERSION" == "V2" ]; then
-                sim_contains_str ricsim_g3_1 remote_hosts "a1-controller"
+                sim_contains_str ricsim_g3_1 remote_hosts $SDNC_APP_NAME
             fi
         else
-            sim_contains_str ricsim_g1_1 remote_hosts "policy-agent"
-            sim_contains_str ricsim_g2_1 remote_hosts "policy-agent"
+            sim_contains_str ricsim_g1_1 remote_hosts $POLICY_AGENT_APP_NAME
+            sim_contains_str ricsim_g2_1 remote_hosts $POLICY_AGENT_APP_NAME
             if [ "$PMS_VERSION" == "V2" ]; then
-                sim_contains_str ricsim_g3_1 remote_hosts "policy-agent"
+                sim_contains_str ricsim_g3_1 remote_hosts $POLICY_AGENT_APP_NAME
             fi
         fi
 
@@ -202,4 +275,4 @@ done
 
 print_result
 
-auto_clean_containers
\ No newline at end of file
+auto_clean_environment
\ No newline at end of file