summaryrefslogtreecommitdiffstats
path: root/dpo
diff options
context:
space:
mode:
authorReshmasree <reshmasree.chamarthi2@wipro.com>2019-03-21 18:54:53 +0530
committerReshmasree <reshmasree.chamarthi2@wipro.com>2019-03-27 20:22:53 +0530
commitab400d51a639a01f31a60ac9d1e127d4d4d28b24 (patch)
treefd7ee3eb66c976bba4e4027e993eeb95666b98e8 /dpo
parent3cd4023832810e8b65f85a9db807c8bafec38d82 (diff)
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 <reshmasree.chamarthi2@wipro.com>
Diffstat (limited to 'dpo')
-rw-r--r--dpo/blueprints/k8s-sonhms-inputs.yaml54
-rw-r--r--dpo/blueprints/k8s-sonhms.yaml225
-rw-r--r--dpo/data-formats/cellListFromSdnr-dataformat.json18
-rw-r--r--dpo/data-formats/configdb-req-dataformat.json12
-rw-r--r--dpo/data-formats/dmaap_son.json45
-rw-r--r--dpo/data-formats/nbrListFromSdnr-dataformat.json33
-rw-r--r--dpo/data-formats/oofToSonAsyncResp-dataformat.json91
-rw-r--r--dpo/data-formats/oofToSonSyncResp-dataformat.json38
-rw-r--r--dpo/data-formats/pciFromSdnr-dataformat.json29
-rw-r--r--dpo/data-formats/pnfNameFromSdnr-dataformat.json29
-rw-r--r--dpo/data-formats/policyToSonReq-dataformat.json23
-rw-r--r--dpo/data-formats/policyToSonResp-dataformat.json64
-rw-r--r--dpo/data-formats/sonInputFromSdnr-dataformat.json212
-rw-r--r--dpo/data-formats/sonToOofReq-dataformat.json97
-rw-r--r--dpo/data-formats/sonToPolicyDmaap-dataformat.json87
-rw-r--r--dpo/data-formats/sonToPolicyReq-dataformat.json24
-rw-r--r--dpo/spec/sonhandler-componentspec.json297
17 files changed, 1378 insertions, 0 deletions
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"
+ }
+ ]
+}