diff options
-rw-r--r-- | blueprints/k8s-slice-analysis-ms.yaml | 198 |
1 files changed, 198 insertions, 0 deletions
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 |