Merge "Add blueprint for slice analysis ms"
diff --git a/blueprints/k8s-slice-analysis-ms.yaml b/blueprints/k8s-slice-analysis-ms.yaml
new file mode 100644
index 0000000..1348f15
--- /dev/null
+++ b/blueprints/k8s-slice-analysis-ms.yaml
@@ -0,0 +1,198 @@
+ #
+ #============LICENSE_START=======================================================
+ #Copyright (C) 2020 Wipro Limited.
+ #==============================================================================
+ #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=========================================================
+
+tosca_definitions_version: cloudify_dsl_1_3
+imports:
+ - https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml
+ - plugin:k8splugin?version=3.4.2
+ - plugin:pgaas?version=1.3.0
+inputs:
+ replicas:
+ type: integer
+ description: replica count for deployment
+ default: 1
+ tag_version:
+ type: string
+ description: docker image name and version
+ default: "nexus3.onap.org:10001/onap/org.onap.dcaegen2.services.components.slice-analysis-ms:1.0.0"
+ pgaas_cluster_name:
+ type: string
+ description: pg cluster
+ default: "dcae-pg-primary.onap"
+ database_name:
+ type: string
+ description: database name
+ default: "sliceanalysisms"
+ aaf_username:
+ type: string
+ description: aaf username
+ default:
+ aaf_password:
+ type: string
+ description: aaf password
+ default:
+ dmaap_polling_interval:
+ type: integer
+ description: dmaap polling interval
+ default: 20
+ cbs_polling_interval:
+ type: integer
+ description: cbs polling interval
+ default: 60
+ dmaap_polling_timeout:
+ type: integer
+ description: dmaap polling timeout
+ default: 60
+ namespace:
+ type: string
+ description: namespace
+ default: "onap"
+ dmaap:
+ type: string
+ description: dmaap server
+ default: "message-router"
+ buffer_time:
+ type: integer
+ description: buffer time
+ default: 60
+ cg:
+ type: string
+ description: consumer group
+ default: "sliceanalysisms-cg"
+ cid:
+ type: string
+ description: consumer id
+ default: "sliceanalysisms-cid"
+ config_db:
+ type: string
+ description: config db location
+ default: "http://sdnc.onap:8181"
+ log_path:
+ type: string
+ description: log location in host
+ default: "/dockerdata-nfs/slice-analysis-ms"
+ performance_management_topic_url:
+ type: string
+ description: performance measurement topic url
+ default: "https://message-router.onap.svc.cluster.local:3905/events/org.onap.dmaap.mr.PERFORMANCE_MEASUREMENTS"
+ intelligent_slicing_topic_url:
+ type: string
+ description: aai event topic url
+ default: "https://message-router.onap.svc.cluster.local:3905/events/unauthenticated.ML_RESPONSE_TOPIC"
+ dcae_cl_response_topic_url:
+ type: string
+ description: dcae control loop response topic url
+ default: "https://message-router.onap.svc.cluster.local:3905/events/DCAE_CL_RSP"
+ dcae_cl_topic_url:
+ type: string
+ description: dcae control loop topic url
+ default: "https://message-router.onap.svc.cluster.local:3905/events/unauthenticated.DCAE_CL_OUTPUT"
+ samples:
+ type: integer
+ description: number of samples to be considered for processing
+ default: 3
+ minimumPercentageChange:
+ type: integer
+ description: minimum change above which control loop should be triggered
+ default: 5
+ initialDelaySeconds:
+ type: integer
+ description: delay for the consumer thread
+ default: 120000
+
+node_templates:
+ pgaasvm:
+ type: dcae.nodes.pgaas.database
+ properties:
+ writerfqdn: { get_input: pgaas_cluster_name }
+ name: { get_input: database_name }
+ use_existing: false
+
+ sliceanalysisms:
+ type: dcae.nodes.ContainerizedServiceComponent
+ interfaces:
+ cloudify.interfaces.lifecycle:
+ start:
+ inputs:
+ envs:
+ STANDALONE: "false"
+ ports:
+ - "8080:0"
+ volumes:
+ - host:
+ path: { get_input: log_path }
+ container:
+ bind: /home/sliceanalysisms/logs
+ mode: rw
+ properties:
+ image:
+ get_input: tag_version
+ service_component_type: 'dcae-slice-analysis-ms'
+ service_id: 'sliceanalysisms'
+ always_pull_image: true
+ replicas: {get_input: replicas}
+ docker_config:
+ healthcheck:
+ endpoint: /healthcheck
+ interval: 15s
+ timeout: 1s
+ type: http
+ application_config:
+ streams_subscribes:
+ performance_management_topic:
+ aaf_username: { get_input: aaf_username }
+ aaf_password: { get_input: aaf_password }
+ dmaap_info:
+ topic_url: { get_input: performance_management_topic_url }
+ type: message-router
+ intelligent_slicing_topic:
+ aaf_username: { get_input: aaf_username }
+ aaf_password: { get_input: aaf_password }
+ dmaap_info:
+ topic_url: { get_input: intelligent_slicing_topic_url }
+ type: message-router
+ dcae_cl_response_topic:
+ aaf_username: { get_input: aaf_username }
+ aaf_password: { get_input: aaf_password }
+ dmaap_info:
+ topic_url: { get_input: dcae_cl_response_topic_url }
+ type: message-router
+ streams_publishes:
+ CL_topic:
+ aaf_username: { get_input: aaf_username }
+ aaf_password: { get_input: aaf_password }
+ dmaap_info:
+ topic_url: { get_input: dcae_cl_topic_url }
+ type: message-router
+ postgres.host: { get_attribute: [ pgaasvm, admin, host ] }
+ postgres.port: { get_attribute: [ pgaasvm, admin, port ] }
+ postgres.username: { get_attribute: [ pgaasvm, admin, user ] }
+ postgres.password: { get_attribute: [ pgaasvm, admin, password ] }
+ sliceanalysisms.pollingInterval: { get_input: dmaap_polling_interval}
+ sliceanalysisms.pollingTimeout: { get_input: dmaap_polling_timeout }
+ cbsPollingInterval: { get_input: cbs_polling_interval }
+ sliceanalysisms.dmaap.server:
+ - { get_input: dmaap }
+ sliceanalysisms.cg: { get_input: cg }
+ sliceanalysisms.cid: { get_input: cid }
+ sliceanalysisms.configDb.service: { get_input: config_db }
+ sliceanalysisms.samples: { get_input: samples }
+ sliceanalysisms.minPercentageChange: { get_input: minimumPercentageChange }
+ sliceanalysisms.initialDelaySeconds: { get_input: initialDelaySeconds }
+ relationships:
+ - type: cloudify.relationships.depends_on
+ target: pgaasvm