Script for M3DB operator deployment through orchestrator 10/109810/3
authorRajamohan Raj <rajamohan.raj@intel.com>
Thu, 2 Jul 2020 23:18:38 +0000 (23:18 +0000)
committerRajamohan Raj <rajamohan.raj@intel.com>
Tue, 7 Jul 2020 02:14:42 +0000 (02:14 +0000)
In this patch, wrote a script for auto deploy
of M3DB operator through the orchestrator.

Issue-ID: MULTICLOUD-1112
Signed-off-by: Rajamohan Raj <rajamohan.raj@intel.com>
Change-Id: Ia1951c5ef0de20e9b47f6ab5330dec8db5a1c46f

36 files changed:
kud/tests/m3db-operator-test.sh [new file with mode: 0755]
kud/tests/vnfs/comp-app/collection/etcd-m3db-operators/helm/operator/charts/etcd-operator/templates/etcd-cluster-crd.yaml [deleted file]
kud/tests/vnfs/comp-app/collection/operators/helm/operator/.helmignore [moved from kud/tests/vnfs/comp-app/collection/etcd-m3db-operators/helm/operator/.helmignore with 100% similarity]
kud/tests/vnfs/comp-app/collection/operators/helm/operator/Chart.yaml [moved from kud/tests/vnfs/comp-app/collection/etcd-m3db-operators/helm/operator/Chart.yaml with 100% similarity]
kud/tests/vnfs/comp-app/collection/operators/helm/operator/charts/etcd-operator/.helmignore [moved from kud/tests/vnfs/comp-app/collection/etcd-m3db-operators/helm/operator/charts/etcd-operator/.helmignore with 100% similarity]
kud/tests/vnfs/comp-app/collection/operators/helm/operator/charts/etcd-operator/Chart.yaml [moved from kud/tests/vnfs/comp-app/collection/etcd-m3db-operators/helm/operator/charts/etcd-operator/Chart.yaml with 100% similarity]
kud/tests/vnfs/comp-app/collection/operators/helm/operator/charts/etcd-operator/OWNERS [moved from kud/tests/vnfs/comp-app/collection/etcd-m3db-operators/helm/operator/charts/etcd-operator/OWNERS with 100% similarity]
kud/tests/vnfs/comp-app/collection/operators/helm/operator/charts/etcd-operator/README.md [moved from kud/tests/vnfs/comp-app/collection/etcd-m3db-operators/helm/operator/charts/etcd-operator/README.md with 100% similarity]
kud/tests/vnfs/comp-app/collection/operators/helm/operator/charts/etcd-operator/templates/NOTES.txt [moved from kud/tests/vnfs/comp-app/collection/etcd-m3db-operators/helm/operator/charts/etcd-operator/templates/NOTES.txt with 100% similarity]
kud/tests/vnfs/comp-app/collection/operators/helm/operator/charts/etcd-operator/templates/_helpers.tpl [moved from kud/tests/vnfs/comp-app/collection/etcd-m3db-operators/helm/operator/charts/etcd-operator/templates/_helpers.tpl with 100% similarity]
kud/tests/vnfs/comp-app/collection/operators/helm/operator/charts/etcd-operator/templates/backup-etcd-crd.yaml [moved from kud/tests/vnfs/comp-app/collection/etcd-m3db-operators/helm/operator/charts/etcd-operator/templates/backup-etcd-crd.yaml with 100% similarity]
kud/tests/vnfs/comp-app/collection/operators/helm/operator/charts/etcd-operator/templates/backup-operator-deployment.yaml [moved from kud/tests/vnfs/comp-app/collection/etcd-m3db-operators/helm/operator/charts/etcd-operator/templates/backup-operator-deployment.yaml with 100% similarity]
kud/tests/vnfs/comp-app/collection/operators/helm/operator/charts/etcd-operator/templates/etcd-cluster-crd.yaml [new file with mode: 0644]
kud/tests/vnfs/comp-app/collection/operators/helm/operator/charts/etcd-operator/templates/etcd-cluster-creation.yaml [new file with mode: 0644]
kud/tests/vnfs/comp-app/collection/operators/helm/operator/charts/etcd-operator/templates/operator-cluster-role.yaml [moved from kud/tests/vnfs/comp-app/collection/etcd-m3db-operators/helm/operator/charts/etcd-operator/templates/operator-cluster-role.yaml with 100% similarity]
kud/tests/vnfs/comp-app/collection/operators/helm/operator/charts/etcd-operator/templates/operator-clusterrole-binding.yaml [moved from kud/tests/vnfs/comp-app/collection/etcd-m3db-operators/helm/operator/charts/etcd-operator/templates/operator-clusterrole-binding.yaml with 100% similarity]
kud/tests/vnfs/comp-app/collection/operators/helm/operator/charts/etcd-operator/templates/operator-deployment.yaml [moved from kud/tests/vnfs/comp-app/collection/etcd-m3db-operators/helm/operator/charts/etcd-operator/templates/operator-deployment.yaml with 100% similarity]
kud/tests/vnfs/comp-app/collection/operators/helm/operator/charts/etcd-operator/templates/operator-service-account.yaml [moved from kud/tests/vnfs/comp-app/collection/etcd-m3db-operators/helm/operator/charts/etcd-operator/templates/operator-service-account.yaml with 100% similarity]
kud/tests/vnfs/comp-app/collection/operators/helm/operator/charts/etcd-operator/templates/restore-etcd-crd.yaml [moved from kud/tests/vnfs/comp-app/collection/etcd-m3db-operators/helm/operator/charts/etcd-operator/templates/restore-etcd-crd.yaml with 100% similarity]
kud/tests/vnfs/comp-app/collection/operators/helm/operator/charts/etcd-operator/templates/restore-operator-deployment.yaml [moved from kud/tests/vnfs/comp-app/collection/etcd-m3db-operators/helm/operator/charts/etcd-operator/templates/restore-operator-deployment.yaml with 100% similarity]
kud/tests/vnfs/comp-app/collection/operators/helm/operator/charts/etcd-operator/templates/restore-operator-service.yaml [moved from kud/tests/vnfs/comp-app/collection/etcd-m3db-operators/helm/operator/charts/etcd-operator/templates/restore-operator-service.yaml with 100% similarity]
kud/tests/vnfs/comp-app/collection/operators/helm/operator/charts/etcd-operator/values.yaml [moved from kud/tests/vnfs/comp-app/collection/etcd-m3db-operators/helm/operator/charts/etcd-operator/values.yaml with 100% similarity]
kud/tests/vnfs/comp-app/collection/operators/helm/operator/charts/m3db-operator/Chart.yaml [moved from kud/tests/vnfs/comp-app/collection/etcd-m3db-operators/helm/operator/charts/m3db-operator/Chart.yaml with 100% similarity]
kud/tests/vnfs/comp-app/collection/operators/helm/operator/charts/m3db-operator/LICENSE [moved from kud/tests/vnfs/comp-app/collection/etcd-m3db-operators/helm/operator/charts/m3db-operator/LICENSE with 100% similarity]
kud/tests/vnfs/comp-app/collection/operators/helm/operator/charts/m3db-operator/NOTES.txt [moved from kud/tests/vnfs/comp-app/collection/etcd-m3db-operators/helm/operator/charts/m3db-operator/NOTES.txt with 100% similarity]
kud/tests/vnfs/comp-app/collection/operators/helm/operator/charts/m3db-operator/README.md [moved from kud/tests/vnfs/comp-app/collection/etcd-m3db-operators/helm/operator/charts/m3db-operator/README.md with 100% similarity]
kud/tests/vnfs/comp-app/collection/operators/helm/operator/charts/m3db-operator/templates/cluster_role.yaml [moved from kud/tests/vnfs/comp-app/collection/etcd-m3db-operators/helm/operator/charts/m3db-operator/templates/cluster_role.yaml with 100% similarity]
kud/tests/vnfs/comp-app/collection/operators/helm/operator/charts/m3db-operator/templates/cluster_role_binding.yaml [moved from kud/tests/vnfs/comp-app/collection/etcd-m3db-operators/helm/operator/charts/m3db-operator/templates/cluster_role_binding.yaml with 100% similarity]
kud/tests/vnfs/comp-app/collection/operators/helm/operator/charts/m3db-operator/templates/service_account.yaml [moved from kud/tests/vnfs/comp-app/collection/etcd-m3db-operators/helm/operator/charts/m3db-operator/templates/service_account.yaml with 100% similarity]
kud/tests/vnfs/comp-app/collection/operators/helm/operator/charts/m3db-operator/templates/stateful_set.yaml [moved from kud/tests/vnfs/comp-app/collection/etcd-m3db-operators/helm/operator/charts/m3db-operator/templates/stateful_set.yaml with 100% similarity]
kud/tests/vnfs/comp-app/collection/operators/helm/operator/charts/m3db-operator/values.yaml [moved from kud/tests/vnfs/comp-app/collection/etcd-m3db-operators/helm/operator/charts/m3db-operator/values.yaml with 100% similarity]
kud/tests/vnfs/comp-app/collection/operators/helm/operator/requirements.yaml [moved from kud/tests/vnfs/comp-app/collection/etcd-m3db-operators/helm/operator/requirements.yaml with 100% similarity]
kud/tests/vnfs/comp-app/collection/operators/helm/operator/resources/m3db.labels [moved from kud/tests/vnfs/comp-app/collection/etcd-m3db-operators/helm/operator/resources/m3db.labels with 100% similarity]
kud/tests/vnfs/comp-app/collection/operators/helm/operator/values.yaml [moved from kud/tests/vnfs/comp-app/collection/etcd-m3db-operators/helm/operator/values.yaml with 100% similarity]
kud/tests/vnfs/comp-app/collection/operators/profile/manifest.yaml [new file with mode: 0644]
kud/tests/vnfs/comp-app/collection/operators/profile/override_values.yaml [new file with mode: 0644]

diff --git a/kud/tests/m3db-operator-test.sh b/kud/tests/m3db-operator-test.sh
new file mode 100755 (executable)
index 0000000..5642fb6
--- /dev/null
@@ -0,0 +1,376 @@
+# /*
+#  * Copyright 2020 Intel Corporation, Inc
+#  *
+#  * Licensed under the Apache License, Version 2.0 (the "License");
+#  * you may not use this file except in compliance with the License.
+#  * You may obtain a copy of the License at
+#  *
+#  *     http://www.apache.org/licenses/LICENSE-2.0
+#  *
+#  * Unless required by applicable law or agreed to in writing, software
+#  * distributed under the License is distributed on an "AS IS" BASIS,
+#  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#  * See the License for the specific language governing permissions and
+#  * limitations under the License.
+#  */
+
+
+
+set -o errexit
+set -o nounset
+set -o pipefail
+
+
+source _common_test.sh
+source _functions.sh
+source _common.sh
+
+
+base_url_clm=${base_url_clm:-"http://192.168.121.29:32551/v2"}
+base_url_ncm=${base_url_ncm:-"http://192.168.121.29:31406/v2"}
+base_url_orchestrator=${base_url_orchestrator:-"http://192.168.121.29:30356/v2"}
+base_url_rysnc=${base_url_orchestrator:-"http://192.168.121.29:31751/v2"}
+CSAR_DIR="/opt/csar"
+csar_id="operators-cb009bfe-bbee-11e8-9766-525400435678"
+
+
+app1_helm_path="$CSAR_DIR/$csar_id/operator.tar.gz"
+app1_profile_path="$CSAR_DIR/$csar_id/operator_profile.tar.gz"
+
+
+
+
+
+# ---------BEGIN: SET CLM DATA---------------
+
+clusterprovidername="collection-operator-cluster-provider"
+clusterproviderdata="$(cat<<EOF
+{
+  "metadata": {
+    "name": "$clusterprovidername",
+    "description": "description of $clusterprovidername",
+    "userData1": "$clusterprovidername user data 1",
+    "userData2": "$clusterprovidername user data 2"
+  }
+}
+EOF
+)"
+
+clustername="cluster1"
+clusterdata="$(cat<<EOF
+{
+  "metadata": {
+    "name": "$clustername",
+    "description": "description of $clustername",
+    "userData1": "$clustername user data 1",
+    "userData2": "$clustername user data 2"
+  }
+}
+EOF
+)"
+
+kubeconfigcluster1="/opt/kud/multi-cluster/cluster1/artifacts/admin.conf"
+
+labelname="LabelCluster1"
+labeldata="$(cat<<EOF
+{"label-name": "$labelname"}
+EOF
+)"
+
+#--TODO--Creating provider network and network intents----
+
+# add the rsync controller entry
+rsynccontrollername="rsync"
+rsynccontrollerdata="$(cat<<EOF
+{
+  "metadata": {
+    "name": "rsync",
+    "description": "description of $rsynccontrollername controller",
+    "userData1": "user data 1 for $rsynccontrollername",
+    "userData2": "user data 2 for $rsynccontrollername"
+  },
+  "spec": {
+    "host": "${rsynccontrollername}",
+    "port": 9041 
+  }
+}
+EOF
+)"
+
+# ------------END: SET CLM DATA--------------
+
+
+#-------------BEGIN:SET ORCH DATA------------------
+
+# define a project
+projectname="OperatorsProject"
+projectdata="$(cat<<EOF
+{
+  "metadata": {
+    "name": "$projectname",
+    "description": "description of $projectname controller",
+    "userData1": "$projectname user data 1",
+    "userData2": "$projectname user data 2"
+  }
+}
+EOF
+)"
+
+# define a composite application
+operators_compositeapp_name="OperatorsCompositeApp"
+compositeapp_version="v1"
+compositeapp_data="$(cat <<EOF
+{
+  "metadata": {
+    "name": "${operators_compositeapp_name}",
+    "description": "description of ${operators_compositeapp_name}",
+    "userData1": "user data 1 for ${operators_compositeapp_name}",
+    "userData2": "user data 2 for ${operators_compositeapp_name}"
+   },
+   "spec":{
+      "version":"${compositeapp_version}"
+   }
+}
+EOF
+)"
+
+# add operator into operators compositeApp
+
+
+operator_app_name="operator"
+operator_helm_chart=${app1_helm_path}
+
+operator_app_data="$(cat <<EOF
+{
+  "metadata": {
+    "name": "${operator_app_name}",
+    "description": "description for app ${operator_app_name}",
+    "userData1": "user data 2 for ${operator_app_name}",
+    "userData2": "user data 2 for ${operator_app_name}"
+   }
+}
+EOF
+)"
+
+
+# Add the composite profile
+operators_composite_profile_name="operators_composite-profile"
+operators_composite_profile_data="$(cat <<EOF
+{
+   "metadata":{
+      "name":"${operators_composite_profile_name}",
+      "description":"description of ${operators_composite_profile_name}",
+      "userData1":"user data 1 for ${operators_composite_profile_name}",
+      "userData2":"user data 2 for ${operators_composite_profile_name}"
+   }
+}
+EOF
+)"
+
+# Add the operator profile data into operators composite profile data
+operator_profile_name="operator-profile"
+operator_profile_file=$app1_profile_path
+operator_profile_data="$(cat <<EOF
+{
+   "metadata":{
+      "name":"${operator_profile_name}",
+      "description":"description of ${operator_profile_name}",
+      "userData1":"user data 1 for ${operator_profile_name}",
+      "userData2":"user data 2 for ${operator_profile_name}"
+   },
+   "spec":{
+      "app-name":  "${operator_app_name}"
+   }
+}
+EOF
+)"
+
+
+
+# define the generic placement intent
+generic_placement_intent_name="Operators-generic-placement-intent"
+generic_placement_intent_data="$(cat <<EOF
+{
+   "metadata":{
+      "name":"${generic_placement_intent_name}",
+      "description":"${generic_placement_intent_name}",
+      "userData1":"${generic_placement_intent_name}",
+      "userData2":"${generic_placement_intent_name}"
+   },
+   "spec":{
+      "logical-cloud":"unused_logical_cloud"
+   }
+}
+EOF
+)"
+
+# define placement intent for operator sub-app
+operator_placement_intent_name="operator-placement-intent"
+operator_placement_intent_data="$(cat <<EOF
+{
+   "metadata":{
+      "name":"${operator_placement_intent_name}",
+      "description":"description of ${operator_placement_intent_name}",
+      "userData1":"user data 1 for ${operator_placement_intent_name}",
+      "userData2":"user data 2 for ${operator_placement_intent_name}"
+   },
+   "spec":{
+      "app-name":"${operator_app_name}",
+      "intent":{
+         "allOf":[
+            {  "provider-name":"${clusterprovidername}",
+               "cluster-label-name":"${labelname}"
+            }
+         ]
+      }
+   }
+}
+EOF
+)"
+
+
+# define a deployment intent group
+release="operators"
+deployment_intent_group_name="operators_deployment_intent_group"
+deployment_intent_group_data="$(cat <<EOF
+{
+   "metadata":{
+      "name":"${deployment_intent_group_name}",
+      "description":"descriptiont of ${deployment_intent_group_name}",
+      "userData1":"user data 1 for ${deployment_intent_group_name}",
+      "userData2":"user data 2 for ${deployment_intent_group_name}"
+   },
+   "spec":{
+      "profile":"${operators_composite_profile_name}",
+      "version":"${release}",
+      "override-values":[]
+   }
+}
+EOF
+)"
+
+# define the intents to be used by the group
+deployment_intents_in_group_name="operators_deploy_intents"
+deployment_intents_in_group_data="$(cat <<EOF
+{
+   "metadata":{
+      "name":"${deployment_intents_in_group_name}",
+      "description":"descriptionf of ${deployment_intents_in_group_name}",
+      "userData1":"user data 1 for ${deployment_intents_in_group_name}",
+      "userData2":"user data 2 for ${deployment_intents_in_group_name}"
+   },
+   "spec":{
+      "intent":{
+         "genericPlacementIntent":"${generic_placement_intent_name}"
+      }
+   }
+}
+EOF
+)"
+
+
+#---------END: SET ORCH DATA--------------------
+
+
+function createOrchestratorData {
+
+    print_msg "creating controller entries"
+    call_api -d "${rsynccontrollerdata}" "${base_url_orchestrator}/controllers"
+
+    print_msg "creating project entry"
+    call_api -d "${projectdata}" "${base_url_orchestrator}/projects"
+
+    print_msg "creating operators composite app entry"
+    call_api -d "${compositeapp_data}" "${base_url_orchestrator}/projects/${projectname}/composite-apps"
+
+    print_msg "adding operator sub-app to the composite app"
+    call_api -F "metadata=${operator_app_data}" \
+             -F "file=@${operator_helm_chart}" \
+             "${base_url_orchestrator}/projects/${projectname}/composite-apps/${operators_compositeapp_name}/${compositeapp_version}/apps"
+
+
+    print_msg "creating operators composite profile entry"
+    call_api -d "${operators_composite_profile_data}" "${base_url_orchestrator}/projects/${projectname}/composite-apps/${operators_compositeapp_name}/${compositeapp_version}/composite-profiles"
+
+    print_msg "adding operator sub-app profile to the composite profile"
+    call_api -F "metadata=${operator_profile_data}" \
+             -F "file=@${operator_profile_file}" \
+             "${base_url_orchestrator}/projects/${projectname}/composite-apps/${operators_compositeapp_name}/${compositeapp_version}/composite-profiles/${operators_composite_profile_name}/profiles"
+
+
+    print_msg "create the generic placement intent"
+    call_api -d "${generic_placement_intent_data}" \
+             "${base_url_orchestrator}/projects/${projectname}/composite-apps/${operators_compositeapp_name}/${compositeapp_version}/generic-placement-intents"
+    print_msg "add the operator app placement intent to the generic placement intent"
+    call_api -d "${operator_placement_intent_data}" \
+             "${base_url_orchestrator}/projects/${projectname}/composite-apps/${operators_compositeapp_name}/${compositeapp_version}/generic-placement-intents/${generic_placement_intent_name}/app-intents"
+
+
+    print_msg "create the deployment intent group"
+    call_api -d "${deployment_intent_group_data}" \
+             "${base_url_orchestrator}/projects/${projectname}/composite-apps/${operators_compositeapp_name}/${compositeapp_version}/deployment-intent-groups"
+    call_api -d "${deployment_intents_in_group_data}" \
+             "${base_url_orchestrator}/projects/${projectname}/composite-apps/${operators_compositeapp_name}/${compositeapp_version}/deployment-intent-groups/${deployment_intent_group_name}/intents"
+
+}
+
+function deleteOrchestratorData {
+   # TODO- delete rsync controller and any other controller
+    delete_resource "${base_url_orchestrator}/controllers/${rsynccontrollername}"
+
+    delete_resource "${base_url_orchestrator}/projects/${projectname}/composite-apps/${operators_compositeapp_name}/${compositeapp_version}/deployment-intent-groups/${deployment_intent_group_name}/intents/${deployment_intents_in_group_name}"
+    delete_resource "${base_url_orchestrator}/projects/${projectname}/composite-apps/${operators_compositeapp_name}/${compositeapp_version}/deployment-intent-groups/${deployment_intent_group_name}"
+    delete_resource "${base_url_orchestrator}/projects/${projectname}/composite-apps/${operators_compositeapp_name}/${compositeapp_version}/generic-placement-intents/${generic_placement_intent_name}/app-intents/${operator_placement_intent_name}"
+
+    delete_resource "${base_url_orchestrator}/projects/${projectname}/composite-apps/${operators_compositeapp_name}/${compositeapp_version}/generic-placement-intents/${generic_placement_intent_name}"
+
+
+    delete_resource "${base_url_orchestrator}/projects/${projectname}/composite-apps/${operators_compositeapp_name}/${compositeapp_version}/composite-profiles/${operators_composite_profile_name}/profiles/${operator_profile_name}"
+
+
+    delete_resource "${base_url_orchestrator}/projects/${projectname}/composite-apps/${operators_compositeapp_name}/${compositeapp_version}/composite-profiles/${operators_composite_profile_name}"
+
+
+    delete_resource "${base_url_orchestrator}/projects/${projectname}/composite-apps/${operators_compositeapp_name}/${compositeapp_version}/apps/${operator_app_name}"
+
+
+    delete_resource "${base_url_orchestrator}/projects/${projectname}/composite-apps/${operators_compositeapp_name}/${compositeapp_version}"
+
+    delete_resource "${base_url_orchestrator}/projects/${projectname}"
+}
+
+function createClmData {
+    print_msg "Creating cluster provider and cluster"
+    call_api -d "${clusterproviderdata}" "${base_url_clm}/cluster-providers"
+    call_api -H "Content-Type: multipart/form-data" -F "metadata=$clusterdata" -F "file=@$kubeconfigcluster1" "${base_url_clm}/cluster-providers/${clusterprovidername}/clusters"
+    call_api -d "${labeldata}" "${base_url_clm}/cluster-providers/${clusterprovidername}/clusters/${clustername}/labels"
+
+
+}
+
+function deleteClmData {
+    delete_resource "${base_url_clm}/cluster-providers/${clusterprovidername}/clusters/${clustername}/labels/${labelname}"
+    delete_resource "${base_url_clm}/cluster-providers/${clusterprovidername}/clusters/${clustername}"
+    delete_resource "${base_url_clm}/cluster-providers/${clusterprovidername}"
+}
+function createData {
+    createClmData
+    createOrchestratorData
+}
+function deleteData {
+    deleteClmData
+    deleteOrchestratorData
+}
+function instantiate {
+    # call_api -d "{ }" "${base_url_orchestrator}/projects/${projectname}/composite-apps/${vfw_compositeapp_name}/${vfw_compositeapp_version}/deployment-intent-groups/${deployment_intent_group_name}/approve"
+    call_api -d "{ }" "${base_url_orchestrator}/projects/${projectname}/composite-apps/${operators_compositeapp_name}/${compositeapp_version}/deployment-intent-groups/${deployment_intent_group_name}/instantiate"
+}
+
+# Setup
+install_deps
+populate_CSAR_operator_helm "$csar_id"
+
+deleteData
+createData
+instantiate
+
diff --git a/kud/tests/vnfs/comp-app/collection/etcd-m3db-operators/helm/operator/charts/etcd-operator/templates/etcd-cluster-crd.yaml b/kud/tests/vnfs/comp-app/collection/etcd-m3db-operators/helm/operator/charts/etcd-operator/templates/etcd-cluster-crd.yaml
deleted file mode 100644 (file)
index 93ee84c..0000000
+++ /dev/null
@@ -1,51 +0,0 @@
-{{- if .Values.deployments.etcdOperator }}
-# Synced with https://github.com/coreos/etcd-operator/blob/master/pkg/util/k8sutil/crd.go
----
-apiVersion: apiextensions.k8s.io/v1beta1
-kind: CustomResourceDefinition
-metadata:
-  name: etcdclusters.etcd.database.coreos.com
-  labels:
-    chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
-    app: {{ template "etcd-operator.name" . }}
-    heritage: {{ .Release.Service }}
-    release: {{ .Release.Name }}
-  annotations:
-    helm.sh/hook: crd-install
-    helm.sh/hook-delete-policy: before-hook-creation
-spec:
-  group: etcd.database.coreos.com
-  scope: Namespaced
-  version: v1beta2
-  names:
-    kind: EtcdCluster
-    listKind: EtcdClusterList
-    singular: etcdcluster
-    plural: etcdclusters
-    shortNames:
-    - etcd
-{{- end }}
-{{- if .Values.customResources.createEtcdClusterCRD }}
----
-apiVersion: "etcd.database.coreos.com/v1beta2"
-kind: "EtcdCluster"
-metadata:
-  name: {{ .Values.etcdCluster.name }}
-  labels:
-    chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
-    app: {{ template "etcd-operator.name" . }}
-    heritage: {{ .Release.Service }}
-    release: {{ .Release.Name }}
-  annotations:
-    "helm.sh/hook": "post-install"
-    "helm.sh/hook-delete-policy": "before-hook-creation"
-spec:
-  size: {{ .Values.etcdCluster.size }}
-  version: "{{ .Values.etcdCluster.version }}"
-  pod:
-{{ toYaml .Values.etcdCluster.pod | indent 4 }}
-  {{- if .Values.etcdCluster.enableTLS }}
-  TLS:
-{{ toYaml .Values.etcdCluster.tls | indent 4 }}
-  {{- end }}
-{{- end }}
diff --git a/kud/tests/vnfs/comp-app/collection/operators/helm/operator/charts/etcd-operator/templates/etcd-cluster-crd.yaml b/kud/tests/vnfs/comp-app/collection/operators/helm/operator/charts/etcd-operator/templates/etcd-cluster-crd.yaml
new file mode 100644 (file)
index 0000000..8c42b26
--- /dev/null
@@ -0,0 +1,25 @@
+{{- if .Values.deployments.etcdOperator }}
+apiVersion: apiextensions.k8s.io/v1beta1
+kind: CustomResourceDefinition
+metadata:
+  name: etcdclusters.etcd.database.coreos.com
+  labels:
+    chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
+    app: {{ template "etcd-operator.name" . }}
+    heritage: {{ .Release.Service }}
+    release: {{ .Release.Name }}
+  annotations:
+    helm.sh/hook: crd-install
+    helm.sh/hook-delete-policy: before-hook-creation
+spec:
+  group: etcd.database.coreos.com
+  scope: Namespaced
+  version: v1beta2
+  names:
+    kind: EtcdCluster
+    listKind: EtcdClusterList
+    singular: etcdcluster
+    plural: etcdclusters
+    shortNames:
+    - etcd
+{{- end }}
diff --git a/kud/tests/vnfs/comp-app/collection/operators/helm/operator/charts/etcd-operator/templates/etcd-cluster-creation.yaml b/kud/tests/vnfs/comp-app/collection/operators/helm/operator/charts/etcd-operator/templates/etcd-cluster-creation.yaml
new file mode 100644 (file)
index 0000000..471bfac
--- /dev/null
@@ -0,0 +1,23 @@
+{{- if .Values.customResources.createEtcdClusterCRD }}
+apiVersion: "etcd.database.coreos.com/v1beta2"
+kind: "EtcdCluster"
+metadata:
+  name: {{ .Values.etcdCluster.name }}
+  labels:
+    chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
+    app: {{ template "etcd-operator.name" . }}
+    heritage: {{ .Release.Service }}
+    release: {{ .Release.Name }}
+  annotations:
+    "helm.sh/hook": "post-install"
+    "helm.sh/hook-delete-policy": "before-hook-creation"
+spec:
+  size: {{ .Values.etcdCluster.size }}
+  version: "{{ .Values.etcdCluster.version }}"
+  pod:
+{{ toYaml .Values.etcdCluster.pod | indent 4 }}
+  {{- if .Values.etcdCluster.enableTLS }}
+  TLS:
+{{ toYaml .Values.etcdCluster.tls | indent 4 }}
+  {{- end }}
+{{- end }}
diff --git a/kud/tests/vnfs/comp-app/collection/operators/profile/manifest.yaml b/kud/tests/vnfs/comp-app/collection/operators/profile/manifest.yaml
new file mode 100644 (file)
index 0000000..4d381d0
--- /dev/null
@@ -0,0 +1,4 @@
+---
+version: v1
+type:
+  values: "override_values.yaml"
diff --git a/kud/tests/vnfs/comp-app/collection/operators/profile/override_values.yaml b/kud/tests/vnfs/comp-app/collection/operators/profile/override_values.yaml
new file mode 100644 (file)
index 0000000..041fc40
--- /dev/null
@@ -0,0 +1,6 @@
+service:
+    type: ClusterIP
+    nameOfPort: webPort
+    annotations: {}
+    labels: {}
+    clusterIP: ""
\ No newline at end of file