# #============LICENSE_START======================================================= # Copyright (C) 2020-2021 Wipro Limited. # Copyright (c) 2021 AT&T Intellectual Property. All rights reserved. #============================================================================== #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.3,<4.0.0 - 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.6" 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: "dcae@dcae.onap.org" aaf_password: type: string description: aaf password default: "demo123456!" 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://config-db:8080" aai: type: string description: aai url default: "https://aai.onap.svc.cluster.local:8443/aai/v21" cps: type: string description: cps url default: "https://cps:8088" configDbEnabled: type: string description: configDb flag default: "true" 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 tls_info: cert_directory: '/opt/app/sliceanalysisms/etc/cert/' use_tls: true application_config: aafUsername: { get_input: aaf_username } aafPassword: { get_input: aaf_password } trust_store_path: '/opt/app/sliceanalysisms/etc/cert/trust.jks' trust_store_pass_path: '/opt/app/sliceanalysisms/etc/cert/trust.pass' 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.configDbEnabled: { get_input: configDbEnabled } sliceanalysisms.aai.url: { get_input: aai } sliceanalysisms.cps.url: { get_input: cps } sliceanalysisms.samples: { get_input: samples } sliceanalysisms.minPercentageChange: { get_input: minimumPercentageChange } sliceanalysisms.initialDelaySeconds: { get_input: initialDelaySeconds } relationships: - type: cloudify.relationships.depends_on target: pgaasvm