Background:
In Kohn Version, we focus on the implemetation of provision intent and assurance intent.
Provision intent: Create a cloud leased line A (CLL).
Assurance intent: Add / Remove bandwidth adjustment assurance for clound leased line A.
What does an assurance intent do?
Let's say, Company A ordered a cloud leased line (CLL) , it's a 1G cloud leased line between point A and point B.
However, the bandwidth usage of this cll usually burst around 30% from 7pm to 8 pm everyday. In other time during the day, the bandwidth usage is normal.
So we provide users another choice, that they can order an extra service for CLL.
If the real time bandwidth usage exceeds the bandwidth they ordered, then we increase the maximum bandwidth allocated to this cll temporally. When the real time bandwidth usage decrease to normal, then we decrease the maximum bandwidth allocated to the cll.
This service can be turn on or off. This is a typical assurance intent.
How to apply?
Deploy:
- Required to deploy the ONAP through default OOM.
- DCAE, the default deployment settings needs to be changed. Some contianers are required to be deployed.
Go to /oom/kubernetes/dcaegen2-services/values.yaml , set dcae-slice-analysis-ms deploy status to true
eg:
dcae-slice-analysis-ms:
enabled: true
- Dmaap, create the following topic in dmaap:
curl --header "Content-type: application/json" --request POST --data '{"topicName": "DCAE_CL_RSP"}' http://<DMAAP_IP>:3904/events/DCAE_CL_RSP
curl --header "Content-type: application/json" --request POST --data '{"topicName": "unauthenticated.SEC_FAULT_OUTPUT"}' http://<DMAAP_IP>:3904/events/unauthenticated.SEC_FAULT_OUTPUT
curl --header "Content-type: application/json" --request POST --data '{"topicName": "unauthenticated.VES_MEASUREMENT_OUTPUT"}' http://<DMAAP_IP>:3904/events/unauthenticated.VES_MEASUREMENT_OUTPUT
curl --header "Content-type: application/json" --request POST --data '{"topicName": "unauthenticated.DCAE_CL_OUTPUT"}' http://<DMAAP_IP>:3904/events/unauthenticated.DCAE_CL_OUTPUT
curl --header "Content-type: application/json" --request POST --data '{"topicName": "PCI-NOTIF-TOPIC-NGHBR-LIST-CHANGE-INFO"}' http://<DMAAP_IP>:3904/events/PCI-NOTIF-TOPIC-NGHBR-LIST-CHANGE-INFO
curl --header "Content-type: application/json" --request POST --data '{"topicName": "unauthenticated.PERFORMANCE_MEASUREMENTS"}' http://<DMAAP_IP>:3904/events/unauthenticated.PERFORMANCE_MEASUREMENTS
curl --header "Content-type: application/json" --request POST --data '{"topicName": "unauthenticated.ML_RESPONSE_TOPIC"}' http://<DMAAP_IP>:3904/events/unauthenticated.ML_RESPONSE_TOPIC
curl --header "Content-type: application/json" --request POST --data '{"topicName": "unauthenticated.VES_NOTIFICATION_OUTPUT"}' http://<DMAAP_IP>:3904/events/unauthenticated.VES_NOTIFICATION_OUTPUT
- Policy, follow the following steps to create and deploy policies:
Change the default policy drool pdp engine status to Active:
Create policy:
curl -k --silent -w %{http_code} --user 'policyadmin:zb!XztG34' -X POST "https://{policy-api}:6969/policy/api/v1/policytypes/onap.policies.controlloop.operational.common.Drools/versions/1.0.0/policies" -H "Accept:application/json" -H "Content-Type:application/json" -d @modifycll.json
Deploy policy:
curl --silent -k -w %{http_code} --user 'policyadmin:zb!XztG34' -X POST "https://{policy-pap}:6969/policy/pap/v1/pdps/policies" -H "Accept:application/json" -H "Content-Type:application/json" -d @push_modifycll.json
Main components:
AAI, DCAE, Dmaap, Policy, SDNC, SO, UUI
Sequence Diagram: