You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 8 Next »

(warning) Work in progress

Goal

  • Migrate PNF PNP workflow to Building Blocks (BBs).
  • Include newly created BBs in Service-Macro-Create flow.

By PNF PNP workflow we understand 2 BPMNs:

  • CreateAndActivatePnfResource
  • ConfigurePnfResource

Both included in CreateVcpeResCustService_simplified BPMN

Proposed building blocks

PNF PnP as Building Blocks

AssignPnfBB

  • Responsibility:
    • Creates PNF entry in AAI
    • Makes a link in AAI between Service entry and PNF entry
  • Currently implemented in CreateAndActivatePnfResource.bpmn
  • Things to consider:
    • In current implementation connecting PNF entry in AAI with service entry is done at the end of CreateAndActivatePnfResource (after the "PNF ready" event is received)

WaitForPnfReadyBB

  • Responsibility:
    • Waits for "PNF ready" event sent from PRH to DMaaP
  • Currently implemented in CreateAndActivatePnfResource.bpmn
  • Things to consider:
    • BBS-related parameters stored in AAI?
    • Make new BBs generic enough (i.e. wait for an event sent to DMaaP) that they could be reused in other flows (request from Seshu)

ConfigAssignPnfBB

  • Responsibility:
    • Runs config assign via CDS
  • Currently implemented in ConfigurePnfResource.bpmn
  • Things to consider:

ConfigDeployPnfBB

  • Responsibility:
    • Runs config deploy via CDS
  • Currently implemented in ConfigurePnfResource.bpmn
  • Things to consider:

ActivatePnfBB

  • Responsibility:
    • Sets PNF orchestration status in AAI as Active

Proposed sequence in Service-Macro-Create flow

  1. AssignServiceInstanceBB
  2. CreateNetworkCollectionBB
  3. AssignNetworkBB
  4. AssignVnfBB
  5. AssignVolumeGroupBB
  6. AssignVfModuleBB
  7. ConfigAssignVnfBB
  8. AssignPnfBB
  9. WaitForPnfReadyBB
  10. ActivatePnfBB
  11. CreateNetworkBB
  12. ActivateNetworkBB
  13. CreateVolumeGroupBB
  14. ActivateVolumeGroupBB
  15. CreateVfModuleBB
  16. ActivateVfModuleBB
  17. ConfigDeployVnfBB
  18. ActivateVnfBB
  19. ActivateNetworkCollectionBB
  20. ActivateServiceInstanceBB

What about config assign and config deploy?

SO framework - 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:

{
    "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"
                                    },
                                    "cloudConfiguration":{
                                        "lcpCloudRegionId":"RegionOne",
                                        "tenantId":"982c540f6e69488eb6be5664255e00c0",
                                        "cloudOwner":"CloudOwner"
                                    },
                                    "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 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

VID - required changes

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
    • (warning) 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?
    • Where to put new BBs in the flow sequence?
    • Service decomposition in WorkflowActionBB may not unserstand PNFs (Retrieve BB Execution List)
    • Service decompositioon should handle SkipPostInstantiationConfiguration
  • PNF orchestration status changes in AAI - which states should be assigned in which steps of the workflow
    • Should we have ActivatePnfBB? 
  • 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://wiki.onap.org/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?


  • No labels