Work in progress
Goal
- Migrate PNF PNP workflow to Building Blocks (BBs/GR_API).
- Include newly created BBs in Service-Macro-Create flow.
- Leave legacy implementation using VNF_API intact.
By PNF PNP workflow we understand 2 BPMNs:
- CreateAndActivatePnfResource
Image Added - ConfigurePnfResource
Image Added
Both included in CreateVcpeResCustService_simplified BPMN
Image Added
JIRA
Jira Legacy |
---|
server | System Jira |
---|
serverId | 4733707d-2057-3a0f-ae5e-4fd8aff50176 |
---|
key | SO-2556 |
---|
|
Jira Legacy |
---|
server | System Jira |
---|
columns | key,summary,type,created,updated,due,assignee,reporter,priority,status,resolution |
---|
serverId | 4733707d-2057-3a0f-ae5e-4fd8aff50176 |
---|
key | SO-2785 |
---|
|
Jira Legacy |
---|
server | System Jira |
---|
columns | key,summary,type,created,updated,due,assignee,reporter,priority,status,resolution |
---|
serverId | 4733707d-2057-3a0f-ae5e-4fd8aff50176 |
---|
key | VID-693 |
---|
|
Involved parties
- Lukasz Grech, Damian Nowak - PNF PNP workflow migration to BBs
- Oskar Malm - ConfigurePnfResource.bpmn (previous, non-BB implementation)
- Henry Xie - SO-CDS integration, new API for calling CDS from SO
- Yuriy Malakov - CDS, SO-CDS integration
- Rahul Tyagi - PNF SW upgrade, SO-CDS integration
Proposed building blocks
Gliffy |
---|
name | PNF PnP as Building Blocks |
---|
pagePin | 3 |
---|
|
AssignPnfBB
- Responsibility:
- Creates PNF entry in AAI (with PNF name chosen by user)
- Additionally stores PNF model-related parameters in AAI (
Jira Legacy |
---|
server | System Jira |
---|
columns | key,summary,type,created,updated,due,assignee,reporter,priority,status,resolution |
---|
serverId | 4733707d-2057-3a0f-ae5e-4fd8aff50176 |
---|
key | SO-2640 |
---|
|
):- model-customization-id
- model-invariant-id
- model-version-id
- Makes a link in AAI between Service entry and PNF entry
- Sets PNF orchestration status in AAI to Assigned
- Currently implemented in CreateAndActivatePnfResource.bpmn
WaitForPnfReadyBB
- Responsibility:
- Waits for "PNF ready" event sent from PRH to DMaaP
- pnfCorrelationId from the event must match PNF instance name provided by the user during service instantiation
- Sets PNF orchestration status in AAI to:
- Register - when starting to wait for PNF ready event
- Registered - when PNF ready event is successfully received
- Currently implemented in CreateAndActivatePnfResource.bpmn
Support for config assign (ControllerExecutionBB, action: configAssign)
Jira Legacy |
---|
server | System Jira |
---|
columns | key,summary,type,created,updated,due,assignee,reporter,priority,status,resolution |
---|
serverId | 4733707d-2057-3a0f-ae5e-4fd8aff50176 |
---|
key | SO-2646 |
---|
|
- Responsibility:
- Runs config assign via CDS
- Currently implemented in ConfigurePnfResource.bpmn
- We will reuse generic BPMN for calling CDS (ControllerExecutionBB)
- Things to consider:
- SkipPostInstantiationConfiguration should be taken into account
Support for config deploy (ControllerExecutionBB, action: configDeploy)
Jira Legacy |
---|
server | System Jira |
---|
columns | key,summary,type,created,updated,due,assignee,reporter,priority,status,resolution |
---|
serverId | 4733707d-2057-3a0f-ae5e-4fd8aff50176 |
---|
key | SO-2647 |
---|
|
- Responsibility:
- Runs config deploy via CDS
- Currently implemented in ConfigurePnfResource.bpmn
- We will reuse generic BPMN for calling CDS (ControllerExecutionBB)
- Things to consider:
- SkipPostInstantiationConfiguration should be taken into account
ActivatePnfBB
- Responsibility:
- Sets PNF orchestration status in AAI as Active
Sequence in Service-Macro-Create flow
- AssignServiceInstanceBB
- CreateNetworkCollectionBB
- AssignNetworkBB
- AssignVnfBB
- AssignVolumeGroupBB
- AssignVfModuleBB
- AssignPnfBB
- WaitForPnfReadyBB
- ControllerExecutionBB (action: configAssign, scope: pnf)
- ControllerExecutionBB (action: configDeploy, scope: pnf)
- ActivatePnfBB
- ConfigAssignVnfBB
- CreateNetworkBB
- ActivateNetworkBB
- CreateVolumeGroupBB
- ActivateVolumeGroupBB
- CreateVfModuleBB
- ActivateVfModuleBB
- ConfigDeployVnfBB
- ActivateVnfBB
- ActivateNetworkCollectionBB
- ActivateServiceInstanceBB
SO - required changes
API handler
GR API
SO API currently doesn't allow to send PNF information in user data section.
Here's the proposed request which includes PNFs:
Expand |
---|
Code Block |
---|
{
"requestDetails":{
"modelInfo":{
"modelInvariantId":service_model_invariant_uuid,
"modelVersionId":service_model_uuid,
"modelName":service_model_name,
"modelType":"service",
"modelVersion":"1.0"
},
"owningEntity":{
"owningEntityId":"3fa3e96c-dd51-4c77-818d-f130b613f1f8",
"owningEntityName":"OE-Demonstration"
},
"subscriberInfo":{
"globalSubscriberId":"Demonstration"
},
"requestInfo":{
"instanceName":service_instance_name,
"productFamilyId":"ff9262e1-5e31-48dc-aa71-e3f0a7ba1b8c",
"source":"VID",
"suppressRollback": False,
"requestorId":"demo"
},
"requestParameters":{
"subscriptionServiceType":"vFW",
"aLaCarte": False,
"userParams":[
{
"service":{
"modelInfo":{
"modelVersionId":service_model_uuid,
"modelName":service_model_name,
"modelType":"service"
},
"instanceName":service_instance_name,
"instanceParams":[],
"resources":{
"pnfs":[
{
"modelInfo":{
"modelCustomizationName":nf_resource_name,
"modelCustomizationId":nf_resource_uuid,
"modelInvariantId":nf_model_invariant_uuid,
"modelVersionId":nf_model_uuid,
"modelName":nf_model_name,
"modelType":"pnf",
"modelVersion":"1.0"
},
"platform":{
"platformName":"Platform-Demonstration"
},
"lineOfBusiness":{
"lineOfBusinessName":"LOB-Demonstration"
},
"productFamilyId":"ff9262e1-5e31-48dc-aa71-e3f0a7ba1b8c",
"instanceParams":[],
"instanceName":nf_instance_name
}
]
}
}
},
{
"Homing_Solution":"none"
}
]
}
}
} |
|
Building Block framework
Service decomposition (Retrieve BB Execution List)
- PNFs should be recognized in service model and proper BBs should be assigned for execution.
GeneralBuildingBlock initialization (BB Input Setup)
- PNF resources should be properly initialized in GeneralBuildingBlock→ServiceInstance
Generic controller BB working with PNFs
- Update will be needed for BBInputSetup and WorkflowAction to support BBs which do not contain PNF in its name. Similarly as it was done for VNFs:
PNF PNP workflow integration with CDS
Gliffy |
---|
macroId | 670810bb-3ef5-466b-9dfe-77084b450687 |
---|
name | PNF PNP workflow integration with CDS |
---|
pagePin | 14 |
---|
|
VID - required changes
Jira Legacy |
---|
server | System Jira |
---|
columns | key,summary,type,created,updated,due,assignee,reporter,priority,status,resolution |
---|
serverId | 4733707d-2057-3a0f-ae5e-4fd8aff50176 |
---|
key | VID-693 |
---|
|
Updates for service macro instantiation:
- "unlock" modern UI when for PNFs
- allow to assign PNF instance name (will be used instead of pnfCorrelationId)
- ensure that proper request is sent to SO
Other considerations
- Are all required PNF parameters included in GeneralBuildingBlock->ServiceInstance→Pnf?
- Currently those are:
- pnf-id
- pnf-name
- role
- orchestration-status
- cloud-region
- Currently AAI schema (aai_schema_v19.xsd) for PNF contains:
- Fields: pnf-name, pnf-name2, selflink, pnf-name2-source, pnf-id, equip-type, equip-vendor, equip-model, management-option, orchestration-status, ipaddress-v4-oam, sw-version, in-maint, frame-id, serial-number, ipaddress-v4-loopback-0, ipaddress-v6-loopback-0, ipaddress-v4-aim, ipaddress-v6-aim, ipaddress-v6-oam, inv-status, resource-version, prov-status, nf-role, admin-status, operational-status, model-customization-id, model-invariant-id, model-version-id (from SO cataloge), pnf-ipv4-address, pnf-ipv6-address
- Sub-structures: software-versions, relationship-list, p-interfaces, lag-interfaces, vrfs
- BBInputSetup implementation does not mention PNF at all - is it even initialized in GeneralBuildingBlock?
- PNF ip is resolved by CDS by PNF ID (it should be in AAI) - it's populated by PRH
- How to include new BBs in Service-Macro-Create flow?
- Service decomposition in WorkflowActionBB may not unserstand PNFs (Retrieve BB Execution List)
- Service decomposition should handle SkipPostInstantiationConfiguration
- PNF orchestration status changes in AAI - which states should be assigned in which steps of the workflow
- PNF SW upgrade (Oskar Malm)
- PNF should be active - PNP is finished
- new Upgrade flow will be created (BBs vs traditional considered)
- 5G NRM Configuration - plan for new BB which invokes configuration via CDS of NRM resource(?) (Yaoguang Wang, see https://lf-onap.atlassian.net/wiki/display/DW/SO+Weekly+Meeting+2019-12-4)
- Make new BBs generic enough that they could be reused in other flows (request from Seshu)
- Service-Macro-Delete
- Should we delete PNF resource from AAI on service deletion?
- We plan to leave it. What orchestration status should it get? Inactive?