From ab400d51a639a01f31a60ac9d1e127d4d4d28b24 Mon Sep 17 00:00:00 2001 From: Reshmasree Date: Thu, 21 Mar 2019 18:54:53 +0530 Subject: Add component spec and blueprint - validated component spec and blueprints are added to the repo - pom file changed to build,tag and push the docker image - checkstyle version changed from 1.2.3-SNAPSHOT to 1.2.3 - entrypoint script added Change-Id: I0fcf8a17b0c5ce1990de506bf94d2d9ddf93d6fd Issue-ID: DCAEGEN2-1159 Signed-off-by: Reshmasree --- dpo/blueprints/k8s-sonhms-inputs.yaml | 54 ++++ dpo/blueprints/k8s-sonhms.yaml | 225 ++++++++++++++++ dpo/data-formats/cellListFromSdnr-dataformat.json | 18 ++ dpo/data-formats/configdb-req-dataformat.json | 12 + dpo/data-formats/dmaap_son.json | 45 ++++ dpo/data-formats/nbrListFromSdnr-dataformat.json | 33 +++ dpo/data-formats/oofToSonAsyncResp-dataformat.json | 91 +++++++ dpo/data-formats/oofToSonSyncResp-dataformat.json | 38 +++ dpo/data-formats/pciFromSdnr-dataformat.json | 29 ++ dpo/data-formats/pnfNameFromSdnr-dataformat.json | 29 ++ dpo/data-formats/policyToSonReq-dataformat.json | 23 ++ dpo/data-formats/policyToSonResp-dataformat.json | 64 +++++ dpo/data-formats/sonInputFromSdnr-dataformat.json | 212 +++++++++++++++ dpo/data-formats/sonToOofReq-dataformat.json | 97 +++++++ dpo/data-formats/sonToPolicyDmaap-dataformat.json | 87 ++++++ dpo/data-formats/sonToPolicyReq-dataformat.json | 24 ++ dpo/spec/sonhandler-componentspec.json | 297 +++++++++++++++++++++ 17 files changed, 1378 insertions(+) create mode 100644 dpo/blueprints/k8s-sonhms-inputs.yaml create mode 100644 dpo/blueprints/k8s-sonhms.yaml create mode 100644 dpo/data-formats/cellListFromSdnr-dataformat.json create mode 100644 dpo/data-formats/configdb-req-dataformat.json create mode 100644 dpo/data-formats/dmaap_son.json create mode 100644 dpo/data-formats/nbrListFromSdnr-dataformat.json create mode 100644 dpo/data-formats/oofToSonAsyncResp-dataformat.json create mode 100644 dpo/data-formats/oofToSonSyncResp-dataformat.json create mode 100644 dpo/data-formats/pciFromSdnr-dataformat.json create mode 100644 dpo/data-formats/pnfNameFromSdnr-dataformat.json create mode 100644 dpo/data-formats/policyToSonReq-dataformat.json create mode 100644 dpo/data-formats/policyToSonResp-dataformat.json create mode 100644 dpo/data-formats/sonInputFromSdnr-dataformat.json create mode 100644 dpo/data-formats/sonToOofReq-dataformat.json create mode 100644 dpo/data-formats/sonToPolicyDmaap-dataformat.json create mode 100644 dpo/data-formats/sonToPolicyReq-dataformat.json create mode 100644 dpo/spec/sonhandler-componentspec.json (limited to 'dpo') diff --git a/dpo/blueprints/k8s-sonhms-inputs.yaml b/dpo/blueprints/k8s-sonhms-inputs.yaml new file mode 100644 index 0000000..9caf823 --- /dev/null +++ b/dpo/blueprints/k8s-sonhms-inputs.yaml @@ -0,0 +1,54 @@ +# ============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========================================================= + +pgaas_cluster_name: dcae-pg-primary.onap +database_name: sonhms +tag_version: nexus3.onap.org:10001/onap/org.onap.dcaegen2.services.son-handler:latest +replicas: 1 +aaf_username: +aaf_password: +polling_interval: 20 +polling_timeout: 60 +num_solutions: 5 +min_collision: 5 +min_confusion: 5 +max_clusters: 5 +dmaap: message-router +buffer_time: 60 +cg: sonhms-cg +cid: sonhms-cid +config_db: http://sdnc.onap.svc.cluster.local:8181 +oof: http://oof.onap.svc.cluster.local:8080 +pci_optimizer: pci +log_path: /dockerdata-nfs/son-handler +topic00_location: onap +topic00_client_role: son-subscriber +topic00_client_id: sdnr-son-1 +topic00_url: https://message-router.onap.svc.cluster.local:3905/events/unauthenticated.SEC_MEASUREMENT_OUTPUT +topic01_location: onap +topic01_client_role: son-subscriber +topic01_client_id: sdnr-son-1 +topic01_url: https://message-router.onap.svc.cluster.local:3905/events/unauthenticated.SEC_FAULT_OUTPUT +topic02_location: onap +topic02_client_role: son-subscriber +topic02_client_id: sdnr-son-1 +topic02_url: https://message-router.onap.svc.cluster.local:3905/events/PCI-NOTIF-TOPIC-NGHBR-LIST-CHANGE-INFO +topic03_location: onap +topic03_client_role: son-subscriber +topic03_client_id: sdnr-son-1 +topic03_url: https://message-router.onap.svc.cluster.local:3905/events/DCAE_CL_OUTPUT diff --git a/dpo/blueprints/k8s-sonhms.yaml b/dpo/blueprints/k8s-sonhms.yaml new file mode 100644 index 0000000..172048c --- /dev/null +++ b/dpo/blueprints/k8s-sonhms.yaml @@ -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 + + + + diff --git a/dpo/data-formats/cellListFromSdnr-dataformat.json b/dpo/data-formats/cellListFromSdnr-dataformat.json new file mode 100644 index 0000000..610552e --- /dev/null +++ b/dpo/data-formats/cellListFromSdnr-dataformat.json @@ -0,0 +1,18 @@ +{ + "dataformatversion": "1.0.0", + "jsonschema": { + "$schema": "http://json-schema.org/draft-04/schema#", + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "self": { + "description": "", + "name": "CELLLIST_FROM_SDNR", + "version": "1.0.0" + } +} + diff --git a/dpo/data-formats/configdb-req-dataformat.json b/dpo/data-formats/configdb-req-dataformat.json new file mode 100644 index 0000000..a40a05c --- /dev/null +++ b/dpo/data-formats/configdb-req-dataformat.json @@ -0,0 +1,12 @@ +{ + "self": { + "name": "CONFIGDB-REQ", + "version": "1.0.0", + "description": "Request to config DB" + + }, + "dataformatversion": "1.0.0", + "unstructured": { + "encoding": "UTF-8" + } +} diff --git a/dpo/data-formats/dmaap_son.json b/dpo/data-formats/dmaap_son.json new file mode 100644 index 0000000..43f7b8e --- /dev/null +++ b/dpo/data-formats/dmaap_son.json @@ -0,0 +1,45 @@ +{"nbr_list_change_topic":{ + "type": "message_router", + "aaf_username": "", + "aaf_password": "", + "dmaap_info": { + "client_role": "son-subscriber", + "client_id": "sdnr-son-1", + "location": "onap", + "topic_url": "https://HOSTNAME:3905/events/PCI-NOTIF-TOPIC-NGHBR-LIST-CHANGE-INFO" + } +}, +"fault_management_topic":{ + "type": "message_router", + "aaf_username": "", + "aaf_password": "", + "dmaap_info": { + "client_role": "son-subscriber", + "client_id": "sdnr-son-1", + "location": "onap", + "topic_url": "https://HOSTNAME:3905/events/unauthenticated.SEC_FAULT_OUTPUT" + } +}, +"performance_management_topic":{ + "type": "message_router", + "aaf_username": "", + "aaf_password": "", + "dmaap_info": { + "client_role": "son-subscriber", + "client_id": "sdnr-son-1", + "location": "onap", + "topic_url": "https://HOSTNAME:3905/events/unauthenticated.SEC_MEASUREMENT_OUTPUT" + } +}, +"CL_topic":{ + "type": "message_router", + "aaf_username": "", + "aaf_password": "", + "dmaap_info": { + "client_role": "policy-publisher", + "client_id": "policy-son-1", + "location": "onap", + "topic_url": "https://HOSTNAME:3905/events/DCAE_CL_OUTPUT" + } +} +} diff --git a/dpo/data-formats/nbrListFromSdnr-dataformat.json b/dpo/data-formats/nbrListFromSdnr-dataformat.json new file mode 100644 index 0000000..ad50950 --- /dev/null +++ b/dpo/data-formats/nbrListFromSdnr-dataformat.json @@ -0,0 +1,33 @@ +{ + "dataformatversion": "1.0.0", + "jsonschema": { + "$schema": "http://json-schema.org/draft-04/schema#", + "description": "", + "items": { + "additionalproperties": true, + "description": "", + "properties": { + "cellId": { + "description": "", + "type": "string" + }, + "pciValue": { + "description": "", + "type": "integer" + } + }, + "required": [ + "cellId", + "pciValue" + ], + "type": "object" + }, + "type": "array" + }, + "self": { + "description": "", + "name": "NBRLST_FROM_SDNR", + "version": "1.0.0" + } +} + diff --git a/dpo/data-formats/oofToSonAsyncResp-dataformat.json b/dpo/data-formats/oofToSonAsyncResp-dataformat.json new file mode 100644 index 0000000..2668370 --- /dev/null +++ b/dpo/data-formats/oofToSonAsyncResp-dataformat.json @@ -0,0 +1,91 @@ +{ + "dataformatversion": "1.0.0", + "jsonschema": { + "$schema": "http://json-schema.org/draft-04/schema#", + "additionalproperties": true, + "description": "", + "properties": { + "requestId": { + "description": "", + "type": "string" + }, + "requestStatus": { + "description": "", + "type": "string" + }, + "solutions": { + "description": "", + "items": { + "additionalproperties": true, + "description": "", + "properties": { + "finishTime": { + "description": "", + "type": "string" + }, + "networkId": { + "description": "", + "type": "string" + }, + "pciSolutions": { + "description": "", + "items": { + "additionalproperties": true, + "description": "", + "properties": { + "cellId": { + "description": "", + "type": "string" + }, + "pci": { + "description": "", + "type": "string" + } + }, + "required": [ + "cellId", + "pci" + ], + "type": "object" + }, + "type": "array" + }, + "startTime": { + "description": "", + "type": "string" + } + }, + "required": [ + "finishTime", + "networkId", + "pciSolutions", + "startTime" + ], + "type": "object" + }, + "type": "array" + }, + "statusMessage": { + "description": "", + "type": "string" + }, + "transactionId": { + "description": "", + "type": "string" + } + }, + "required": [ + "requestId", + "requestStatus", + "solutions", + "statusMessage", + "transactionId" + ], + "type": "object" + }, + "self": { + "description": "", + "name": "SON_OOF_ASYNC_RESP", + "version": "1.0.0" + } +} diff --git a/dpo/data-formats/oofToSonSyncResp-dataformat.json b/dpo/data-formats/oofToSonSyncResp-dataformat.json new file mode 100644 index 0000000..11f8cd0 --- /dev/null +++ b/dpo/data-formats/oofToSonSyncResp-dataformat.json @@ -0,0 +1,38 @@ +{ + "dataformatversion": "1.0.0", + "jsonschema": { + "$schema": "http://json-schema.org/draft-04/schema#", + "additionalproperties": true, + "description": "", + "properties": { + "requestId": { + "description": "", + "type": "string" + }, + "requestStatus": { + "description": "", + "type": "string" + }, + "statusMessage": { + "description": "", + "type": "string" + }, + "transactionId": { + "description": "", + "type": "string" + } + }, + "required": [ + "requestId", + "requestStatus", + "statusMessage", + "transactionId" + ], + "type": "object" + }, + "self": { + "description": "", + "name": "SON_OOF_SYNC_RESP", + "version": "1.0.0" + } +} diff --git a/dpo/data-formats/pciFromSdnr-dataformat.json b/dpo/data-formats/pciFromSdnr-dataformat.json new file mode 100644 index 0000000..5eb8e7c --- /dev/null +++ b/dpo/data-formats/pciFromSdnr-dataformat.json @@ -0,0 +1,29 @@ +{ + "dataformatversion": "1.0.0", + "jsonschema": { + "$schema": "http://json-schema.org/draft-04/schema#", + "additionalproperties": true, + "description": "", + "properties": { + "attribute-name": { + "description": "", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + } + }, + "required": [ + "attribute-name", + "value" + ], + "type": "object" + }, + "self": { + "description": "", + "name": "PCI_FROM_SDNR", + "version": "1.0.0" + } +} + diff --git a/dpo/data-formats/pnfNameFromSdnr-dataformat.json b/dpo/data-formats/pnfNameFromSdnr-dataformat.json new file mode 100644 index 0000000..84787dc --- /dev/null +++ b/dpo/data-formats/pnfNameFromSdnr-dataformat.json @@ -0,0 +1,29 @@ +{ + "dataformatversion": "1.0.0", + "jsonschema": { + "$schema": "http://json-schema.org/draft-04/schema#", + "additionalproperties": true, + "description": "", + "properties": { + "attribute-name": { + "description": "", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + } + }, + "required": [ + "attribute-name", + "value" + ], + "type": "object" + }, + "self": { + "description": "", + "name": "PNFNAME_FROM_SDNR", + "version": "1.0.0" + } +} + diff --git a/dpo/data-formats/policyToSonReq-dataformat.json b/dpo/data-formats/policyToSonReq-dataformat.json new file mode 100644 index 0000000..f787695 --- /dev/null +++ b/dpo/data-formats/policyToSonReq-dataformat.json @@ -0,0 +1,23 @@ +{ + "dataformatversion": "1.0.0", + "jsonschema": { + "$schema": "http://json-schema.org/draft-04/schema#", + "additionalproperties": true, + "description": "", + "properties": { + "policyName": { + "description": "", + "type": "string" + } + }, + "required": [ + "policyName" + ], + "type": "object" + }, + "self": { + "description": "", + "name": "SON_TO_POLICY_REST_REQ", + "version": "1.0.0" + } +} diff --git a/dpo/data-formats/policyToSonResp-dataformat.json b/dpo/data-formats/policyToSonResp-dataformat.json new file mode 100644 index 0000000..526f145 --- /dev/null +++ b/dpo/data-formats/policyToSonResp-dataformat.json @@ -0,0 +1,64 @@ +{ + "dataformatversion": "1.0.0", + "jsonschema": { + "$schema": "http://json-schema.org/draft-04/schema#", + "additionalproperties": true, + "description": "", + "properties": { + "configBody": { + "description": "", + "type": "string" + }, + "configBodyType": { + "description": "", + "type": "string" + }, + "configName": { + "description": "", + "type": "string" + }, + "onapName": { + "description": "", + "type": "string" + }, + "policyClass": { + "description": "", + "type": "string" + }, + "policyConfigType": { + "description": "", + "type": "string" + }, + "policyName": { + "description": "", + "type": "string" + }, + "policyVersion": { + "description": "", + "type": "string" + }, + "ttlDate": { + "description": "", + "type": "string" + } + }, + "required": [ + "configBody", + "configBodyType", + "configName", + "onapName", + "policyClass", + "policyConfigType", + "policyName", + "policyVersion", + "ttlDate" + ], + "type": "object" + }, + "self": { + "description": "", + "name": "POLICY_TO_SON_REST_RESP", + "version": "1.0.0" + } +} + diff --git a/dpo/data-formats/sonInputFromSdnr-dataformat.json b/dpo/data-formats/sonInputFromSdnr-dataformat.json new file mode 100644 index 0000000..de8c017 --- /dev/null +++ b/dpo/data-formats/sonInputFromSdnr-dataformat.json @@ -0,0 +1,212 @@ +{ + "dataformatversion": "1.0.0", + "jsonschema": { + "$schema": "http://json-schema.org/draft-04/schema#", + "additionalproperties": true, + "description": "", + "properties": { + "AAI": { + "description": "", + "type": "object" + }, + "Action": { + "description": "", + "type": "string" + }, + "Payload": { + "additionalproperties": true, + "description": "", + "properties": { + "RadioAccess": { + "additionalproperties": true, + "description": "", + "properties": { + "FAPServiceList": { + "description": "", + "items": { + "additionalproperties": true, + "description": "", + "properties": { + "CellConfig": { + "additionalproperties": true, + "description": "", + "properties": { + "LTE": { + "additionalproperties": true, + "description": "", + "properties": { + "RAN": { + "additionalproperties": true, + "description": "", + "properties": { + "CellIdentity": { + "description": "", + "type": "string" + }, + "NeighborListInUse": { + "additionalproperties": true, + "description": "", + "properties": { + "LTECellNumberOfEntries": { + "description": "", + "type": "string" + }, + "LTENeighborListInUseLTECell": { + "description": "", + "items": { + "additionalproperties": true, + "description": "", + "properties": { + "alias": { + "description": "", + "type": "string" + }, + "blacklisted": { + "description": "", + "type": "string" + }, + "cid": { + "description": "", + "type": "string" + }, + "enable": { + "description": "", + "type": "string" + }, + "mustInclude": { + "description": "", + "type": "string" + }, + "phyCellId": { + "description": "", + "type": "string" + }, + "plmnid": { + "description": "", + "type": "string" + }, + "pnfName": { + "description": "", + "type": "string" + } + }, + "required": [ + "alias", + "blacklisted", + "cid", + "enable", + "mustInclude", + "phyCellId", + "plmnid", + "pnfName" + ], + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "LTECellNumberOfEntries", + "LTENeighborListInUseLTECell" + ], + "type": "object" + } + }, + "required": [ + "CellIdentity", + "NeighborListInUse" + ], + "type": "object" + } + }, + "required": [ + "RAN" + ], + "type": "object" + } + }, + "required": [ + "LTE" + ], + "type": "object" + }, + "X0005b9Lte": { + "additionalproperties": true, + "description": "", + "properties": { + "phyCellIdInUse": { + "description": "", + "type": "string" + }, + "pnfName": { + "description": "", + "type": "string" + } + }, + "required": [ + "phyCellIdInUse", + "pnfName" + ], + "type": "object" + }, + "alias": { + "description": "", + "type": "string" + } + }, + "required": [ + "CellConfig", + "X0005b9Lte", + "alias" + ], + "type": "object" + }, + "type": "array" + }, + "FAPServiceNumberOfEntries": { + "description": "", + "type": "string" + } + }, + "required": [ + "FAPServiceList", + "FAPServiceNumberOfEntries" + ], + "type": "object" + } + }, + "required": [ + "RadioAccess" + ], + "type": "object" + }, + "from": { + "description": "", + "type": "string" + }, + "requestID": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "type": "string" + } + }, + "required": [ + "AAI", + "Action", + "Payload", + "from", + "requestID", + "version" + ], + "type": "object" + }, + "self": { + "description": "dmaap message from SDNR to SON handler", + "name": "SON_INPUT_FROM_SDNR", + "version": "1.0.0" + } +} + diff --git a/dpo/data-formats/sonToOofReq-dataformat.json b/dpo/data-formats/sonToOofReq-dataformat.json new file mode 100644 index 0000000..3ca70e0 --- /dev/null +++ b/dpo/data-formats/sonToOofReq-dataformat.json @@ -0,0 +1,97 @@ +{ + "dataformatversion": "1.0.0", + "jsonschema": { + "$schema": "http://json-schema.org/draft-04/schema#", + "additionalproperties": true, + "description": "", + "properties": { + "cellInfo": { + "additionalproperties": true, + "description": "", + "properties": { + "cellIdList": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "networkId": { + "description": "", + "type": "string" + } + }, + "required": [ + "cellIdList", + "networkId" + ], + "type": "object" + }, + "requestInfo": { + "additionalproperties": true, + "description": "", + "properties": { + "callbackUrl": { + "description": "", + "type": "string" + }, + "numSolutions": { + "description": "", + "type": "integer" + }, + "optimizers": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "requestId": { + "description": "", + "type": "string" + }, + "requestType": { + "description": "", + "type": "string" + }, + "sourceId": { + "description": "", + "type": "string" + }, + "timeout": { + "description": "", + "type": "integer" + }, + "transactionId": { + "description": "", + "type": "string" + } + }, + "required": [ + "callbackUrl", + "numSolutions", + "optimizers", + "requestId", + "requestType", + "sourceId", + "timeout", + "transactionId" + ], + "type": "object" + } + }, + "required": [ + "cellInfo", + "requestInfo" + ], + "type": "object" + }, + "self": { + "description": "", + "name": "SON_TO_OOF_REST_REQ", + "version": "1.0.0" + } +} + diff --git a/dpo/data-formats/sonToPolicyDmaap-dataformat.json b/dpo/data-formats/sonToPolicyDmaap-dataformat.json new file mode 100644 index 0000000..fcca5e6 --- /dev/null +++ b/dpo/data-formats/sonToPolicyDmaap-dataformat.json @@ -0,0 +1,87 @@ +{ + "dataformatversion": "1.0.0", + "jsonschema": { + "$schema": "http://json-schema.org/draft-04/schema#", + "additionalproperties": true, + "description": "", + "properties": { + "AAI": { + "additionalproperties": true, + "description": "", + "properties": { + "generic-vnf.is-closed-loop-disabled": { + "description": "", + "type": "string" + }, + "generic-vnf.prov-status": { + "description": "", + "type": "string" + }, + "generic-vnf.vnf-id": { + "description": "", + "type": "string" + } + }, + "required": [ + "generic-vnf.is-closed-loop-disabled", + "generic-vnf.prov-status", + "generic-vnf.vnf-id" + ], + "type": "object" + }, + "Action": { + "description": "", + "type": "string" + }, + "closedLoopAlarmStart": { + "description": "", + "type": "integer" + }, + "closedLoopControlName": { + "description": "", + "type": "string" + }, + "closedLoopEventClient": { + "description": "", + "type": "string" + }, + "closedLoopEventStatus": { + "description": "", + "type": "string" + }, + "from": { + "description": "", + "type": "string" + }, + "payload": { + "description": "", + "type": "string" + }, + "requestID": { + "description": "", + "type": "string" + }, + "target": { + "description": "", + "type": "string" + }, + "target_type": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "type": "string" + } + }, + "required": [ + "AAI", "Action", "closedLoopAlarmStart", "closedLoopControlName", "closedLoopEventClient", "closedLoopEventStatus", "from", "payload", "requestID", "target", "target_type", "version" + ], + "type": "object" + }, + "self": { + "description": "", + "name": "SON_TO_POLICY_DMAAP", + "version": "1.0.0" + } +} diff --git a/dpo/data-formats/sonToPolicyReq-dataformat.json b/dpo/data-formats/sonToPolicyReq-dataformat.json new file mode 100644 index 0000000..7686242 --- /dev/null +++ b/dpo/data-formats/sonToPolicyReq-dataformat.json @@ -0,0 +1,24 @@ +{ + "dataformatversion": "1.0.0", + "jsonschema": { + "$schema": "http://json-schema.org/draft-04/schema#", + "additionalproperties": true, + "description": "", + "properties": { + "policyName": { + "description": "", + "type": "string" + } + }, + "required": [ + "policyName" + ], + "type": "object" + }, + "self": { + "description": "", + "name": "SON_TO_POLICY_REST_REQ", + "version": "1.0.0" + } +} + diff --git a/dpo/spec/sonhandler-componentspec.json b/dpo/spec/sonhandler-componentspec.json new file mode 100644 index 0000000..186fbf7 --- /dev/null +++ b/dpo/spec/sonhandler-componentspec.json @@ -0,0 +1,297 @@ +{ + "self":{ + "version":"1.0.0", + "name":"docker.sonhandler.app", + "description":"Handles the PCI optimization for SON network", + "component_type":"docker" + }, + "streams":{ + "subscribes":[ + { + "format":"SON_INPUT_FROM_SDNR", + "version":"1.0.0", + "config_key":"nbr_list_change_topic", + "type":"message router" + }, + { + "format":"FM_ALARM_FROM_VES", + "version":"1.0.0", + "config_key":"fault_management_topic", + "type":"message router" + }, + { + "format":"PM_ALARM_FROM_VES", + "version":"1.0.0", + "config_key":"performance_management_topic", + "type":"message router" + }, + { + "format":"SON_OOF_ASYNC_RESP", + "version":"1.0.0", + "route":"/callbackUrl", + "type":"http" + } + ], + "publishes":[ + { + "format":"SON_TO_POLICY_DMAAP", + "version":"1.0.0", + "config_key":"CL_topic", + "type":"message router" + } + ] + }, + "services":{ + "calls":[ + { + "config_key":"oof-req", + "request":{ + "format":"SON_TO_OOF_REST_REQ", + "version":"1.0.0" + }, + "response":{ + "format":"SON_OOF_SYNC_RESP", + "version":"1.0.0" + } + }, + { + "config_key":"sdnr-getpnfname", + "request":{ + "format":"CONFIGDB-REQ", + "version":"1.0.0" + }, + "response":{ + "format":"PNFNAME_FROM_SDNR", + "version":"1.0.0" + } + }, + { + "config_key":"sdnr-getcelllist", + "request":{ + "format":"CONFIGDB-REQ", + "version":"1.0.0" + }, + "response":{ + "format":"CELLLIST_FROM_SDNR", + "version":"1.0.0" + } + }, + { + "config_key":"sdnr-getnbrlist", + "request":{ + "format":"CONFIGDB-REQ", + "version":"1.0.0" + }, + "response":{ + "format":"NBRLST_FROM_SDNR", + "version":"1.0.0" + } + }, + { + "config_key":"sdnr-getpci", + "request":{ + "format":"CONFIGDB-REQ", + "version":"1.0.0" + }, + "response":{ + "format":"PCI_FROM_SDNR", + "version":"1.0.0" + } + } + ], + "provides":[ + + ] + }, + "parameters":[ + { + "name":"postgres.username", + "value":"sonuser", + "description":"postgres config", + "sourced_at_deployment":false, + "policy_editable":false, + "designer_editable":false + }, + { + "name":"postgres.password", + "value":"sonpassword", + "description":"postgres config", + "sourced_at_deployment":false, + "policy_editable":false, + "designer_editable":false + }, + { + "name":"postgres.host", + "value":"10.165.160.148", + "description":"postgres config", + "sourced_at_deployment":false, + "policy_editable":false, + "designer_editable":false + }, + { + "name":"postgres.port", + "value":"5432", + "description":"postgres config", + "sourced_at_deployment":false, + "policy_editable":false, + "designer_editable":false + }, + { + "name":"sonhandler.optimizers", + "value":[ + "pci" + ], + "description":"son handler optimizers list", + "sourced_at_deployment":false, + "policy_editable":false, + "designer_editable":false + }, + { + "name":"sonhandler.buffertime", + "value":"60", + "description":"buffer time in seconds", + "sourced_at_deployment":false, + "policy_editable":false, + "designer_editable":false + }, + { + "name":"sonhandler.numsolutions", + "value":"10", + "description":"number of solutions", + "sourced_at_deployment":false, + "policy_editable":false, + "designer_editable":false + }, + { + "name":"sonhandler.maximumclusters", + "value":"5", + "description":"maximum number of clusters", + "sourced_at_deployment":false, + "policy_editable":false, + "designer_editable":false + }, + { + "name":"sonhandler.cg", + "value":"sonhms-cg", + "description":"son consumer group", + "sourced_at_deployment":false, + "policy_editable":false, + "designer_editable":false + }, + { + "name":"sonhandler.cid", + "value":"sonhms-cid", + "description":"son consumer Id", + "sourced_at_deployment":false, + "policy_editable":false, + "designer_editable":false + }, + { + "name":"sonhandler.dmaap.servers", + "value":["message-router:3904"], + "description":"dmaap server location", + "sourced_at_deployment":false, + "policy_editable":false, + "designer_editable":false + }, + { + "name":"sonhandler.pollingInterval", + "value":"20", + "description":"dmaap polling interval", + "sourced_at_deployment":false, + "policy_editable":false, + "designer_editable":false + }, + { + "name":"sonhandler.pollingTimeout", + "value":"60", + "description":"dmaap polling timeout", + "sourced_at_deployment":false, + "policy_editable":false, + "designer_editable":false + }, + { + "name":"sonhandler.minCollision", + "value":"5", + "description":"minimum collision count", + "sourced_at_deployment":false, + "policy_editable":false, + "designer_editable":false + }, + { + "name":"sonhandler.minConfusion", + "value":"5", + "description":"minimum confusion count", + "sourced_at_deployment":false, + "policy_editable":false, + "designer_editable":false + }, + { + "name":"sonhandler.configDb.service", + "value":"http://sdnc:8282", + "description":"configDb service url", + "sourced_at_deployment":false, + "policy_editable":false, + "designer_editable":false + }, + { + "name":"sonhandler.oof.service", + "value":"http://oof:8080", + "description":"oof service url", + "sourced_at_deployment":false, + "policy_editable":false, + "designer_editable":false + }, + { + "name":"sonhandler.sourceId", + "value":"SONHMS", + "description":"sonhms source ID", + "sourced_at_deployment":false, + "policy_editable":false, + "designer_editable":false + }, + { + "name":"sonhandler.callbackUrl", + "value":"http://sonhms.onap:8080/callbackUrl", + "description":"sonhms callback url", + "sourced_at_deployment":false, + "policy_editable":false, + "designer_editable":false + } + ], + "auxilary":{ + "healthcheck":{ + "type":"http", + "interval":"15s", + "timeout":"1s", + "endpoint":"/healthckeck" + }, + "volumes":[ + { + "container":{ + "bind":"/etc/localtime" + }, + "host":{ + "path":"/etc/localtime" + } + }, + { + "container":{ + "bind":"/var/log/onap" + }, + "host":{ + "path":"/dockerdata-nfs/pci-handler/logs" + } + } + ], + "ports":[ + "8080:8080" + ] + }, + "artifacts":[ + { + "type":"docker image", + "uri":"k8s-rancher-1:5000/son-handler:1.0.1" + } + ] +} -- cgit 1.2.3-korg