summaryrefslogtreecommitdiffstats
path: root/helm/plugin/tests/blueprint
diff options
context:
space:
mode:
Diffstat (limited to 'helm/plugin/tests/blueprint')
-rw-r--r--helm/plugin/tests/blueprint/blueprint.yaml85
-rw-r--r--helm/plugin/tests/blueprint/plugin/test_plugin.yaml139
2 files changed, 224 insertions, 0 deletions
diff --git a/helm/plugin/tests/blueprint/blueprint.yaml b/helm/plugin/tests/blueprint/blueprint.yaml
new file mode 100644
index 0000000..2a7198d
--- /dev/null
+++ b/helm/plugin/tests/blueprint/blueprint.yaml
@@ -0,0 +1,85 @@
+# DSL version, should appear in the main blueprint.yaml
+# and may appear in other imports. In such case, the versions must match
+tosca_definitions_version: cloudify_dsl_1_3
+
+imports:
+ # importing cloudify related types, plugins, workflow, etc...
+ # to speed things up, it is possible downloading this file,
+ # including it in the blueprint directory and importing it
+ # instead.
+ - http://www.getcloudify.org/spec/cloudify/4.1.1/types.yaml
+ # relative import of plugin.yaml that resides in the blueprint directory
+ - plugin/test_plugin.yaml
+
+inputs:
+ # example input that could be injected by test
+ test_input:
+ description: an input for the test
+ default: default_test_input
+ tiller-server-ip:
+ default: 1.1.1.1
+ tiller-server-port:
+ default: 8888
+ namespace:
+ default: onap
+ chart-repo-url:
+ default: local
+ chart-version :
+ default: 2.0.0
+ jsonConfig:
+ default: ''
+ config-url:
+ default: ''
+ config-set:
+ default: ''
+ config-format:
+ default: 'json'
+ tls-enable:
+ type: boolean
+ default: false
+ config-dir:
+ type: string
+ default: './'
+ repo-user:
+ type: string
+ default: ''
+ repo-user-password:
+ type: string
+ default: ''
+ stable-repo-url:
+ type: string
+ default: 'http://0.0.0.0/stable'
+
+
+node_templates:
+ # defining a single node template that will serve as our test node
+ test_node:
+ # using base cloudify type
+ type: onap.nodes.component
+ properties:
+ tiller_ip: { get_input: tiller-server-ip }
+ tiller_port: { get_input: tiller-server-port }
+ component_name: test_node
+ chart_repo_url: { get_input: chart-repo-url }
+ chart_version: { get_input: chart-version }
+ namespace: { get_input: namespace }
+ config: { get_input: jsonConfig}
+ config_set: { get_input: config-set}
+ config_url: { get_input: config-url}
+ repo_user: { get_input: repo-user}
+ repo_user_password: { get_input: repo-user-password}
+ config_format: { get_input: config-format}
+ tls_enable: { get_input: tls-enable}
+ ca: "result of get_secret ca_value"
+ cert: "result of get_secret cert_value"
+ key: "result of get_secret key_value"
+ config_dir: { get_input: config-dir}
+ stable_repo_url: { get_input: stable-repo-url}
+
+outputs:
+ # example output the could be used to simplify assertions by test
+ test_output:
+ description: an output for the test
+ value:
+ helm-value: { get_attribute: [test_node, current-helm-value] }
+ helm-history: { get_attribute: [test_node, helm-history] }
diff --git a/helm/plugin/tests/blueprint/plugin/test_plugin.yaml b/helm/plugin/tests/blueprint/plugin/test_plugin.yaml
new file mode 100644
index 0000000..e9f874f
--- /dev/null
+++ b/helm/plugin/tests/blueprint/plugin/test_plugin.yaml
@@ -0,0 +1,139 @@
+# ============LICENSE_START==========================================
+# ===================================================================
+# Copyright (c) 2017-2020 AT&T
+#
+# 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.
+#============LICENSE_END============================================
+
+plugins:
+ helm-plugin:
+ executor: central_deployment_agent
+ package_name: helm
+ install: false
+
+node_types:
+
+ onap.nodes.component:
+ derived_from: cloudify.nodes.Root
+ properties:
+ tiller_ip:
+ description: IP of tiller server
+ type: string
+ tiller_port:
+ default: local
+ description: Port of tiller server
+ type: string
+ chart_repo_url:
+ default: local
+ description: helm chart repo url
+ type: string
+ component_name:
+ description: onap component string
+ type: string
+ chart_version:
+ description: helm chart version
+ type: string
+ config_dir:
+ description: config file dir
+ default: '/opt/manager/resources/'
+ type: string
+ namespace:
+ description: k8s namespace
+ default: onap
+ config:
+ description: String format config file
+ type: string
+ default: ''
+ config_set:
+ description: String format config file
+ type: string
+ default: ''
+ config_url:
+ description: String format config file url
+ type: string
+ default: ''
+ config_format:
+ description: String format config file format
+ type: string
+ default: 'json'
+ runtime_config:
+ default: ''
+ description: String format json object. To save the runtime config generate from other nodes.
+ tls_enable:
+ description: enable helm TSL
+ type: boolean
+ default: false
+ ca:
+ description: value of ca.pem
+ type: string
+ default: ''
+ cert:
+ description: value of cert.pem
+ type: string
+ default: ''
+ key:
+ description: value of key.pem
+ type: string
+ default: ''
+ stable_repo_url:
+ description: URL for stable repository
+ type: string
+ default: 'https://kubernetes-charts.storage.googleapis.com'
+ repo_user:
+ type: string
+ default: ''
+ repo_user_password:
+ type: string
+ default: ''
+
+
+ interfaces:
+ cloudify.interfaces.lifecycle:
+ configure: helm-plugin.plugin.tasks.config
+ start: helm-plugin.plugin.tasks.start
+ stop: helm-plugin.plugin.tasks.stop
+ upgrade: helm-plugin.plugin.tasks.upgrade
+ rollback: helm-plugin.plugin.tasks.rollback
+
+
+workflows:
+ upgrade:
+ mapping: helm-plugin.plugin.workflows.upgrade
+ parameters:
+ node_instance_id:
+ description: The id of the node-instance that you want to modify.
+ config_set:
+ description: The set option string
+ default: ''
+ config:
+ description: The changes to the new config json
+ default: ''
+ config_url:
+ description: The config input url
+ default: ''
+ config_format:
+ description: The config url input format
+ default: 'json'
+ chart_version:
+ description: chart version
+ chart_repo_url:
+ description: chart repo url
+ rollback:
+ mapping: helm-plugin.plugin.workflows.rollback
+ parameters:
+ node_instance_id:
+ description: The id of the node-instance that you want to modify.
+ default: 'node_instance_id'
+ revision:
+ description: Check the node runtime property history, find the revision number you want to rollback to
+ default: 1