Image Added
Basic steps (Nomadic_ONT):
1) BBS policy triggered by DMaaP message from BBS uS: topicName=unauthenticated.DCAE_CL_OUTPUT, policyName=Nomadic_ONT, policyScope=reRegPolicyScope
Code Block |
---|
language | js |
---|
theme | Midnight |
---|
title | unauthenticated.DCAE_CL_OUPUT Nomadic_ONT |
---|
linenumbers | true |
---|
collapse | true |
---|
|
[
|
...
"{
\"closedLoopEventClient\":\"DCAE.BBS_event_processor_mSInstance\",
\"policyVersion\":\"1.0.0.5\",
\"policyName\":\"Nomadic_ONT\",
\"policyScope\":\"reRegPolicyScope\",
\"target_type\":\"VM\",
\"AAI\":{
\"attachmentPoint\":\"olt11-1-1\",
\"service-information.hsia-cfs-service-instance-id\":\"1923eaa8-8ab7-49ef-b4c2-e185efbbe832\",
\"cvlan\":\"1005\",
\"svlan\":\"100\",
\"remoteId\":\"some-remote-id\"
},
\"closedLoopAlarmStart\":1553067455,
\"closedLoopEventStatus\":\"ONSET\",
\"closedLoopControlName\":\"reRegControlName\",
\"version\":\"1.0.2\",
\"target\":\"vserver.vserver-name\",
\"requestID\":\"407a6515-4b10-46ad-a249-efe529a36c69\",
\"from\":\"DCAE\"
}"
] |
2) BBS Policy updates orchestration status of service instance [ active --> assigned ]
...
From DMaaP message:
- attachmentPoint=olt11-1-1
- service-information.hsia-cfs-service-instance-id={{bbs-cfs-service-instance-UUID}}
- cvlan=1005
- svlan=100
- remote-id={{remote-id}}
2) BBS Policy updates orchestration status of {{bbs-cfs-service-instance-UUID}} [ active --> assigned ]
...
theme | Midnight |
---|
title | GET service instance |
---|
linenumbers | true |
---|
collapse | true |
---|
|
curl -X GET \
https://172.30.0.67:30233/aai/v14/business/customers/customer/ |
...
...
customer-UUID}}/service-subscriptions/service-subscription/ |
...
{{bbs-cfs-service-type}}/service-instances/service-instance/ |
...
...
...
...
...
UUID}} \
-H 'Accept: application/json' \
-H 'Authorization: Basic QUFJOkFBSQ==' \
-H 'Content-Type: application/json' \
-H 'Postman-Token: 9de15944-f781-42fa-87e8-20e4c68ad10d' \
-H 'X-FromAppId: Postman Application' \
-H 'X-TransactionId: Postman REST Transaction' \
-H 'cache-control: no-cache'
Response:
{
"service-instance-id": "0696d471-9e10-445e-94ca-3b1c5c36701d",
"resource-version": "1553592695895",
"orchestration-status": "active",
"relationship-list": {
"relationship": [
{
"related-to": "service-instance",
"relationship-label": "org.onap.relationships.inventory.ComposedOf",
"related-link": "/aai/v14/business/customers/customer/56ab76fa-6f15-442f-a2c1-4fa5f4b39447/service-subscriptions/service-subscription/BBS-CFS-Access_Test/service-instances/service-instance/e23ba25e-47fb-4748-bb53-2ec31fe49a74",
"relationship-data": [
{
"relationship-key": "customer.global-customer-id",
"relationship-value": "56ab76fa-6f15-442f-a2c1-4fa5f4b39447"
},
{
"relationship-key": "service-subscription.service-type",
"relationship-value": "BBS-CFS-Access_Test"
},
{
"relationship-key": "service-instance.service-instance-id",
"relationship-value": "e23ba25e-47fb-4748-bb53-2ec31fe49a74"
}
],
"related-to-property": [
{
"property-key": "service-instance.service-instance-name"
}
]
}
]
}
} |
Code Block |
---|
language | bash |
---|
theme | Midnight |
---|
title | PUT orchestration-status |
---|
linenumbers | true |
---|
collapse | true |
---|
|
curl -X PUT \
'https://172.30.0.67:30233/aai/v14/business/customers/customer/56ab76fa{{business-6f15-442f-a2c1-4fa5f4b39447customer-UUID}}/service-subscriptions/service-subscription/BBS-CFS_Test/service-instances/service-instance/0696d471-9e10-445e-94ca-3b1c5c36701d{{bbs-cfs-service-type}}/service-instances/service-instance/{{bbs-cfs-service-instance-UUID}}?resource-version=1553592695895' \
-H 'Accept: application/json' \
-H 'Authorization: Basic QUFJOkFBSQ==' \
-H 'Content-Type: application/json' \
-H 'Postman-Token: 00fbdcf8-e4d3-467f-a63a-d666a78b3cd6' \
-H 'X-FromAppId: Postman Application' \
-H 'X-TransactionId: Postman REST Transaction' \
-H 'cache-control: no-cache' \
-d '{
"service-instance-id": "0696d471-9e10-445e-94ca-3b1c5c36701d",
"resource-version": "1553592695895",
"orchestration-status": "assigned",
"relationship-list": {
"relationship": [
{
"related-to": "service-instance",
"relationship-label": "org.onap.relationships.inventory.ComposedOf",
"related-link": "/aai/v14/business/customers/customer/56ab76fa-6f15-442f-a2c1-4fa5f4b39447/service-subscriptions/service-subscription/BBS-CFS-Access_Test/service-instances/service-instance/e23ba25e-47fb-4748-bb53-2ec31fe49a74",
"relationship-data": [
{
"relationship-key": "customer.global-customer-id",
"relationship-value": "56ab76fa-6f15-442f-a2c1-4fa5f4b39447"
},
{
"relationship-key": "service-subscription.service-type",
"relationship-value": "BBS-CFS-Access_Test"
},
{
"relationship-key": "service-instance.service-instance-id",
"relationship-value": "e23ba25e-47fb-4748-bb53-2ec31fe49a74"
}
],
"related-to-property": [
{
"property-key": "service-instance.service-instance-name"
}
]
}
]
}
}' |
3) BBS Policy fetches from AAI {{bbs-cfs-service-instance-UUID}} relationship-list, including: CPE PNF ID, AccessConnectivity VF ID, InternetProfile VF ID
Code Block |
---|
language | bash |
---|
theme | Midnight |
---|
title | GET HSIA Service Instance relationship-list |
---|
linenumbers | true |
---|
collapse | true |
---|
|
curl -X GET \
'https://aai.api.simpledemo.openecomp.org:30233/aai/v11/business/customers/customer/{{business-customer-UUID}}/service-subscriptions/service-subscription/{{bbs-cfs-service-type}}/service-instances/service-instance/{{bbs-cfs-service-instance-UUID}}?depth=all' \
-H 'Accept: application/json' \
-H 'Authorization: Basic TW9kZWxMb2FkZXI6TW9kZWxMb2FkZXI=' \
-H 'Content-Type: application/json' \
-H 'Postman-Token: f799a782-ce93-4179-8739-71174aeb1028' \
-H 'X-FromAppId: AAI' \
-H 'X-TransactionId: jimmy-postman' \
-H 'cache-control: no-cache'
Response:
{
"service-instance-id": "535ee766-09ea-4815-a186-a316c393e849",
"resource-version": "1553614797867",
"orchestration-status": "assigned",
"relationship-list": {
"relationship": [
{
"related-to": "pnf",
"relationship-label": "org.onap.relationships.inventory.ComposedOf",
"related-link": "/aai/v14/network/pnfs/pnf/pnf",
"relationship-data": [
{
"relationship-key": "pnf.pnf-name",
"relationship-value": "pnf"
}
]
}
]
},
"metadata": {
"metadatum": [
{
"metaname": "cvlan",
"metaval": "1005",
"resource-version": "1553614797883"
},
{
"metaname": "svlan",
"metaval": "100",
"resource-version": "1553614797909"
}
]
}
} |
4) BBS Policy calls SDN-C GR-API to delete AccessConnectivity VF ID
Code Block |
---|
language | bash |
---|
theme | Midnight |
---|
title | SDNC GR-API DeleteAccessConnectivityInstance |
---|
linenumbers | true |
---|
collapse | true |
---|
|
|
5) BBS Policy calls SDN-C GR-API to create new AccessConnectivity VF [Needs to find out which Access SDN M&C to use, how?]
Code Block |
---|
language | bash |
---|
theme | Midnight |
---|
title | SDNC GR-API CreateAccessConnectivityInstance |
---|
linenumbers | true |
---|
collapse | true |
---|
|
|
6) BBS Policy calls SDN-C GR-API to update InternetProfile VF
Code Block |
---|
language | bash |
---|
theme | Midnight |
---|
title | SDNC GR-API ChangeInternetProfileInstance |
---|
linenumbers | true |
---|
collapse | true |
---|
|
|
7) BBS Policy updates {{bbs-cfs-service-instance-UUID}} orchestration-status [ assigned --> created ]
Code Block |
---|
language | bash |
---|
theme | Midnight |
---|
title | PUT orchestration status |
---|
linenumbers | true |
---|
collapse | true |
---|
|
|
Basic steps (CPE Authentication):
8) BBS policy triggered by DMaaP message from BBS uS: topicName=unauthenticated.DCAE_CL_OUTPUT, policyName=CPE_Authentication, policyScope=policyScopeCpeAuth
Code Block |
---|
language | js |
---|
theme | Midnight |
---|
title | unauthenticated.DCAE_CL_OUPUT CPE_Authentication |
---|
linenumbers | true |
---|
collapse | true |
---|
|
[
"{\"closedLoopEventClient\":\"DCAE.BBS_event_processor_mSInstance\",\"policyVersion\":\"1.0.0.5\",\"policyName\":\"CPE_Authentication\",\"policyScope\":\"policyScopeCpeAuth\",\"target_type\":\"VM\",\"AAI\":{\"cpe.old-authentication-state\":\"outOfService\",\"cpe.new-authentication-state\":\"inService\",\"cpe.swVersion\":\"1.2.3\",\"service-information.hsia-cfs-service-instance-id\":\"1923eaa8-8ab7-49ef-b4c2-e185efbbe832\"},\"closedLoopAlarmStart\":1552997462,\"closedLoopEventStatus\":\"ONSET\",\"closedLoopControlName\":\"clControlNameCpeAuth\",\"version\":\"1.0.2\",\"target\":\"vserver.vserver-name\",\"requestID\":\"d76541f3-7f55-4c80-b0a0-ec5dee2a56cb\",\"from\":\"DCAE\"}"
] |
9) If swVersion is present in the VES message's Additional information "swVersion", the BBS policy updates the PNF instances swVersion field. [not needed for demo]
10) The BBS policy changes the CFS service instance's orchestration status [ created --> active ]
- newState: InService → orchestration status: Active
- newState: OutofService → orchestration status: Inactive (assigned)
Code Block |
---|
language | bash |
---|
theme | Midnight |
---|
title | PUT orchestration status |
---|
linenumbers | true |
---|
collapse | true |
---|
|
|
Deploying the BBS Policy in APEX
At the moment, the BBS policy is included as an example under APEX in the Policy Framework. This means that every time the policy is changed, if the example deployment packed in APEX is used, there is a need to re-release the APEX image to pick up the use case changes. For example, some last minute changes have been raised in the JIRA below:
Image AddedPOLICY-1831 - BBS Apex Policy vendor --> manufacturer Submitted
Now that the new Policy Framework architecture is released, the BBS policy can be deployed using the new Policy architecture, see The ONAP Policy Framework and TO BE DELETED - refer to Dublin Documentation. Rather than having to update the APEX image every time the BBS policy changes, we should use the ONAP Policy Framework infrastructure to deploy the policy.
Pamela Dragosh David Perez Caparrosuser-f79d0 Let's discuss this.