diff options
-rw-r--r-- | blueprints/k8s-heartbeat.yaml | 186 | ||||
-rw-r--r-- | blueprints/k8s-restconf.yaml | 116 | ||||
-rw-r--r-- | blueprints/k8s-ves-mapper.yaml | 108 | ||||
-rw-r--r-- | pom.xml | 2 | ||||
-rw-r--r-- | version.properties | 2 |
5 files changed, 412 insertions, 2 deletions
diff --git a/blueprints/k8s-heartbeat.yaml b/blueprints/k8s-heartbeat.yaml new file mode 100644 index 0000000..dfd0463 --- /dev/null +++ b/blueprints/k8s-heartbeat.yaml @@ -0,0 +1,186 @@ +# ============LICENSE_START==================================================== +# ============================================================================= +# Copyright (C) 2019-2020 AT&T +# ============================================================================= +# 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 + - https://nexus.onap.org/service/local/repositories/raw/content/org.onap.dcaegen2.platform.plugins/R6/k8splugin/1.7.2/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: + tag_version: + type: string + default: 'nexus3.onap.org:10001/onap/org.onap.dcaegen2.services.heartbeat:2.1.0' + heartbeat_name: + type: string + default: 'dcae-heartbeat-service' + replicas: + type: integer + description: number of instances + default: 1 + host_port: + type: integer + description: Network port that the platform service is expecting to expose on the host + default: 30223 + container_port: + type: integer + description: Network port that the platform service exposes in the container + default: 10002 + consul_host: + type: string + description: Consul endpoint address + default: 'consul-server.onap' + consul_port: + type: integer + description: Consul endpoint port + default: 8500 + CBS_polling_allowed: + type: string + default: 'True' + CBS_polling_interval: + type: string + default: '300' + consumerID: + type: string + default: '1' + groupID: + type: string + default: 'hbgrpID' + namespace: + type: string + default: 'onap' + pg_dbName: + type: string + default: 'postgres' + pg_ipAddress: + type: string + default: 'hbpostgres-write' + pg_passwd: + type: string + default: 'postgres' + pg_portNum: + type: string + default: '5432' + pg_userName: + type: string + default: 'postgres' + ves_heartbeat_publish_url: + type: string + default: 'http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.SEC_HEARTBEAT_OUTPUT' + dcae_CL_publish_url: + type: string + default: 'http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.DCAE_CL_OUTPUT' +node_templates: + hbpostgres: + type: dcae.nodes.ContainerizedApplication + properties: + name: + "hbpostgres-write" + image: + "postgres:9.5.2" + interfaces: + cloudify.interfaces.lifecycle: + start: + inputs: + envs: + PGDATA: + "/var/lib/postgresql/data/hbpostgres" + POSTGRES_PASSWORD: + { get_input: pg_passwd } + POSTGRES_USER: + { get_input: pg_userName } + SERVICE_NAME: + "hbpostgres-write" + ports: + - "5432:0" + heartbeat: + interfaces: + cloudify.interfaces.lifecycle: + start: + inputs: + envs: + CBS_polling_allowed: + get_input: CBS_polling_allowed + CBS_polling_interval: "300" + consumerID: "1" + groupID: + get_input: groupID + pg_ipAddress: + get_input: pg_ipAddress + pg_passwd: + get_input: pg_passwd + pg_portNum: "5432" + pg_userName: + get_input: pg_userName + pg_dbName: + get_input: pg_dbName + ports: + - "10002:0" + + properties: + application_config: + CBS_polling_allowed: + get_input: CBS_polling_allowed + CBS_polling_interval: + get_input: CBS_polling_interval + consumerID: + get_input: consumerID + groupID: + get_input: groupID + pg_ipAddress: + get_input: pg_ipAddress + pg_passwd: + get_input: pg_passwd + pg_portNum: + get_input: pg_portNum + pg_userName: + get_input: pg_userName + pg_dbName: + get_input: pg_dbName + heartbeat_config: '{"vnfs": [{"eventName": "Heartbeat_vDNS","heartbeatcountmissed": 3,"heartbeatinterval": 60,"closedLoopControlName": "ControlLoopEvent1", "policyVersion": "1.0.0.5", "policyName":"vFireWall","policyScope": "resource=sampleResource,type=sampletype,CLName=sampleCLName","target_type": "VNF", "target": "genVnfName", "version": "1.0"}, {"eventName": "Heartbeat_vFW","heartbeatcountmissed": 3, "heartbeatinterval": 60,"closedLoopControlName": "ControlLoopEvent1","policyVersion": "1.0.0.5","policyName": "vFireWall","policyScope": "resource=sampleResource,type=sampletype,CLName=sampleCLName", "target_type":"VNF", "target": "genVnfName", "version": "1.0"}, {"eventName": "Heartbeat_xx","heartbeatcountmissed": 3, "heartbeatinterval": 60,"closedLoopControlName": "ControlLoopEvent1","policyVersion": "1.0.0.5","policyName": "vFireWall", "policyScope": "resource=sampleResource,type=sampletype,CLName=sampleCLName","target_type": "VNF","target": "genVnfName","version": "1.0"}]}' + streams_publishes: + dcae_cl_out: + dmaap_info: + topic_url: + get_input: dcae_CL_publish_url + type: message_router + streams_subscribes: + ves-heartbeat: + dmaap_info: + topic_url: + get_input: ves_heartbeat_publish_url + type: message_router + docker_config: + healthcheck: + type: http + endpoint: / + interval: 15s + timeout: 1s + service_component_type: + get_input: heartbeat_name + image: { get_input: tag_version } + replicas: { get_input: replicas } + log_info: + log_directory: '/var/log/ONAP/dcae-heartbeat-services' + type: dcae.nodes.ContainerizedServiceComponent + relationships: + - type: cloudify.relationships.depends_on + target: hbpostgres + + diff --git a/blueprints/k8s-restconf.yaml b/blueprints/k8s-restconf.yaml new file mode 100644 index 0000000..8c4ee17 --- /dev/null +++ b/blueprints/k8s-restconf.yaml @@ -0,0 +1,116 @@ +# ============LICENSE_START==================================================== +# ============================================================================= +# Copyright (c) 2017-2020 AT&T Intellectual Property. All rights reserved. +# Copyright (c) 2019 Huawei. 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 + +description: > + This blueprint deploys/manages the RestConf Collector module as a Docker container + +imports: + - https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml + - https://nexus.onap.org/service/local/repositories/raw/content/org.onap.dcaegen2.platform.plugins/R6/k8splugin/1.7.2/k8splugin_types.yaml +inputs: + dmaap_host: + type: string + default: "message-router.onap.svc.cluster.local" + dmaap_port: + type: string + default: "3904" + tag_version: + type: string + default: "nexus3.onap.org:10001/onap/org.onap.dcaegen2.collectors.restconfcollector:1.1.1" + consul_host: + type: string + default: "consul-server.onap.svc.cluster.local" + consul_port: + type: string + default: "8500" + cbs_host: + type: string + default: "config-binding-service.dcae.svc.cluster.local" + cbs_port: + type: string + default: "10000" + external_port: + type: string + description: Kubernetes node port on which collector is exposed + default: "30416" + notification_publish_url: + type: string + default: "http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.DCAE_RCC_OUTPUT" + +node_templates: + rcc_k8s: + type: dcae.nodes.ContainerizedPlatformComponent + properties: + name: 'dcaegen2-collectors-rcc' + docker_config: + healthcheck: + endpoint: /healthcheck + interval: 15s + timeout: 1s + type: http + image: + get_input: tag_version + log_info: + log_directory: "/opt/app/RCCollector/logs" + application_config: + collector.rcc.appDescription: DCAE RestConf Collector Application + collector.rcc.appName: "dcae-rcc" + collector.rcc.dmaap.streamid: "notification=device-registration" + collector.rcc.inputQueue.maxPending: "8096" + tomcat.maxthreads: "200" + collector.rcc.service.port: "8080" + collector.rcc.service.secure.port: "8687" + collector.rcc.keystore.file.location: "/opt/app/restconfcollector/etc/keystore" + collector.rcc.keystore.passwordfile: "/opt/app/restconfcollector/etc/rcc_passwordfile" + collector.rcc.keystore.alias: "dynamically generated" + collector.rcc.truststore.file.location: "/opt/app/restconfcollector/etc/truststore.onap.client.jks" + collector.rcc.truststore.passwordfile: "/opt/app/restconfcollector/etc/trustpasswordfile" + collector.keystore.file.location: "/opt/app/restconfcollector/etc/sdnc.p12" + collector.keystore.passwordfile: "/opt/app/restconfcollector/etc/passwordfile" + collector.header.authflag: "0" + collector.header.authlist: "sample1,c2FtcGxlMQ==" + collector.rcc.service.secure.clientauth: "0" + streams_publishes: + device-registration: + dmaap_info: + topic_url: + get_input: notification_publish_url + type: message_router + rcc_policy: '[{"controller_name":"AccessM&C","controller_restapiUrl":"172.30.0.55:26335","controller_restapiUser":"access","controller_restapiPassword":"Huawei@123","controller_accessTokenUrl":"/rest/plat/smapp/v1/oauth/token","controller_accessTokenFile":"./etc/access-token.json","controller_accessTokenMethod":"put","controller_subsMethod":"post","controller_subscriptionUrl":"/restconf/v1/operations/huawei-nce-notification-action:establish-subscription","controller_disableSsl":"true","event_details":[{"event_name":"ONT_registration","event_description":"ONTregistartionevent","event_sseventUrlEmbed":"true","event_sseventsField":"output.url","event_sseventsUrl":"null","event_subscriptionTemplate":"./etc/ont_registartion_subscription_template.json","event_unSubscriptionTemplate":"./etc/ont_registartion_unsubscription_template.json","event_ruleId":"12345678","modifyData": "true","modifyMethod": "modifyOntEvent","userData": "remote_id=AC9.0234.0337;svlan=100;cvlan=10;"}]}]' + interfaces: + cloudify.interfaces.lifecycle: + start: + inputs: + envs: + DMAAPHOST: + { get_input: dmaap_host } + DMAAPPORT: "3904" + DMAAPPUBTOPIC: "unauthenticated.DCAE_RCC_OUTPUT" + CONSUL_HOST: + { get_input: consul_host } + CONSUL_PORT: "8500" + CBS_HOST: + { get_input: cbs_host } + CBS_PORT: "10000" + CONFIG_BINDING_SERVICE: "config_binding_service" + ports: + - concat: ["8080:", { get_input: external_port }] + + diff --git a/blueprints/k8s-ves-mapper.yaml b/blueprints/k8s-ves-mapper.yaml new file mode 100644 index 0000000..7259d18 --- /dev/null +++ b/blueprints/k8s-ves-mapper.yaml @@ -0,0 +1,108 @@ +# +# ============LICENSE_START==================================================== +# ============================================================================= +# Copyright (c) 2019 TechMahindra. All rights reserved. +# Copyright (c) 2020 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====================================================== + +description: "This blueprint deploys the UniversalVESAdapter(UVA) as a Docker container\n" +imports: + - https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml + - https://nexus.onap.org/service/local/repositories/raw/content/org.onap.dcaegen2.platform.plugins/R6/k8splugin/1.7.2/k8splugin_types.yaml + +inputs: + rcc_notification_url: + default: "http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.DCAE_RCC_OUTPUT" + type: string + snmp_notification_url: + default: "http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.ONAP-COLLECTOR-SNMPTRAP" + type: string + tag_version: + default: "nexus3.onap.org:10001/onap/org.onap.dcaegen2.services.mapper.vesadapter.universalvesadaptor:1.0.1" + type: string + universal_mapper_name: + default: "dcaegen2-svc-mapper" + type: string + ves_fault_publish_url: + default: "http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.SEC_FAULT_OUTPUT" + type: string + ves_measurement_publish_url: + default: "http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.VES_MEASUREMENT_OUTPUT" + type: string + ves_notification_publish_url: + default: "http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.VES_NOTIFICATION_OUTPUT" + type: string + ves_pnfRegistration_publish_url: + default: "http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.VES_PNFREG_OUTPUT" + type: string +node_templates: + universalvesadapter: + interfaces: + cloudify.interfaces.lifecycle: + start: + inputs: + envs: + CONFIG_BINDING_SERVICE: config_binding_service + max_wait: 3600 + ports: + - "80:0" + properties: + application_config: + app_preferences: + collectors: + - + identifier: notification-id + mapping-files: + - + defaultMappingFile-rcc-notification: "<?xml version='1.0' encoding='UTF-8'?><smooks-resource-list xmlns='http://www.milyn.org/xsd/smooks-1.1.xsd' xmlns:jb='http://www.milyn.org/xsd/smooks/javabean-1.4.xsd' xmlns:json='http://www.milyn.org/xsd/smooks/json-1.1.xsd'><json:reader rootName='vesevent' keyWhitspaceReplacement='-'><json:keyMap><json:key from='date&time' to='date-and-time' /></json:keyMap></json:reader><jb:bean class='org.onap.dcaegen2.ves.domain.ves70.VesEvent' beanId='vesEvent' createOnElement='vesevent'><jb:wiring property='event' beanIdRef='event' /></jb:bean><jb:bean class='org.onap.dcaegen2.ves.domain.ves70.Event' beanId='event' createOnElement='vesevent'><jb:wiring property='commonEventHeader' beanIdRef='commonEventHeader' /><jb:wiring property='pnfRegistrationFields' beanIdRef='pnfRegistrationFields' /></jb:bean><jb:bean class='org.onap.dcaegen2.ves.domain.ves70.CommonEventHeader' beanId='commonEventHeader' createOnElement='vesevent'><jb:expression property='version'>org.onap.dcaegen2.ves.domain.ves70.CommonEventHeader.Version._4_0_1</jb:expression><jb:expression property='eventType'>'pnfRegistration'</jb:expression><jb:expression property='vesEventListenerVersion'>org.onap.dcaegen2.ves.domain.ves70.CommonEventHeader.VesEventListenerVersion._7_0_1</jb:expression><jb:expression property='eventId' execOnElement='vesevent'>'registration_'+commonEventHeader.ts1</jb:expression><jb:expression property='reportingEntityName'>'VESMapper'</jb:expression><jb:expression property='domain'>org.onap.dcaegen2.ves.domain.ves70.CommonEventHeader.Domain.PNF_REGISTRATION</jb:expression><jb:expression property='eventName' execOnElement='vesevent'>commonEventHeader.domain</jb:expression><jb:value property='sequence' data='0' default='0' decoder='Long' /><jb:expression property='lastEpochMicrosec' execOnElement='vesevent'>commonEventHeader.ts1</jb:expression><jb:expression property='startEpochMicrosec' execOnElement='vesevent'>commonEventHeader.ts1</jb:expression><jb:expression property='priority'>org.onap.dcaegen2.ves.domain.ves70.CommonEventHeader.Priority.NORMAL</jb:expression><jb:expression property='sourceName' execOnElement='vesevent'>pnfRegistrationFields.vendorName+'-'+pnfRegistrationFields.serialNumber</jb:expression></jb:bean><jb:bean class='org.onap.dcaegen2.ves.domain.ves70.PnfRegistrationFields' beanId='pnfRegistrationFields' createOnElement='vesevent'><jb:expression property='pnfRegistrationFieldsVersion'>org.onap.dcaegen2.ves.domain.ves70.PnfRegistrationFields.PnfRegistrationFieldsVersion._2_0</jb:expression><jb:value property='serialNumber' data='pnfRegistration/serialNumber' /><jb:value property='lastServiceDate' data='pnfRegistration/lastServiceDate' /><jb:value property='manufactureDate' data='pnfRegistration/manufactureDate' /><jb:value property='modelNumber' data='pnfRegistration/modelNumber' /><jb:value property='oamV4IpAddress' data='pnfRegistration/oamV4IpAddress' /><jb:value property='oamV6IpAddress' data='pnfRegistration/oamV6IpAddress' /><jb:value property='softwareVersion' data='pnfRegistration/softwareVersion' /><jb:value property='unitFamily' data='pnfRegistration/unitFamily' /><jb:value property='unitType' data='pnfRegistration/unitType' /><jb:value property='vendorName' data='pnfRegistration/vendorName' /><jb:wiring property='additionalFields' beanIdRef='alarmAdditionalInformation' /></jb:bean><jb:bean class='org.onap.dcaegen2.ves.domain.ves70.AlarmAdditionalInformation' beanId='alarmAdditionalInformation' createOnElement='vesevent'><jb:wiring property='additionalProperties' beanIdRef='additionalFields2' /></jb:bean><jb:bean beanId='additionalFields2' class='java.util.HashMap' createOnElement='vesevent/pnfRegistration/additionalFields'><jb:value data='pnfRegistration/additionalFields/*'/></jb:bean></smooks-resource-list>" + stream_publisher: ves-pnfRegistration + stream_subscriber: rcc-notification + - + identifier: notify OID + mapping-files: + - + defaultMappingFile-snmp-notification: "<?xml version='1.0' encoding='UTF-8'?><smooks-resource-list xmlns='http://www.milyn.org/xsd/smooks-1.1.xsd' xmlns:jb='http://www.milyn.org/xsd/smooks/javabean-1.4.xsd' xmlns:json='http://www.milyn.org/xsd/smooks/json-1.1.xsd'><json:reader rootName='vesevent' keyWhitspaceReplacement='-'><json:keyMap><json:key from='date&time' to='date-and-time' /></json:keyMap></json:reader><jb:bean class='org.onap.dcaegen2.ves.domain.ves54.VesEvent' beanId='vesEvent' createOnElement='vesevent'><jb:wiring property='event' beanIdRef='event' /></jb:bean><jb:bean class='org.onap.dcaegen2.ves.domain.ves54.Event' beanId='event' createOnElement='vesevent'><jb:wiring property='commonEventHeader' beanIdRef='commonEventHeader' /><jb:wiring property='faultFields' beanIdRef='faultFields' /></jb:bean><jb:bean class='org.onap.dcaegen2.ves.domain.ves54.CommonEventHeader' beanId='commonEventHeader' createOnElement='vesevent'><jb:expression property='version'>'3.0'</jb:expression><jb:expression property='eventType'>'FaultField'</jb:expression><jb:expression property='eventId' execOnElement='vesevent'>'XXXX'</jb:expression><jb:expression property='reportingEntityName'>'VESMapper'</jb:expression><jb:expression property='domain'>org.onap.dcaegen2.ves.domain.ves54.CommonEventHeader.Domain.FAULT</jb:expression><jb:expression property='eventName' execOnElement='vesevent'>commonEventHeader.domain</jb:expression><jb:value property='sequence' data='0' default='0' decoder='Long' /><jb:value property='lastEpochMicrosec' data='#/time-received' /><jb:value property='startEpochMicrosec' data='#/time-received' /><jb:expression property='priority'>org.onap.dcaegen2.ves.domain.ves54.CommonEventHeader.Priority.NORMAL</jb:expression><jb:expression property='sourceName'>'VesAdapter'</jb:expression></jb:bean><jb:bean class='org.onap.dcaegen2.ves.domain.ves54.FaultFields' beanId='faultFields' createOnElement='vesevent'><jb:value property='faultFieldsVersion' data='2.0' default='2.0' decoder='Double' /><jb:value property='alarmCondition' data='#/trap-category' /><jb:expression property='specificProblem'>'SNMP Fault'</jb:expression><jb:expression property='vfStatus'>org.onap.dcaegen2.ves.domain.ves54.FaultFields.VfStatus.ACTIVE</jb:expression><jb:expression property='eventSeverity'>org.onap.dcaegen2.ves.domain.ves54.FaultFields.EventSeverity.MINOR</jb:expression><jb:wiring property='alarmAdditionalInformation' beanIdRef='alarmAdditionalInformationroot' /></jb:bean><jb:bean class='java.util.ArrayList' beanId='alarmAdditionalInformationroot' createOnElement='vesevent'><jb:wiring beanIdRef='alarmAdditionalInformation' /></jb:bean><jb:bean class='org.onap.dcaegen2.ves.domain.ves54.AlarmAdditionalInformation' beanId='alarmAdditionalInformation' createOnElement='varbinds/element'><jb:value property='name' data='#/varbind_oid' /><jb:value property='value' data='#/varbind_value' /></jb:bean></smooks-resource-list>" + stream_publisher: ves-fault + stream_subscriber: snmp-notification + streams_publishes: + ves-fault: + dmaap_info: + topic_url: + get_input: ves_fault_publish_url + type: message_router + ves-pnfRegistration: + dmaap_info: + topic_url: + get_input: ves_pnfRegistration_publish_url + type: message_router + streams_subscribes: + rcc-notification: + dmaap_info: + topic_url: + get_input: rcc_notification_url + type: message_router + snmp-notification: + dmaap_info: + topic_url: + get_input: snmp_notification_url + type: message_router + docker_config: {} + image: + get_input: tag_version + service_component_type: + get_input: universal_mapper_name + type: dcae.nodes.ContainerizedServiceComponent +tosca_definitions_version: cloudify_dsl_1_3 + @@ -28,7 +28,7 @@ ECOMP is a trademark and service mark of AT&T Intellectual Property. <groupId>org.onap.dcaegen2.deployments</groupId> <artifactId>k8s-bootstrap-container</artifactId> <name>dcaegen2-deployments-k8s-bootstrap-container</name> - <version>1.12.2-SNAPSHOT</version> + <version>1.12.3-SNAPSHOT</version> <url>http://maven.apache.org</url> <packaging>pom</packaging> diff --git a/version.properties b/version.properties index ff707d2..b290fbe 100644 --- a/version.properties +++ b/version.properties @@ -1,6 +1,6 @@ major=1
minor=12
-patch=2
+patch=3
base_version=${major}.${minor}.${patch}
release_version=${base_version}
snapshot_version=${base_version}-SNAPSHOT
|