SON-Handler (PCI Usecase)

Overview

SON-Handler application acts upon reception of  two types of events (Measurement and Fault events) and Neighbor list change notification from SDNR.

Fault events are sent whenever collisions/confusions found by the Ran-simulator due to pci changes and at the same time SDNR notification is also sent whenever there is change in pci value.Measurement events are periodically sent from Ran-simulator which gives the KPI information.

SON-Handler processes the events and calls OOF for global optimization. Then it determines the actions based on OOF response and writes to unauthenticated.DCAE_CL_OUTPUT for policy to take necessary actions. 

Blueprint/model/image

Βlueprint component file can be found in

https://gerrit.onap.org/r/gitweb?p=dcaegen2/services/son-handler.git;a=blob;f=dpo/blueprints/k8s-sonhms.yaml;h=d77f0fc01888fc42ea84712ee8d0a95c5fb36fdf;hb=refs/heads/master

Blueprint inputs file can be found in

https://gerrit.onap.org/r/gitweb?p=dcaegen2/services/son-handler.git;a=blob;f=dpo/blueprints/k8s-sonhms-inputs.yaml;h=e417c01a7c0c1fc738cd154e3e3b5f9abbedf584;hb=refs/heads/master

Docker image metadata for component can be found in

https://nexus3.onap.org/repository/docker.snapshot/v2/onap/org.onap.dcaegen2.services.son-handler/manifests/1.0.0

Deployment Prerequisite/dependencies

SON-Handler service requires DMAAP and Policy components to be functional.

SON-hadler service requires  the following dmaap topics to be present in the running DMAAP instance :

1.PCI-NOTIF-TOPIC-NGHBR-LIST-CHANGE-INFO

2.unauthenticated.SEC_FAULT_OUTPUT

3.unauthenticated.SEC_MEASUREMENT_OUTPUT

4.DCAE_CL_RSP

Policy model required for SON-handler service should be created and pushed to policy component.

Steps for creating and pushing the policy model:

1.Login to PDP container

Login to PDP container
kubectl exec -ti --namespace onap policy-pdp-0 bash

2.Create policy model

Policy Creation
curl -k -v --user 'healthcheck:zb!XztG34' -X POST -H 'Content-Type:application/json' -H 'Accept:application/json' -d @policy_type.json https://policy-api:6969/policy/api/v1/policytypes curl -v -k --silent --user 'healthcheck:zb!XztG34' -X POST "https://policy-api:6969/policy/api/v1/policytypes/onap.policies.monitoring.docker.sonhandler.app/versions/1.0.0/policies" -H "Accept: application/json" -H "Content-Type: application/json" -d @son_policy.json

3.Push policy model

Push Policy
curl --silent -k --user 'healthcheck:zb!XztG34' -X POST "https://policy-pap:6969/policy/pap/v1/pdps/policies" -H "Accept: application/json" -H "Content-Type: application/json" -d @push.json

4.Verify config policy is present

Fetch policy

ConfigDB set-up:

The steps to set up configDB can be found in the attachment below.

Deployment Steps

  • Copy sonhms-blueprint and inputs file to /blueprints directory in DCAE bootstrap POD

  • Log-in to the DCAE bootstrap POD's main container

  • validate and deploy component

    Deploy component



  • undeploy

    Undeploy component





  • delete blueprint

    Delete blueprint



Validation

The status of service can be checked after the deployment using command "kubectl get pods --namespace onap |grep son"

Verify

Logs can be checked for dmaap connectivity

Logs



Functional Tests

Following are the functional tests based on three input events - FM data, PM data and Neighbor-list-change

1.FM data

 



To post the above message to DMAAP topic :

Post FM event

Logs which shows the fault event being handled by MS

Logs

To check the output message that has been posted to DCAE_CL_OUTPUT:

Get DCAE_CL_OUTPUT

Output message from DCAE_CL_OUTPUT:

Response message



2.PM data

To post the above message to DMAAP topic :

Post PM event

Logs which shows the performance event being handled by MS

Logs

To check the output message that has been posted to DCAE_CL_OUTPUT:

Get DCAE_CL_OUTPUT

Output message from DCAE_CL_OUTPUT:

Response message



3.Neighbor-list change notification

To post the above message to DMAAP topic :

Post sdnr-notification

Logs which shows the sdnr notification being handled by MS

Logs

To check the output message that has been posted to DCAE_CL_OUTPUT:

Get DCAE_CL_OUTPUT

Output message from DCAE_CL_OUTPUT:

Response message