#============LICENSE_START======================================================= # son-handler # ================================================================================ # Copyright (C) 2019 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" - https://nexus.onap.org/service/local/repositories/raw/content/org.onap.dcaegen2.platform.plugins/R4/k8splugin/1.4.5/k8splugin_types.yaml - https://nexus.onap.org/service/local/repositories/raw/content/org.onap.ccsdk.platform.plugins/type_files/pgaas/1.1.0/pgaas_types.yaml - https://nexus.onap.org/service/local/repositories/raw/content/org.onap.dcaegen2.platform.plugins/R4/dcaepolicyplugin/2.3.0/dcaepolicyplugin_types.yaml 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.son-handler:1.0.3" pgaas_cluster_name: type: string description: pg cluster default: "dcae-postgres.onap.svc.cluster.local" database_name: type: string description: database name default: sonhms aaf_username: type: string description: aaf username aaf_password: type: string description: aaf password polling_interval: type: integer description: dmaap polling interval default: 20 polling_timeout: type: integer description: dmaap polling timeout default: 60 num_solutions: type: integer description: num of solutions default: 5 min_collision: type: integer description: minimum no. of collisions default: 5 min_confusion: type: integer description: minimum no. of confusions default: 5 max_clusters: type: integer description: maximum clusters default: 5 bad_threshold: type: integer description: threshold for bad neighbors default: 50 poor_threshold: type: integer description: threshold for poor neighbors default: 70 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: sonhms-cg cid: type: string description: consumer id default: sonhms-cid config_db: type: string description: config db location oof: type: string description: oof location oof_endpoint: type: string description: oof endpoint default: /api/oof/v1/pci pci_optimizer: type: string description: pci optimizer name in oof default: pci pci_anr_optimizer: type: string description: pci and anr optimizer name in oof default: pci_anr log_path: type: string description: log location in host default: /dockerdata-nfs/son-handler poorCountThreshold: type: integer description: poor neighbor count threshold default: 3 badCountThreshold: type: integer description: bad neighbor count threshold default: 3 oofTriggerCountTimer: type: integer description: timer for oof triggered count in minutes default: 30 oofTriggerCountThreshold: type: integer description: Threshold for oof trigger count default: 5 policyRespTimer: type: integer description: policy response wait timer in seconds default: 10 policy_id: type: string description: policy id for config policy topic00_location: topic01_location: topic02_location: topic03_location: topic04_location: topic00_client_role: topic01_client_role: topic02_client_role: topic03_client_role: topic04_client_role: topic00_client_id: topic01_client_id: topic02_client_id: topic03_client_id: topic04_client_id: topic00_url: topic01_url: topic02_url: topic03_url: topic04_url: node_templates: pgaasvm: type: dcae.nodes.pgaas.database properties: writerfqdn: { get_input: pgaas_cluster_name } name: { get_input: database_name } use_existing: false sonhms: type: dcae.nodes.ContainerizedServiceComponent interfaces: cloudify.interfaces.lifecycle: start: inputs: ports: - "8080:0" volumes: - host: path: { get_input: log_path } container: bind: /home/sonhms/logs mode: rw properties: image: get_input: tag_version service_component_type: 'dcae-sonhms' service_id: 'sonhms' 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: location: { get_input: topic00_location } client_role: { get_input: topic00_client_role } client_id: { get_input: topic00_client_id } topic_url: { get_input: topic00_url } type: message-router fault_management_topic: aaf_username: { get_input: aaf_username } aaf_password: { get_input: aaf_password } dmaap_info: location: { get_input: topic01_location } client_role: { get_input: topic01_client_role } client_id: { get_input: topic01_client_id } topic_url: { get_input: topic01_url } type: message-router nbr_list_change_topic: aaf_username: { get_input: aaf_username } aaf_password: { get_input: aaf_password } dmaap_info: location: { get_input: topic02_location } client_role: { get_input: topic02_client_role } client_id: { get_input: topic02_client_id } topic_url: { get_input: topic02_url } type: message-router dcae_cl_response_topic: aaf_username: { get_input: aaf_username } aaf_password: { get_input: aaf_password } dmaap_info: location: { get_input: topic04_location } client_role: { get_input: topic04_client_role } client_id: { get_input: topic04_client_id } topic_url: { get_input: topic04_url } type: message-router streams_publishes: CL_topic: aaf_username: { get_input: aaf_username } aaf_password: { get_input: aaf_password } dmaap_info: location: { get_input: topic03_location } client_role: { get_input: topic03_client_role } client_id: { get_input: topic03_client_id } topic_url: { get_input: topic03_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 ] } sonhandler.pollingInterval: { get_input: polling_interval} sonhandler.pollingTimeout: { get_input: polling_timeout } sonhandler.numSolutions: { get_input: num_solutions } sonhandler.minCollision: { get_input: min_collision } sonhandler.minConfusion: { get_input: min_confusion } sonhandler.maximumClusters: { get_input: max_clusters } sonhandler.badThreshold: { get_input: bad_threshold } sonhandler.poorThreshold: { get_input: poor_threshold } sonhandler.namespace: { get_input: namespace } sonhandler.sourceId: SONHMS sonhandler.dmaap.server: - { get_input: dmaap } sonhandler.bufferTime: { get_input: buffer_time } sonhandler.cg: { get_input: cg } sonhandler.cid: { get_input: cid } sonhandler.configDb.service: { get_input: config_db } sonhandler.oof.service: { get_input: oof } sonhandler.oof.endpoint: { get_input: oof_endpoint } sonhandler.pciOptimizer: { get_input: pci_optimizer } sonhandler.pciAnrOptimizer: { get_input: pci_anr_optimizer } sonhandler.poorCountThreshold: { get_input: poorCountThreshold} sonhandler.badCountThreshold: { get_input: badCountThreshold} sonhandler.oofTriggerCountTimer: { get_input: oofTriggerCountTimer} sonhandler.oofTriggerCountThreshold: { get_input: oofTriggerCountThreshold} sonhandler.policyRespTimer: { get_input: policyRespTimer} service_calls: sdnr-getpnfname: [] sdnr-getpci: [] sdnr-getnbrlist: [] sdnr-getcelllist: [] oof-req: [] policy-req: [] relationships: - type: cloudify.relationships.depends_on target: pgaasvm - type: cloudify.relationships.depends_on target: son_policy son_policy: type: dcae.nodes.policy properties: policy_id: get_input: policy_id