From e06b947b03c3fcce2c954feb68890a519c7740c3 Mon Sep 17 00:00:00 2001 From: Eric Multanen Date: Wed, 1 Jul 2020 23:30:49 -0700 Subject: Adds composite app status update and query This patch provides the basic framework for supporting monitoring of composite application resources in clusters. 1. Updates to the monitor files for use with v2. 2. Invokes the Watcher process per cluster/app when the app is instantiated. 3. Adds a ResourceBundleState CR resource to the cluster/app so that monitor will be able to update status to it. 4. Watcher updates appropriate appcontext status object when updates are made in clusters by monitor 5. Update appcontext library to define a status handle and object at the app/cluster level 6. Labels resources with an appropriate tracking label to coordinate with the ResourceBundleState CR Issue-ID: MULTICLOUD-1042 Signed-off-by: Eric Multanen Change-Id: If007c1fd86ca7a65bb941d1776cfd2d3afed766b --- kud/tests/README-composite-vfw.txt | 24 +++++++++++++++++++++++- kud/tests/cleanup-composite-vfw.sh | 21 --------------------- kud/tests/vfw-test-clean-cluster.sh | 11 +++++++++++ kud/tests/vfw-test.sh | 6 ++++++ 4 files changed, 40 insertions(+), 22 deletions(-) delete mode 100644 kud/tests/cleanup-composite-vfw.sh mode change 100644 => 100755 kud/tests/vfw-test-clean-cluster.sh (limited to 'kud/tests') diff --git a/kud/tests/README-composite-vfw.txt b/kud/tests/README-composite-vfw.txt index d2018c09..3f334a25 100644 --- a/kud/tests/README-composite-vfw.txt +++ b/kud/tests/README-composite-vfw.txt @@ -7,7 +7,29 @@ As written, the vfw-test.sh script assumes 3 clusters The edge cluster in which vFW will be instantiated should be KUD clusters. -# Preparations +# Edge cluster preparation + +For status monitoring support, the 'monitor' docker image must be built and +deployed. + +In multicloud-k8s repo: + cd multicloud-k8s/src/monitor + docker build -f build/Dockerfile . -t monitor + + +Deploy monitor program in each cluster (assumes multicloud-k8s repo is present in cloud) + # one time setup per cluster - install the CRD + cd multicloud-k8s/src/monitor/deploy/crds + kubectl apply -f crds/k8splugin_v1alpha1_resourcebundlestate_crd.yaml + + # one time setup per cluster + # update yaml files with correct image + # (cleanup first, if monitor was already installed - see monitor-cleanup.sh) + cd multicloud-k8s/src/monitor/deploy + monitor-deploy.sh + + +# Preparation of the vFW Composit Application ## Prepare the Composite vFW Application Charts and Profiles diff --git a/kud/tests/cleanup-composite-vfw.sh b/kud/tests/cleanup-composite-vfw.sh deleted file mode 100644 index 7f96e8ac..00000000 --- a/kud/tests/cleanup-composite-vfw.sh +++ /dev/null @@ -1,21 +0,0 @@ -# To clean up composite vfw demo resources in a cluster -kubectl -n onap4k8s delete deployment clm -kubectl -n onap4k8s delete deployment orchestrator -kubectl -n onap4k8s delete deployment ncm -kubectl -n onap4k8s delete deployment ovnaction -kubectl -n onap4k8s delete deployment rsync -kubectl -n onap4k8s delete service clm -kubectl -n onap4k8s delete service orchestrator -kubectl -n onap4k8s delete service ncm -kubectl -n onap4k8s delete service ovnaction -kubectl -n onap4k8s delete service rsync -kubectl -n onap4k8s delete configmap clm -kubectl -n onap4k8s delete configmap orchestrator -kubectl -n onap4k8s delete configmap ncm -kubectl -n onap4k8s delete configmap ovnaction -kubectl -n onap4k8s delete configmap rsync - -# delete the networks -kubectl delete network protected-private-net -kubectl delete providernetwork emco-private-net -kubectl delete providernetwork unprotected-private-net diff --git a/kud/tests/vfw-test-clean-cluster.sh b/kud/tests/vfw-test-clean-cluster.sh old mode 100644 new mode 100755 index 3d386466..153924ca --- a/kud/tests/vfw-test-clean-cluster.sh +++ b/kud/tests/vfw-test-clean-cluster.sh @@ -1,6 +1,17 @@ +#!/bin/bash + +# script to delete vfw resources (until terminate is completed) kubectl delete deploy fw0-packetgen kubectl delete deploy fw0-firewall kubectl delete deploy fw0-sink kubectl delete service packetgen-service kubectl delete service sink-service kubectl delete configmap sink-configmap + +kubectl delete network protected-private-net +kubectl delete providernetwork emco-private-net +kubectl delete providernetwork unprotected-private-net + +for i in `kubectl get resourcebundlestate --template '{{range .items}}{{.metadata.name}}{{"\n"}}{{end}}'`; do + kubectl delete resourcebundlestate $i +done diff --git a/kud/tests/vfw-test.sh b/kud/tests/vfw-test.sh index 2bdddcd7..9c431ef0 100755 --- a/kud/tests/vfw-test.sh +++ b/kud/tests/vfw-test.sh @@ -969,6 +969,9 @@ function instantiateVfw { call_api -d "{ }" "${base_url_orchestrator}/projects/${projectname}/composite-apps/${vfw_compositeapp_name}/${vfw_compositeapp_version}/deployment-intent-groups/${deployment_intent_group_name}/instantiate" } +function statusVfw { + call_api "${base_url_orchestrator}/projects/${projectname}/composite-apps/${vfw_compositeapp_name}/${vfw_compositeapp_version}/deployment-intent-groups/${deployment_intent_group_name}/status" +} function usage { echo "Usage: $0 create|get|delete|apply|terminate|instantiate" @@ -986,12 +989,14 @@ function usage { echo " delete - deletes all resources in ncm, ovnaction, clm resources created for vfw" echo " apply - applys the network intents - e.g. networks created in ncm" echo " instantiate - approves and instantiates the composite app via the generic deployment intent" + echo " status - get status of deployed resources" echo " terminate - remove the network inents created by ncm" echo "" echo " a reasonable test sequence:" echo " 1. create" echo " 2. apply" echo " 3. instantiate" + echo " 4. status" exit } @@ -1050,5 +1055,6 @@ case "$1" in "apply" ) applyNcmData ;; "terminate" ) terminateNcmData ;; "instantiate" ) instantiateVfw ;; + "status" ) statusVfw ;; *) usage ;; esac -- cgit 1.2.3-korg