blob: 946157b8e028fa6d2c28106a968c65559e81b461 [file] [log] [blame]
#
#============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:
- "http://www.getcloudify.org/spec/cloudify/3.4/types.yaml"
- plugin:k8splugin?version=3.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.slice-analysis-ms:latest"
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"
policyRespTimer:
type: integer
description: policy response wait timer in seconds
default: 10
policy_id:
type: string
description: policy id for config policy
default: "com.Config_PCIMS_CONFIG_POLICY"
performance_management_topic_url:
type: string
description: ves measurement topic url
default: "https://message-router.onap.svc.cluster.local:3905/events/unauthenticated.VES_MEASUREMENT_OUTPUT"
aai_event_topic_url:
type: string
description: aai event topic url
default: "https://message-router.onap.svc.cluster.local:3905/events/unauthenticated.SEC_FAULT_OUTPUT"
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
aai_event_topic:
aaf_username: { get_input: aaf_username }
aaf_password: { get_input: aaf_password }
dmaap_info:
topic_url: { get_input: aai_event_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