Add component spec and blueprint
[dcaegen2/services/son-handler.git] / dpo / blueprints / k8s-sonhms.yaml
diff --git a/dpo/blueprints/k8s-sonhms.yaml b/dpo/blueprints/k8s-sonhms.yaml
new file mode 100644 (file)
index 0000000..172048c
--- /dev/null
@@ -0,0 +1,225 @@
+ #============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
+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:latest"
+  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
+  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
+  pci_optimizer:
+    type: string
+    description: pci optimizer name in oof
+    default: pci
+  log_path:
+    type: string
+    description: log location in host
+    default: /dockerdata-nfs/son-handler
+  topic00_location:
+  topic01_location:
+  topic02_location:
+  topic03_location:
+  topic00_client_role:
+  topic01_client_role:
+  topic02_client_role:
+  topic03_client_role:
+  topic00_client_id:
+  topic01_client_id:
+  topic02_client_id:
+  topic03_client_id:
+  topic00_url:
+  topic01_url:
+  topic02_url:
+  topic03_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: /var/log/onap
+                  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
+        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.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.optimizers: 
+          - { get_input: pci_optimizer }
+        service_calls:
+          sdnr-getpnfname: []
+          sdnr-getpci: []
+          sdnr-getnbrlist: []
+          sdnr-getcelllist: []
+          oof-req: []
+          policy-req: []
+    relationships:
+      - type: cloudify.relationships.depends_on
+        target: pgaasvm
+        
+      
+      
+