Adaptation of test env to helm chart
Restructuring to use http proxy for all access to docker containers
Adding tests for dmaap adapter and mediator
Issue-ID: NONRTRIC-618
Signed-off-by: BjornMagnussonXA <bjorn.magnusson@est.tech>
Change-Id: I43799771d73140c7abbc63db9f9b28bb353474a1
diff --git a/test/common/clean_kube.sh b/test/common/clean_kube.sh
index 8e2f676..405c194 100755
--- a/test/common/clean_kube.sh
+++ b/test/common/clean_kube.sh
@@ -28,64 +28,164 @@
EYELLOW="\033[0m"
SAMELINE="\033[0K\r"
-__kube_delete_all_resources() {
- echo "Deleting all from namespace: "$1
+__kube_scale_all_resources() {
+
+ echo " Scaling down in namespace $1 ..."
namespace=$1
- resources="deployments replicaset statefulset services pods configmaps pvc pv"
- deleted_resourcetypes=""
+ resources="deployment replicaset statefulset"
for restype in $resources; do
result=$(kubectl get $restype -n $namespace -o jsonpath='{.items[?(@.metadata.labels.autotest)].metadata.name}')
if [ $? -eq 0 ] && [ ! -z "$result" ]; then
- deleted_resourcetypes=$deleted_resourcetypes" "$restype
for resid in $result; do
- if [ $restype == "replicaset" ] || [ $restype == "statefulset" ]; then
- kubectl scale $restype $resid -n $namespace --replicas=0 1> /dev/null 2> /dev/null
- T_START=$SECONDS
- count=1
- while [ $count -ne 0 ]; do
- count=$(kubectl get $restype $resid -n $namespace -o jsonpath='{.status.replicas}' 2> /dev/null)
- echo -ne " Scaling $restype $resid from namespace $namespace with label autotest to 0,count=$count....$(($SECONDS-$T_START)) seconds"$SAMELINE
- if [ $? -eq 0 ] && [ ! -z "$count" ]; then
- sleep 0.5
- else
- count=0
- fi
- done
- echo -e " Scaled $restype $resid from namespace $namespace with label $labelname=$labelid to 0,count=$count....$(($SECONDS-$T_START)) seconds$GREEN OK $EGREEN"
+ count=$(kubectl get $restype $resid -n $namespace -o jsonpath='{.status.replicas}' 2> /dev/null)
+ if [ $? -eq 0 ] && [ ! -z "$count" ]; then
+ if [ $count -ne 0 ]; then
+ echo " Scaling $restype $resid in namespace $namespace with label autotest to 0, current count=$count."
+ kubectl scale $restype $resid -n $namespace --replicas=0 1> /dev/null 2> /dev/null
+ fi
fi
- echo -ne " Deleting $restype $resid from namespace $namespace with label autotest "$SAMELINE
- kubectl delete $restype $resid -n $namespace 1> /dev/null 2> /dev/null
- if [ $? -eq 0 ]; then
- echo -e " Deleted $restype $resid from namespace $namespace with label autotest $GREEN OK $EGREEN"
- else
- echo -e " Deleted $restype $resid from namespace $namespace with label autotest $GREEN Does not exist - OK $EGREEN"
- fi
- #fi
done
fi
done
- if [ ! -z "$deleted_resourcetypes" ]; then
- for restype in $deleted_resources; do
- echo -ne " Waiting for $restype in namespace $namespace with label autotest to be deleted..."$SAMELINE
- T_START=$SECONDS
- result="dummy"
- while [ ! -z "$result" ]; do
- sleep 0.5
- result=$(kubectl get $restype -n $namespace -o jsonpath='{.items[?(@.metadata.labels.autotest)].metadata.name}')
- echo -ne " Waiting for $restype in namespace $namespace with label autotest to be deleted...$(($SECONDS-$T_START)) seconds "$SAMELINE
- if [ -z "$result" ]; then
- echo -e " Waiting for $restype in namespace $namespace with label autotest to be deleted...$(($SECONDS-$T_START)) seconds $GREEN OK $EGREEN"
- elif [ $(($SECONDS-$T_START)) -gt 300 ]; then
- echo -e " Waiting for $restype in namespace $namespace with label autotest to be deleted...$(($SECONDS-$T_START)) seconds $RED Failed $ERED"
- result=""
+}
+
+__kube_wait_for_zero_count() {
+ echo " Wait for scaling to zero in namespace $1 ..."
+ namespace=$1
+ resources="deployment replicaset statefulset"
+ for restype in $resources; do
+ result=$(kubectl get $restype -n $namespace -o jsonpath='{.items[?(@.metadata.labels.autotest)].metadata.name}')
+ if [ $? -eq 0 ] && [ ! -z "$result" ]; then
+ for resid in $result; do
+ T_START=$SECONDS
+ count=1
+ scaled=0
+ while [ $count -gt 0 ]; do
+ count=$(kubectl get $restype $resid -n $namespace -o jsonpath='{.status.replicas}' 2> /dev/null)
+ if [ $? -eq 0 ] && [ ! -z "$count" ]; then
+ if [ $count -ne 0 ]; then
+ echo -ne " Scaling $restype $resid in namespace $namespace with label autotest to 0, current count=$count....$(($SECONDS-$T_START)) seconds"$SAMELINE
+ scaled=1
+ else
+ sleep 0.5
+ fi
+ else
+ count=0
+ fi
+ done
+ if [ $scaled -eq 1 ]; then
+ echo -e " Scaling $restype $resid in namespace $namespace with label autotest to 0, current count=$count....$(($SECONDS-$T_START)) seconds $GREEN OK $EGREEN"
fi
done
- done
- fi
+ fi
+ done
}
-echo "Will remove all kube resources marked with label 'autotest'"
-__kube_delete_all_resources nonrtric
-__kube_delete_all_resources nonrtric-ft
-__kube_delete_all_resources onap
+__kube_delete_all_resources() {
+ echo " Delete all in namespace $1 ..."
+ namespace=$1
+ resources="deployments replicaset statefulset services pods configmaps pvc "
+ for restype in $resources; do
+ result=$(kubectl get $restype -n $namespace -o jsonpath='{.items[?(@.metadata.labels.autotest)].metadata.name}')
+ if [ $? -eq 0 ] && [ ! -z "$result" ]; then
+ for resid in $result; do
+ echo " Deleting $restype $resid in namespace $namespace with label autotest "
+ kubectl delete $restype $resid -n $namespace 1> /dev/null 2> /dev/null
+ done
+ fi
+ done
+}
+
+__kube_delete_all_pv() {
+ echo " Delete pv ..."
+ resources="pv"
+ for restype in $resources; do
+ result=$(kubectl get $restype -o jsonpath='{.items[?(@.metadata.labels.autotest)].metadata.name}')
+ if [ $? -eq 0 ] && [ ! -z "$result" ]; then
+ for resid in $result; do
+ echo " Deleting $restype $resid with label autotest "
+ kubectl delete $restype $resid 1> /dev/null 2> /dev/null
+ done
+ fi
+ done
+}
+
+__kube_wait_for_delete() {
+ echo " Wait for delete in namespace $1 ..."
+ namespace=$1
+ resources="deployments replicaset statefulset services pods configmaps pvc "
+ for restype in $resources; do
+ result=$(kubectl get $restype -n $namespace -o jsonpath='{.items[?(@.metadata.labels.autotest)].metadata.name}')
+ if [ $? -eq 0 ] && [ ! -z "$result" ]; then
+ for resid in $result; do
+ echo " Deleting $restype $resid in namespace $namespace with label autotest "
+ kubectl delete $restype $resid -n $namespace #1> /dev/null 2> /dev/null
+ echo -ne " Waiting for $restype $resid in namespace $namespace with label autotest to be deleted..."$SAMELINE
+ T_START=$SECONDS
+ result="dummy"
+ while [ ! -z "$result" ]; do
+ sleep 0.5
+ result=$(kubectl get $restype -n $namespace -o jsonpath='{.items[?(@.metadata.labels.autotest)].metadata.name}')
+ echo -ne " Waiting for $restype $resid in namespace $namespace with label autotest to be deleted...$(($SECONDS-$T_START)) seconds "$SAMELINE
+ if [ -z "$result" ]; then
+ echo -e " Waiting for $restype $resid in namespace $namespace with label autotest to be deleted...$(($SECONDS-$T_START)) seconds $GREEN OK $EGREEN"
+ elif [ $(($SECONDS-$T_START)) -gt 300 ]; then
+ echo -e " Waiting for $restype $resid in namespace $namespace with label autotest to be deleted...$(($SECONDS-$T_START)) seconds $RED Failed $ERED"
+ result=""
+ fi
+ done
+ done
+ fi
+ done
+}
+
+__kube_wait_for_delete_pv() {
+ echo " Wait for delete pv ..."
+ resources="pv "
+ for restype in $resources; do
+ result=$(kubectl get $restype -o jsonpath='{.items[?(@.metadata.labels.autotest)].metadata.name}')
+ if [ $? -eq 0 ] && [ ! -z "$result" ]; then
+ for resid in $result; do
+ echo " Deleting $restype $resid with label autotest "
+ kubectl delete $restype $resid -n $namespace #1> /dev/null 2> /dev/null
+ echo -ne " Waiting for $restype $resid with label autotest to be deleted..."$SAMELINE
+ T_START=$SECONDS
+ result="dummy"
+ while [ ! -z "$result" ]; do
+ sleep 0.5
+ result=$(kubectl get $restype -n $namespace -o jsonpath='{.items[?(@.metadata.labels.autotest)].metadata.name}')
+ echo -ne " Waiting for $restype $resid with label autotest to be deleted...$(($SECONDS-$T_START)) seconds "$SAMELINE
+ if [ -z "$result" ]; then
+ echo -e " Waiting for $restype $resid with label autotest to be deleted...$(($SECONDS-$T_START)) seconds $GREEN OK $EGREEN"
+ elif [ $(($SECONDS-$T_START)) -gt 300 ]; then
+ echo -e " Waiting for $restype $resid with label autotest to be deleted...$(($SECONDS-$T_START)) seconds $RED Failed $ERED"
+ result=""
+ fi
+ done
+ done
+ fi
+ done
+}
+
+
+echo "Will remove all kube resources marked with label 'autotest'"
+
+# List all namespace and scale/delete per namespace
+nss=$(kubectl get ns -o jsonpath='{.items[*].metadata.name}')
+if [ ! -z "$nss" ]; then
+ for ns in $nss; do
+ __kube_scale_all_resources $ns
+ done
+ for ns in $nss; do
+ __kube_wait_for_zero_count $ns
+ done
+ for ns in $nss; do
+ __kube_delete_all_resources $ns
+ done
+ __kube_delete_all_pv
+ for ns in $nss; do
+ __kube_wait_for_delete $ns
+ done
+ __kube_wait_for_delete_pv
+fi
echo "Done"
\ No newline at end of file