aboutsummaryrefslogtreecommitdiffstats
path: root/kud/tests/integration_vcFW.sh
diff options
context:
space:
mode:
authorKonrad Bańka <k.banka@samsung.com>2019-09-10 15:19:04 +0200
committerKonrad Bańka <k.banka@samsung.com>2019-09-12 09:27:07 +0200
commit4812de2d6fa78a464957fb899c04095d932b096d (patch)
tree65e79ad1b2638a8661530d25a1c166a9fef1f7f3 /kud/tests/integration_vcFW.sh
parent4655f550c8c03a6384fa90746f1af021348ec6ef (diff)
Enable self-cleanup after testing vcFW deployment
integration_vcFW.sh has been updated to clean k8s from testsuite leftovers after it finishes when passed optional '--cleanup' flag. Without it, script will preserve created vcFW environment for debug purposes. Issue-ID: MULTICLOUD-708 Signed-off-by: Konrad Bańka <k.banka@samsung.com> Change-Id: Ia6d78f1e3e2ac81e8ff7385d563e9bf1b1479026
Diffstat (limited to 'kud/tests/integration_vcFW.sh')
-rwxr-xr-xkud/tests/integration_vcFW.sh59
1 files changed, 52 insertions, 7 deletions
diff --git a/kud/tests/integration_vcFW.sh b/kud/tests/integration_vcFW.sh
index af8039c4..41643627 100755
--- a/kud/tests/integration_vcFW.sh
+++ b/kud/tests/integration_vcFW.sh
@@ -12,6 +12,33 @@ set -o errexit
set -o nounset
set -o pipefail
+#Default action
+TEARDOWN_ACTION=preserve
+
+for arg; do
+ case "$arg" in
+ --help|-h)
+ {
+ echo "Usage: $0 [--cleanup]"
+ echo "Run integration testcase on KUD deployment"
+ echo "deploying vFW demo on hybrid container-VM"
+ echo "setup. Script by default preserves environment."
+ echo "If you want it to be cleaned, launch script"
+ echo "with --cleanup flag"
+ } >&2
+ exit 0
+ ;;
+ --cleanup)
+ TEARDOWN_ACTION=cleanup
+ break
+ ;;
+ *)
+ #not implemented
+ break
+ ;;
+ esac
+done
+
source _common.sh
source _common_test.sh
source _functions.sh
@@ -23,8 +50,17 @@ if [[ ! -f $HOME/.ssh/id_rsa.pub ]]; then
echo -e "\n\n\n" | ssh-keygen -t rsa -N ""
fi
populate_CSAR_vms_containers_vFW $csar_id
-
pushd ${CSAR_DIR}/${csar_id}
+
+#Clean env
+print_msg "Cleanup scenario leftovers"
+teardown $packetgen_deployment_name $firewall_deployment_name $sink_deployment_name
+for item in $unprotected_private_net $protected_private_net $onap_private_net sink-service sink_configmap; do
+ kubectl delete -f $item.yaml --ignore-not-found
+done
+
+#Spin up
+print_msg "Instantiate vcFW"
for net in $unprotected_private_net $protected_private_net $onap_private_net; do
echo "Create OVN Network $net network"
kubectl apply -f $net.yaml
@@ -33,22 +69,31 @@ for resource in onap-ovn4nfvk8s-network sink-service sink_configmap; do
kubectl apply -f $resource.yaml
done
setup $packetgen_deployment_name $firewall_deployment_name $sink_deployment_name
-#kubectl port-forward deployment/$sink_deployment_name 667:667
# Test
+print_msg "Verify integration functionality"
for deployment_name in $packetgen_deployment_name $firewall_deployment_name; do
pod_name=$(kubectl get pods | grep $deployment_name | awk '{print $1}')
vm=$(kubectl virt virsh list | grep ".*$deployment_name" | awk '{print $2}')
echo "Pod name: $pod_name Virsh domain: $vm"
- echo "ssh -i ~/.ssh/id_rsa.pub admin@$(kubectl get pods $pod_name -o jsonpath="{.status.podIP}")"
+ echo "ssh -i ~/.ssh/id_rsa admin@$(kubectl get pods $pod_name -o jsonpath="{.status.podIP}")"
echo "kubectl attach -it $pod_name"
echo "=== Virtlet details ===="
echo "$(kubectl virt virsh dumpxml $vm | grep VIRTLET_)\n"
done
# Teardown
-#teardown $packetgen_deployment_name $firewall_deployment_name $sink_deployment_name
-#for net in $unprotected_private_net $protected_private_net $onap_private_net; do
-# kubectl delete -f $net.yaml
-#done
+if [ "${TEARDOWN_ACTION}" == "cleanup" ]; then
+ print_msg "Teardown integration scenario"
+ teardown $packetgen_deployment_name $firewall_deployment_name $sink_deployment_name
+ for item in $unprotected_private_net $protected_private_net $onap_private_net sink-service sink_configmap; do
+ kubectl delete -f $item.yaml
+ done
+else
+ print_msg "Integration scenario access"
+ echo "You can access darkstat service on your pc by (for example) port forwarding sink service"
+ echo '`kubectl port-forward svc/sink-service 667`'
+ echo "or by direct access to any k8s node under port $(kubectl get svc sink-service -o jsonpath='{.spec.ports[0].nodePort}')"
+ print_msg ""
+fi
popd