Issue-ID: DCAEGEN2-2105 81/103381/3
authorPiotr Zachwieja <piotr.zachwieja@nokia.com>
Mon, 9 Mar 2020 16:31:34 +0000 (17:31 +0100)
committerPiotr Zachwieja <piotr.zachwieja@nokia.com>
Wed, 11 Mar 2020 07:57:20 +0000 (08:57 +0100)
Signed-off-by: Piotr Zachwieja <piotr.zachwieja@nokia.com>
Change-Id: I285cf658906d2d9fc359a786870db7506819e984

blueprints/k8s-bbs-event-processor.yaml [new file with mode: 0644]

diff --git a/blueprints/k8s-bbs-event-processor.yaml b/blueprints/k8s-bbs-event-processor.yaml
new file mode 100644 (file)
index 0000000..bd44a6c
--- /dev/null
@@ -0,0 +1,204 @@
+# ============LICENSE_START====================================================\r
+# =============================================================================\r
+# Copyright (c) 2019 AT&T, NOKIA\r
+# =============================================================================\r
+# Licensed under the Apache License, Version 2.0 (the "License");\r
+# you may not use this file except in compliance with the License.\r
+# You may obtain a copy of the License at\r
+#\r
+#      http://www.apache.org/licenses/LICENSE-2.0\r
+#\r
+# Unless required by applicable law or agreed to in writing, software\r
+# distributed under the License is distributed on an "AS IS" BASIS,\r
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+# See the License for the specific language governing permissions and\r
+# limitations under the License.\r
+# ============LICENSE_END======================================================\r
+\r
+tosca_definitions_version: cloudify_dsl_1_3\r
+\r
+imports:\r
+  - https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml\r
+  - https://nexus.onap.org/service/local/repositories/raw/content/org.onap.dcaegen2.platform.plugins/R6/k8splugin/1.7.2/k8splugin_types.yaml\r
+\r
+inputs:\r
+  aai_enrichment_host:\r
+    type: string\r
+    default: "aai.onap"\r
+  aai_enrichment_port:\r
+    type: integer\r
+    default: 8443\r
+  aai_enrichment_protocol:\r
+    type: string\r
+    default: "https"\r
+  aai_secure_enable_cert:\r
+    type: boolean\r
+    description: enable certificates-based connection with AAI\r
+    default: true\r
+  tag_version:\r
+    type: string\r
+    default: "nexus3.onap.org:10001/onap/org.onap.dcaegen2.services.components.bbs-event-processor:2.0.0"\r
+  replicas:\r
+    type: integer\r
+    description: number of instances\r
+    default: 1\r
+  pnf_reregistration_url:\r
+    type: string\r
+    default: "https:message-router:3905/events/unauthenticated.PNF_UPDATE"\r
+  cpe_authentication_url:\r
+    type: string\r
+    default: "https:message-router:3905/events/unauthenticated.CPE_AUTHENTICATION"\r
+  close_loop_url:\r
+    type: string\r
+    default: "https:message-router:3905/events/unauthenticated.DCAE_CL_OUTPUT"\r
+  application_policy_version:\r
+    description: Policy version value for building CL events\r
+    type: string\r
+    default: "1.0.0.5"\r
+  application_cl_target_type:\r
+    description: Close Loop target type value for building CL events\r
+    type: string\r
+    default: "VM"\r
+  application_cl_event_status:\r
+    description: Close Loop event status value for building CL events\r
+    type: string\r
+    default: "ONSET"\r
+  application_cl_version:\r
+    description: Close Loop version value for building CL events\r
+    type: string\r
+    default: "1.0.2"\r
+  application_cl_target:\r
+    description: Close Loop target value for building CL events\r
+    type: string\r
+    default: "vserver.vserver-name"\r
+  application_cl_originator:\r
+    description: Close Loop originator value for building CL events\r
+    type: string\r
+    default: "DCAE-BBS-ep"\r
+  application_rereg_policy_scope:\r
+    description: Policy Scope value for building PNF relocation CL event\r
+    type: string\r
+    default: "policyScopeReReg"\r
+  application_rereg_cl_control_name:\r
+    description: Close Loop control name value for building PNF relocation CL event\r
+    type: string\r
+    default: "clControlNameReReg"\r
+  application_cpeAuth_policy_scope:\r
+    description: Policy Scope value for building CPE Authentication CL event\r
+    type: string\r
+    default: "policyScopeCpeAuth"\r
+  application_cpeAuth_cl_control_name:\r
+    description: Close Loop control name value for building CPE Authentication CL event\r
+    type: string\r
+    default: "clControlNameCpeAuth"\r
+  application_cbs_polling_interval_sec:\r
+    type: integer\r
+    default: 120\r
+  application_logging_level:\r
+    type: string\r
+    default: "INFO"\r
+  dmaap_username:\r
+    type: string\r
+    default: "admin"\r
+  dmaap_password:\r
+    type: string\r
+    default: "admin"\r
+  dmaap_consumer_id:\r
+    type: string\r
+    default: "c12"\r
+  dmaap_consumer_group:\r
+    type: string\r
+    default: "OpenDcae-c12"\r
+  dmaap_secure_enable_cert:\r
+    type: boolean\r
+    description: enable certificates-based connection with DMaaP\r
+    default: true\r
+  internal_port:\r
+    type: string\r
+    description: Internal port on which BBS-ep is exposed\r
+    default: "8100"\r
+  external_port:\r
+    type: string\r
+    description: External port on which BBS-ep is exposed\r
+    default: "30413"\r
+node_templates:\r
+  bbs-event-processor:\r
+    type: dcae.nodes.ContainerizedServiceComponent\r
+    properties:\r
+      application_config:\r
+        streams_subscribes:\r
+          pnf_reregistration:\r
+            type: message_router\r
+            aaf_username: { get_input: dmaap_username }\r
+            aaf_password: { get_input: dmaap_password }\r
+            dmaap_info:\r
+              topic_url: { get_input: pnf_reregistration_url }\r
+          cpe_authentication:\r
+            type: message_router\r
+            aaf_username: { get_input: dmaap_username }\r
+            aaf_password: { get_input: dmaap_password }\r
+            dmaap_info:\r
+              topic_url: { get_input: cpe_authentication_url }\r
+        streams_publishes:\r
+          close_loop:\r
+            type: message_router\r
+            aaf_username: { get_input: dmaap_username }\r
+            aaf_password: { get_input: dmaap_password }\r
+            dmaap_info:\r
+              topic_url: { get_input: close_loop_url }\r
+        dmaap.protocol: "https"\r
+        dmaap.contentType: "application/json"\r
+        dmaap.consumer.consumerId: { get_input: dmaap_consumer_id }\r
+        dmaap.consumer.consumerGroup: { get_input: dmaap_consumer_group }\r
+        dmaap.messageLimit: -1\r
+        dmaap.timeoutMs: -1\r
+        aai.host: { get_input: aai_enrichment_host }\r
+        aai.port: { get_input: aai_enrichment_port }\r
+        aai.protocol: { get_input: aai_enrichment_protocol }\r
+        aai.username: "AAI"\r
+        aai.password: "AAI"\r
+        aai.aaiIgnoreSslCertificateErrors: true\r
+        application.pipelinesPollingIntervalSec: 25\r
+        application.pipelinesTimeoutSec: 15\r
+        application.cbsPollingIntervalSec: { get_input: application_cbs_polling_interval_sec }\r
+        application.policyVersion: { get_input: application_policy_version }\r
+        application.clTargetType: { get_input: application_cl_target_type }\r
+        application.clEventStatus: { get_input: application_cl_event_status }\r
+        application.clVersion: { get_input: application_cl_version }\r
+        application.clTarget: { get_input: application_cl_target }\r
+        application.clOriginator: { get_input: application_cl_originator }\r
+        application.reregistration.policyScope: { get_input: application_rereg_policy_scope }\r
+        application.reregistration.clControlName: { get_input: application_rereg_cl_control_name }\r
+        application.cpe.authentication.policyScope: { get_input: application_cpeAuth_policy_scope }\r
+        application.cpe.authentication.clControlName: { get_input: application_cpeAuth_cl_control_name }\r
+        application.reregistration.configKey: "pnf_reregistration"\r
+        application.cpeAuth.configKey: "cpe_authentication"\r
+        application.closeLoop.configKey: "close_loop"\r
+        application.loggingLevel: { get_input: application_logging_level }\r
+        application.ssl.keyStorePath: "/opt/app/bbs-event-processor/etc/cert/cert.jks"\r
+        application.ssl.keyStorePasswordPath: "/opt/app/bbs-event-processor/etc/cert/jks.pass"\r
+        application.ssl.trustStorePath: "/opt/app/bbs-event-processor/etc/cert/trust.jks"\r
+        application.ssl.trustStorePasswordPath: "/opt/app/bbs-event-processor/etc/cert/trust.pass"\r
+        application.ssl.enableAaiCertAuth: { get_input: aai_secure_enable_cert }\r
+        application.ssl.enableDmaapCertAuth: { get_input: dmaap_secure_enable_cert }\r
+      docker_config:\r
+        healthcheck:\r
+          endpoint: /heartbeat\r
+          interval: 180s\r
+          timeout: 5s\r
+          type: http\r
+      image:\r
+        { get_input: tag_version }\r
+      replicas: {get_input: replicas}\r
+      service_component_type: 'bbs-event-processor'\r
+      log_info:\r
+        log_directory: "/opt/app/bbs-event-processor/logs"\r
+      tls_info:\r
+        cert_directory: '/opt/app/bbs-event-processor/etc/cert'\r
+        use_tls: true\r
+    interfaces:\r
+      cloudify.interfaces.lifecycle:\r
+        start:\r
+          inputs:\r
+            ports:\r
+              - concat: [{get_input: internal_port},":",{get_input: external_port}] \r