X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=test%2Fcommon%2Fhttpproxy_api_functions.sh;h=2ff505f63cddf4bed5aac9da0bffea4d66d56a21;hb=900ceda884f7cd92be20bfb1fb3a424073dc4316;hp=af11f146da74c98e57973ddc2ab308faf260ba74;hpb=534a1fe8136ed8d72615707008bdd6061d1df2fe;p=nonrtric.git diff --git a/test/common/httpproxy_api_functions.sh b/test/common/httpproxy_api_functions.sh index af11f146..2ff505f6 100644 --- a/test/common/httpproxy_api_functions.sh +++ b/test/common/httpproxy_api_functions.sh @@ -17,7 +17,7 @@ # ============LICENSE_END================================================= # -# This is a script that contains container/service managemnt functions for Http Proxy +# This is a script that contains container/service management functions for Http Proxy ################ Test engine functions ################ @@ -25,7 +25,7 @@ # arg: (selects staging, snapshot, release etc) # is present only for images with staging, snapshot,release tags __HTTPPROXY_imagesetup() { - __check_and_create_image_var HTTPPROXY "HTTP_PROXY_IMAGE" "HTTP_PROXY_IMAGE_BASE" "HTTP_PROXY_IMAGE_TAG" LOCAL "$HTTP_PROXY_DISPLAY_NAME" + __check_and_create_image_var HTTPPROXY "HTTP_PROXY_IMAGE" "HTTP_PROXY_IMAGE_BASE" "HTTP_PROXY_IMAGE_TAG" LOCAL "$HTTP_PROXY_DISPLAY_NAME" $IMAGE_TARGET_PLATFORM_IMG_TAG } # Pull image from remote repo or use locally built image @@ -43,7 +43,7 @@ __HTTPPROXY_imagepull() { __HTTPPROXY_imagebuild() { cd ../$HTTP_PROXY_BUILD_DIR # Note: Reusing same impl as for kube proxy echo " Building HTTPPROXY - $HTTP_PROXY_DISPLAY_NAME - image: $HTTP_PROXY_IMAGE" - docker build --build-arg NEXUS_PROXY_REPO=$NEXUS_PROXY_REPO -t $HTTP_PROXY_IMAGE . &> .dockererr + docker build $IMAGE_TARGET_PLATFORM_CMD_PARAM --build-arg NEXUS_PROXY_REPO=$NEXUS_PROXY_REPO -t $HTTP_PROXY_IMAGE . &> .dockererr if [ $? -eq 0 ]; then echo -e $GREEN" Build Ok"$EGREEN __retag_and_push_image HTTP_PROXY_IMAGE @@ -77,12 +77,12 @@ __HTTPPROXY_kube_scale_zero() { } # Scale kubernetes resources to zero and wait until this has been accomplished, if relevant. If not relevant to scale, then do no action. -# This function is called for prestarted apps not managed by the test script. +# This function is called for pre-started apps not managed by the test script. __HTTPPROXY_kube_scale_zero_and_wait() { echo -e $RED" HTTPPROXY app is not scaled in this state"$ERED } -# Delete all kube resouces for the app +# Delete all kube resources for the app # This function is called for apps managed by the test script. __HTTPPROXY_kube_delete_all() { __kube_delete_all_resources $KUBE_SIM_NAMESPACE autotest HTTPPROXY @@ -90,10 +90,10 @@ __HTTPPROXY_kube_delete_all() { # Store docker logs # This function is called for apps managed by the test script. -# args: +# args: __HTTPPROXY_store_docker_logs() { if [ $RUNMODE == "KUBE" ]; then - kubectl logs -l "autotest=HTTPPROXY" -n $KUBE_SIM_NAMESPACE --tail=-1 > $1$2_httpproxy.log 2>&1 + kubectl $KUBECONF logs -l "autotest=HTTPPROXY" -n $KUBE_SIM_NAMESPACE --tail=-1 > $1$2_httpproxy.log 2>&1 else docker logs $HTTP_PROXY_APP_NAME > $1$2_httpproxy.log 2>&1 fi @@ -106,11 +106,11 @@ __HTTPPROXY_initial_setup() { use_http_proxy_http } -# Set app short-name, app name and namespace for logging runtime statistics of kubernets pods or docker containers +# Set app short-name, app name and namespace for logging runtime statistics of kubernetes pods or docker containers # For docker, the namespace shall be excluded -# This function is called for apps managed by the test script as well as for prestarted apps. +# This function is called for apps managed by the test script as well as for pre-started apps. # args: - -__HTTPPROXY_statisics_setup() { +__HTTPPROXY_statistics_setup() { if [ $RUNMODE == "KUBE" ]; then echo "HTTPPROXY $HTTP_PROXY_APP_NAME $KUBE_SIM_NAMESPACE" else @@ -118,20 +118,26 @@ __HTTPPROXY_statisics_setup() { fi } +# Check application requirements, e.g. helm, the the test needs. Exit 1 if req not satisfied +# args: - +__HTTPPROXY_test_requirements() { + : +} + ####################################################### # Set http as the protocol to use for all communication to the http proxy # args: - # (Function for test scripts) use_http_proxy_http() { - __http_proxy_set_protocoll "http" $HTTP_PROXY_INTERNAL_PORT $HTTP_PROXY_EXTERNAL_PORT + __http_proxy_set_protocoll "http" $HTTP_PROXY_INTERNAL_PORT $HTTP_PROXY_EXTERNAL_PORT $HTTP_PROXY_WEB_INTERNAL_PORT $HTTP_PROXY_WEB_EXTERNAL_PORT } # Set https as the protocol to use for all communication to the http proxy # args: - # (Function for test scripts) use_http_proxy_https() { - __http_proxy_set_protocoll "https" $HTTP_PROXY_INTERNAL_SECURE_PORT $HTTP_PROXY_EXTERNAL_SECURE_PORT + __http_proxy_set_protocoll "https" $HTTP_PROXY_INTERNAL_SECURE_PORT $HTTP_PROXY_EXTERNAL_SECURE_PORT $HTTP_PROXY_WEB_INTERNAL_SECURE_PORT $HTTP_PROXY_WEB_EXTERNAL_SECURE_PORT } # Setup paths to svc/container for internal and external access @@ -144,12 +150,14 @@ __http_proxy_set_protocoll() { ## HTTP_PROXY_CONFIG_HOST_NAME and HTTP_PROXY_CONFIG_PORT used by apps as config for proxy host and port HTTP_PROXY_SERVICE_PATH=$1"://"$HTTP_PROXY_APP_NAME":"$2 # docker access, container->container and script->container via proxy + HTTP_PROXY_WEB_PATH=$1"://"$HTTP_PROXY_APP_NAME":"$4 HTTP_PROXY_CONFIG_HOST_NAME=$HTTP_PROXY_APP_NAME HTTP_PROXY_CONFIG_PORT=$2 if [ $RUNMODE == "KUBE" ]; then HTTP_PROXY_CONFIG_HOST_NAME=$HTTP_PROXY_APP_NAME"."$KUBE_SIM_NAMESPACE HTTP_PROXY_CONFIG_PORT=$3 HTTP_PROXY_SERVICE_PATH=$1"://"$HTTP_PROXY_APP_NAME.$KUBE_SIM_NAMESPACE":"$3 # kube access, pod->svc and script->svc via proxy + HTTP_PROXY_WEB_PATH=$1"://"$HTTP_PROXY_APP_NAME.$KUBE_SIM_NAMESPACE":"$5 fi echo "" @@ -190,7 +198,7 @@ start_http_proxy() { __check_included_image "HTTPPROXY" retcode_i=$? - # Check if app shall only be used by the testscipt + # Check if app shall only be used by the test script __check_prestarted_image "HTTPPROXY" retcode_p=$? @@ -231,7 +239,7 @@ start_http_proxy() { fi - __check_service_start $HTTP_PROXY_APP_NAME $HTTP_PROXY_SERVICE_PATH$HTTP_PROXY_ALIVE_URL + __check_service_start $HTTP_PROXY_APP_NAME $HTTP_PROXY_WEB_PATH$HTTP_PROXY_ALIVE_URL else # Check if docker app shall be fully managed by the test script @@ -246,7 +254,23 @@ start_http_proxy() { __start_container $HTTP_PROXY_COMPOSE_DIR "" NODOCKERARGS 1 $HTTP_PROXY_APP_NAME - __check_service_start $HTTP_PROXY_APP_NAME $HTTP_PROXY_SERVICE_PATH$HTTP_PROXY_ALIVE_URL + __check_service_start $HTTP_PROXY_APP_NAME $HTTP_PROXY_WEB_PATH$HTTP_PROXY_ALIVE_URL + fi + echo "" +} + +# Turn on debug logging in httpproxy +# args: - +# (Function for test scripts) +set_httpproxy_debug() { + echo -e $BOLD"Setting httpproxy debug logging"$EBOLD + curlString="$HTTP_PROXY_WEB_PATH/debug -X PUT" + result=$(__do_curl "$curlString") + if [ $? -ne 0 ]; then + __print_err "could not set debug logging" $@ + ((RES_CONF_FAIL++)) + return 1 fi echo "" + return 0 }