ETSI Standard Conformation
This proposal conforms to the following ETSI v2.7.1 specifications.
- SOL005:Â https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/02.07.01_60/gs_NFV-SOL005v020701p.pdf
- SOL003:Â https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/02.07.01_60/gs_NFV-SOL003v020701p.pdf
- SOL002:Â https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/02.07.01_60/gs_NFV-SOL002v020701p.pdf
- SOL004:Â https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/004/02.07.01_60/gs_NFV-SOL004v020701p.pdf
- SOL007:Â https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/007/02.07.01_60/gs_NFV-SOL007v020701p.pdf
- SOL001:Â https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/001/02.07.01_60/gs_NFV-SOL001v020701p.pdf
ONAP SO Hierarchical Orchestration Architecture
Requirements
Support for ETSI NFV NFVOÂ Orchestrator in ONAP SO (ONAP SO ETSI-Aligned Hierarchical Orchestration)
Executive Summary - Enable E2E workflows by orchestrating ETSI NFV compliant Network Services and VNFs. This NFVO should provide an ETSI NFV SOL005 v2.7.1 NBI which can onboard ETSI NFV SOL004 and ETSI NFV SOL007 v2.7.1 compliant packages which then can be Life Cycle Managed and monitored. This NFVO should use an ETSI SOL003 v2.7.1 SBI to invoke an external VNF Manager.Â
Business Impact - Enables operators and service providers to use Industry standard Orchestration to deploy, manage and monitor network services. Industry compatibility.
Business Markets - All operators and service providers that are developing ETSI compatible Network Services especially for 5G Slicing where each Slice Subnet is associated with a Network ServiceÂ
Funding/Financial Impacts - Reduction in operations expense from using industry standard ETSI Orchestration.
Organization Mgmt, Sales Strategies -There is no additional organizational management or sales strategies for this requirement outside of a service providers "normal" ONAP deployment and its attendant organizational resources from a service provider.Â
Requirements For Guilin
P1: Phase 1 (for Guilin)
P2: Phase 2 (post Guilin)
P3: Phase 3 (future release)
ONAP SO NFVO Requirements
ONAP SO NFVO is a sub-component of SO and provides ETSI NFV-compliant NFVO functions in ONAP, such as ETSI NFVO MANO 1) SOL007, SOL004 and SOL001 Modeling and Package, 2) SOL005-compliant NBI, 3) SOL005-compliant NS LCM and 4) SOL003-compliant SBI.
- NFVO-R1: Supports the SOL005-compliant lifecycle management (LCM) of Network Service (NS) - NS LCM (P1)
- Create NS
- Instantiate NS
- Terminate NS
- Delete NSÂ
- Subscription
- NFVO-R2: Exposes NS lifecycle management (LCM) interfaces (Os-Ma-Nfvo) to its client such as ONAP SO or SOL005-compliant clients - SOL005 NBI (P1)
- Create NS
- Instantiate NS
- Terminate NS
- Delete NS
- Subscription
- NFVO-R3: Sends NS lifecycle management notifications (Os-Ma-Nfvo) to its client such as ONAP SO or SOL005-compliant clients (P1)
- Notification (as a client), based on the SOL005 notification
- NFVO-R4: Manages (as a client) virtualized resources via interfaces (Or-Vi) exposed by the VIM (P1)
- Software Image (P1)
- Container Image Management (P2)
- Resource Management, validation and authorization of NFVI resource requests (P2)
- NFVO-R5: Supports Virtual Links and VNF-FG
- VLs (P1)
- VNF-FGs (P2)
- NFVO-R6: Manages (as a client) virtualized resource management interfaces (Or-Vnfm) to the VNFM (P1)
- Leverages the existing SOL003 Adapter to support:
- Create VNF
- Instantiate VNF
- Terminate VNF
- Delete VNF
- Subscription
- Leverages the existing SOL003 Adapter to support:
- NFVO-R7: Supports virtualized resource management interfaces (Or-Vnfm) to the VNFM (P1)
- Granting VNF with HPA, leveraging OOFÂ
- NFVO-R8: Supports VNF lifecycle management (LCM) notifications (Or-Vnfm) from the VNFM (P1)
- Notification
- NFVO-R9: Manages (as a client) SOL004 VNF/PNF and SOL007 NS package management leveraging ETSI Catalog Manager (P1)
- Queries packages (VNF/PNF/NS)
- Queries descriptions (VNFD/PNFD/NSD)
- Subscription
- NFVO-R10: Supports package notification interfaces (Os-Ma-Nfvo and Or-Vnfm) to ETSI Catalog Manager (P1)
- Provides notification endpoints based on the ETSI Catalog Manager package management interfaces (SOL005 and SOL003)
- NFVO-R11: Supports Communication Security, conforming SOL005 specification (P1)
- ONAP SO NFVO NBI supports HTTPS and Authentication/Authorization towards SO/SOL005 Adapter
- ONAP SO NFVO SBI (through SOL003 Adapter) supports HTTPS and Authentication/Authorization towards SVNFMs
NFVO Function Overlap View in ETSI MANO
NSD Structure that is supported by NS LCM
- VNF-FG is out of scope from Guilin.
SOL005 Adapter RequirementsÂ
- SOL005-A-R1: Sends SOL005 requests to the ONAP SO NFVO, as one of the choices (SO NFVO, VFC, External NFVO) (P1)
- SOL005-A-R2: Subscribes (CREATE and DELETE) to ONAP SO NFVO for notifications (P1)
- SOL005-A-R3: Provides notification endpoint(s) to receive notifications (P1)
SOL003 Adapter Requirements
- SOL003 Adapter features will stay at the current level; i.e., no enhancement to focus on the NFVO development.
- SOL003 Adapter will be attached to the SO NFVO since it will be invoked by the SO NFVO.
- SOL003 Adapter repositioning requirements will be addressed in the SOL003 Adapter section.
SOL002 Adapter Requirements
- SOL002 Adapter enhancements are NOT expected for the SO NFVO.
Out of Scope Features from Guilin
The following features are out of scope from Guilin:
- Container Image Management (P2)
- Resource Management, validation and authorization of NFVI resource requests (P2)
- VNF-FGs (P2)
Container Image Management (P2)
- Virtualized Resources Information Management (P2)
Virtualized Resources Capacity Management (P2)
- Virtualized Resources Management (P2)
Virtualized Resources Change Management (P2)
- Virtualized Resources Reservation Management (P2)
Virtualized Resource Quota Management (P2)
- Virtualized Resource Performance Management (P2)
Virtualized Resource Fault Management (P2)
- Network Forwarding Path (NFP) Management (P2)
- Scale NS (POST “/api/nslcm/v1/ns_instances/{nsInstanceId}/scale”) – (P2)
- Heal NS (“POST ”/api/nslcm/v1/ns_instances/{nsInstanceId}/heal”) – (P2)
- VNF Modify (ModifyVnfInfo)Â (P2)
- VNF Heal (P2)
- VNF Query (P2)
- SOL003 NBI enhancements for GNFC-ready (P2)
Use Cases
- As a start, vCPE NS use cases plan to be used
- vCPE NS use cases do not have nested NSDs
- Network Slicing use cases will be definedÂ
Epic and User Story
Epic | User Story | Task | Description | In Guilin? | JIRA | Size |
---|---|---|---|---|---|---|
Support for ETSI NFV NFVO Orchestrator in ONAP SO (ONAP SO ETSI-Aligned Hierarchical Orchestration) | Executive Summary - Enable E2E workflows by orchestrating ETSI NFV compliant Network Services and VNFs. This NFVO should provide an ETSI NFV SOL005 v2.7.1 NBI which can onboard ETSI NFV SOL004 and ETSI NFV SOL007 v2.7.1 compliant packages which then can be Life Cycle Managed and monitored. This NFVO should use an ETSI SOL003 v2.7.1 SBI to invoke an external VNF Manager. Business Impact - Enables operators and service providers to use Industry standard Orchestration to deploy, manage and monitor network services. Industry compatibility. Business Markets - All operators and service providers that are developing ETSI compatible Network Services especially for 5G Slicing where each Slice Subnet is associated with a Network Service Funding/Financial Impacts - Reduction in operations expense from using industry standard ETSI Orchestration. Organization Mgmt, Sales Strategies -There is no additional organizational management or sales strategies for this requirement outside of a service providers "normal" ONAP deployment and its attendant organizational resources from a service provider. | Yes | ||||
Support for NFVO Microservice Plugin Framework (P1) | Provides the NFVO function Microservice plugin framework for supporting: (P1)
| Yes | ||||
Support for Service Registration |
| Yes | ||||
Support for Service Discovery |
| Yes | ||||
Support for Inter-Service Communication |
| Yes | ||||
Support for SOL005 NBI API Handler (P1) | Provides SOL005-compliant Restful Northbound APIs for SO/SOL005 Adapter (P1)
| Yes | ||||
Create NS NBI |
| Yes | ||||
Instantiate NS NBI |
| Yes | ||||
Terminate NS NBI |
| Yes | ||||
Delete NS NBI |
| Yes | ||||
Get NS Operation Status NBI |
Note: Instantiate NS and Terminate NS use the individual NS LCM operation occurrence | Yes | ||||
Create NS Subscription NBI |
| Yes | ||||
Get NS Subscription NBI |
| Yes | ||||
Delete NS Subscription NBI |
| Yes | ||||
Send NS Notifications NBI |
| Yes | ||||
Supports for NS LCM and Workflows (P1) | Support for NS LCM and Workflows (P1)
| Yes | ||||
Create NSÂ | SOL005 NBI Handler invokes the Create NS workflows which do the following: <Create NS>
| Yes | ||||
Instantiate NS | SOL005 NBI Handler invokes the Instantiate NS workflows which do the following: <Instantiate NS>
| Yes | ||||
Terminate NS | SOL005 NBI Handler invokes the Terminate NS workflows which do the following: <Terminate NS>
| Yes | ||||
Delete NS | SOL005 NBI Handler invokes the Delete NS workflows which do the following: <Delete NS>
| Yes | ||||
Get NS Operation Status | SOL005 NBI Handler invokes the Get NS Operation Status workflows which do the following:
| Yes | ||||
Create NS Subscription | SOL005 NBI Handler invokes the Create NS Subscription workflows which do the following:
| Yes | ||||
Get NS Subscription | SOL005 NBI Handler invokes the Get NS Subscription workflows which do the following:
| Yes | ||||
Delete NS Subscription | SOL005 NBI Handler invokes the Delete NS Subscription workflows which do the following:
| Yes | ||||
Send NS Notifications | SOL005 NBI Handler (as a client) sends notifications as the following:
| Yes | ||||
Support for Create VLs | Creates NS invokes Create VLs
| Yes | ||||
Support for Delete VLs | Deletes NS invokes Delete VLs
| Yes | ||||
Support for Get VLs | Queries VL info for the given vl_inst_id
| Yes | ||||
Package and deploy NS LCM Workflows with business logic |
| Yes | ||||
Package and deploy default NS LCM workflows with business logic |
| Yes | ||||
Support for UI and REST interfaces for custom workflow war deployment |
| Yes | ||||
Support for NS Resource Manager (P1 partial) |
| Yes | ||||
Support for NS Catalog DB Adapter (P1) |
| Yes | ||||
Support for queries for VNF/PNF/NS package management |
| Yes | ||||
Support for notification endpoint for ETSI Catalog Manager notification |
| Yes | ||||
Support for NS Inventory Adapter (P1) |
| Yes | ||||
Support for NS AAI APIs (CRUD) |
| Yes | ||||
Support for Network AAI APIs (CRUD) |
| Yes | ||||
Support for VNF AAI APIs (CRUD) |
| Yes | ||||
Support for Vserver AAI APIs (CRUD) |
| Yes | ||||
Support for Customer AAI APIs (CRUD) |
| |||||
Support for NS LCM Database Management |
| Yes | ||||
Create NS LCM Database tables and provide CRUD | creates NS LCM Database tables and provides CRUD
id = models.CharField(db_column='ID', primary_key=True, max_length=200)
nfinstid = models.CharField(db_column='NFINSTID', max_length=200, primary_key=True)
vlinstanceid = models.CharField(db_column='VLINSTANCEID', max_length=255, primary_key=True)
jobid = models.CharField(db_column='JOBID', primary_key=True, max_length=255)
request_id = models.CharField(db_column='REQUESTID', max_length=255)
subscription_id = models.CharField(db_column='SUBSCRIPTIONID', max_length=255, primary_key=True)
id = models.CharField(db_column='ID', max_length=255, primary_key=True)
pnfId = models.CharField(db_column='PNFID', primary_key=True, max_length=255)
service_id = models.CharField(db_column='serviceId', max_length=255, primary_key=True)
service_id = models.CharField(db_column='serviceId', max_length=255)
service_id = models.CharField(db_column='serviceId', max_length=255, primary_key=True) | Yes | ||||
Support for MultiCloud Adapter (P1) |
| Yes | ||||
Support for Create Network to VIM API |
| |||||
Support for Delete Network (VL) from VIM API |
| Yes | ||||
Support for Configuration Mgr (P2) |
| Yes | ||||
Support for Policy Adapter (P2) |
| Yes | ||||
Support for OOF Adapter (P1?) |
| Yes | ||||
Supports for Notification Manager (P1) |
| ? | TBD | |||
Support for FM/PM Event Manager (P3) |
| ? | TBD | |||
Support for K8S client (P3) |
| ? | TBD | |||
Support for SOL005 Adapter to interface to/from ONAP SO NFVO (P1) | SOL005 Adapter supports interfaces to/from ONAP SO NFVO
| Yes | ||||
NFVO Architecture & Functions
The following diagram depicts the NFVO component architecture
NFVO Microservice Plugin Framework - high priority
- Provides the NFVO function Microservice plugin framework for supporting:
- Default function plugins support (following default plugins will be registered to the Framework; routing will be configured)
- SOL005 NBI (API Handler)
- NS LCM Manager
- ETSI Catalog Manager Adapter
- Camunda Workflow Engine
- NS Workflows and Logic
- Resource Manager
- K8S Client
- Configuration Manager
- MultiCloud Adapter
- Inventory DB Adapter
- Notification Manager
- FM/PM Event Manager
- Substitution of existing function plugins
- Registration of a new substitution Microservice with version control (leverage a mechanism like AAI ESR/MSR/API Fabric/MSB/Kubernetes - TBD)
- Plug-in a substitution Microservice
- Dynamic dispatching/launching a new plugin instance based on configuration/policy
- Extension of existing function plugins
- Default function plugin extension with version control
- Dynamic dispatching/launching an extended plugin instance based on configuration/policy
- Default function plugins support (following default plugins will be registered to the Framework; routing will be configured)
SOL005 NBI (API Handler)- high priority
- Provides SOL005-compliant Restful Northbound APIs for SO/SOL005 Adapter
- Supports NS Lifecycle Management (LCM) APIs
- Create NS  (POST “/api/nslcm/v1/ns_instances”)
-  Instantiate NS (POST “/api/nslcm/v1/ns_instances/{nsInstanceId}/instantiate”)
- Terminate NS (“/api/nslcm/v1/ns_instances/{nsInstanceId}/terminate”)
- Delete NS (DELETE “/api/nslcm/v1/ns_instances/{nsInstanceId}”)
- Scale NS (POST “/api/nslcm/v1/ns_instances/{nsInstanceId}/scale”) – stretch goal
- Heal NS (“POST ”/api/nslcm/v1/ns_instances/{nsInstanceId}/heal”) – stretch goal
- Query NS (GET “/api/nslcm/v1/ns_instances”, “/api/nslcm/v1/ns_instances/{nsInstanceId}”)
- Subscription (POST ”/subscriptions”)
- Notification (SO SOL005 Adapter client-provided; POST notification based on the callbackUrl from the subscription)Â
- Support NS Fault Management API (stretch goal)
Support NS Performance Management APIs (stretch goal)
- Leverages SOL005 Swagger Files
- https://forge.etsi.org/jenkins/view/All%20jobs/job/NFV%20-%20Network%20Functions%20Virtualisation/job/sol005-master/lastSuccessfulBuild/artifact/build/
- Provides interfaces with DCAE and Policy for Close Loop Automation
- This API Handler focuses on the SOL005 APIs, and its business logic is supplied by the NS LCM Microservice
- Supports NS Lifecycle Management (LCM) APIs
NS Workflows - high priority
- Provides Workflow engines (stand-along/clustered Camunda engine) for the NS workflow management
- Supports Stand-Alone/clustered Camunda engine(s) deployment
Allows hot deployment of custom workflow packages while ONAP NFVO is running
- Provides NS workflows
- Provides default NS workflows (part of ONAP NFVO deployment)
- CreateNSÂ bpmn files with business logic
- InstantiateNS bpmn files with business logic
- TerminateNS bpmn files with business logic
- DeleteNS bpmn files with business logicÂ
- Allows custom NS workflows deployment (Hot deployment)
- The Operators build their own workflows and business logic as war files
- The Operators drop off custom workflows war files into the Camunda deployment directory
- UI for the custom workflow war deployment would be supportedÂ
- Provides default NS workflows (part of ONAP NFVO deployment)
ETSI Package Onboarding for NFVO - enhancements of current capabilities
- ONAP NFVO leverages the ETSI Catalog Manager as the run-time Catalog Database service provider.
- ETSI NS/VNF/PNF Packages are onboarded and distributed from SDC Ă ETSI Catalog Manager (note: this is NOT part of NFVO; it is a separate effort)
- ONAPÂ NFVO queries ETSI NS/VNF/PNF Packages from the ETSI Catalog Manager
NS LCM Database - high priority
TBD
SOL003 Adapter for SVNFMs - leveraging existing capabilities
- Provides SOL003-compliant (Or-Vnfm) Southbound APIs towards SVNFMs
- Supports VNF Lifecycle Management (LCM)
- Create VNF
- Instantiate VNF
- Terminate VNF
- Delete VNF
- Scale VNF
- Heal VNF
- Query VNF
- ModifyInfo VNF
- Subscription
- Notification
- Granting with HPA
- It is a Microservice and part of ONAP SO NFVO
- It is launched by NS Workflows for VNF LCM
- It locates the VNFM instance by leveraging AAI ESR
- Supports VNF Lifecycle Management (LCM)
Resource Manager - high priority
- Provides Resource Granting Information through OOF (Policy, MultiCloud, A&AI)
- Supports interfaces with OOF to collect Granting information
Collects Homing information from OOF and provides the information to other NFVO components
- Supports Or-Vi Interfaces that provided by VIM, Infrastructure Manager, VIM or CaaS manager (note: for Guilin, many of them would be stretch goals)
- Software Image Management (P1)
Container Image Management (P2)
- Virtualized Resources Information Management (P2)
Virtualized Resources Capacity Management (P2)
- Virtualized Resources Management (P2)
Virtualized Resources Change Management (P2)
- Virtualized Resources Reservation Management (P2)
Virtualized Resource Quota Management (P2)
- Virtualized Resource Performance Management (P2)
Virtualized Resource Fault Management (P2)
- Network Forwarding Path (NFP) Management (P2)
Notification Manager (stretch goal)
- Supports NS lifecycle management notification to its clients such as ONAP SO or SOL005 compliant clients
- TBD
FM/PM Manager (not for Guilin)
TBD
ONAP SO, SOL005 Adapter and NFVO Interaction
Descriptions | |
---|---|
Existing SO E2E Business Logic for VFC/SOL005 Adapter |
|
New ONAP SO NFVO Path |
|
ONAP SO Refactoring for NFVO Function Extraction
Note: to analyze the following further (extracting NS-related operations)
ONAP SO | NFVO |
---|---|
Asdc-controller (scope: Service, NS, VNF, VF-Module) | Asdc-controller for NS, leveraging ETSI Catalog Manager |
API Handler | SOL005 API Handler |
BPMN Infra (scope: Service, NS, VNF, VF-Module) including Workflows with embedded Camunda Workflow engine | NS LCM + Default NS Workflows (with business logic) + Custom NS Workflows (with business logic) Stand-Alone/Clustered Camunda Workflow Engine |
VFC / SOL005 Adapter | Not Applicable |
SOL003 Adapter in SO | SOL003 Adapter in NFVO (move its home) |
Catalog DB Adapter | Leverage ETSI Catalog Manager |
Request DB Adapter (scope: service, NS, VNF, VF-Module) | Request DB Adapter for NS scope |
APPC Orchestrator | Configuration Manager Client |
ve-vnfm-adapter (SOL002 Adapter) | TBD |
sdnc-adapter | TBD |
nssmf-adapter | TBD |
Openstack adapter / MultiCloud adapter | Resource Manager |
VNF Adapter | Not Applicable (SOL003 Adapter delegates VNF operations to SVNFM) |
K8S Client (PoC) | K8S Client |
SO-monitoring | SO-monitoring for NS and VNF |
Common (beans and utils common for all the projects) | Leverage Common as needed |
Close Loop Handling | FM/PM Event Handler |
Communication Security
- ONAP SO NFVO NBI supports HTTPs and Authentication/Authorization towards SO/SOL005 Adapter.
- ONAP SO NFVO SBI (through SOL003 Adapter) supports HTTPs and Authentication/Authorization towards SVNFMs.
- TBD
Standard Interfaces
Create / Instantiate NS
The following diagram depicts the Create/Instantiate NS.
Create NS
Request
CreateNsRequest
- nsdId
- nsName
- nsDescription
Response
NsInstance
- see NsInstance from ETSI GS NFV-SOL 005 v2.7.1
NS LCM Manager Design
VFC designÂ
get nsdId, nsName and nsDescription, context (globalCustomerId, serivceType)Â parameters
- get a ns package by the given nsdId from ETSI Catalog Manager
- check if ns instance exists from the NFVO_NSINST database table
- if it exists, log it exists
- create an ns instance id (uuid) and store it with other nsd info, status (NOT_INSTANTIATED) to NFVO_NSINST database table
- create an ns instance record (service-instance-id, service-instance-name, service-type, service-role) in AAI
- get nsInstance from GetNSInfoService
- return 201 Created with the NsInstance
- Send NsIdentifierCreationNotification
Proposal
The following diagram depicts the Create NS procedure.
Instantiate NS
Request
InstantiateRequest
Response
201 Accepted
NsLcmOperationOccurrenceNotification (Start/Processing/Completed)
NS LCM Manager Design
VFC Design
- Get an ns instance id from the parameter
- create a job for the ns instance id
- create an occ id for the ns instance id
- Update the ns instance id row of the NFVO_NSINST database table for status (= INSTANTIATING)
- get a ns instance data from the NFVO_NSINST for the ns instance id
- get and store additional Parameters for NS
- get an VIM id from the cloud owner and cloud region parameters
- get an VNF VIM from he location constraints
- set the job status with 'Start Query NSD'
- get and parse a nsd for the ns package id
- modify nsd state
- get VNF list from the nsdÂ
- for each VNF,
- get vnfd_id, vnfm_type, vimId, s_vimId (with "cloud_owner"_"cloud_regionid")
- select VNFM by leveraging AAI ESR
- store VNF pararms in collection, with vnf info including vnfmInstanceId
- set vl vim id
- for each VNF
- if VNF has dependencies, for each dependency
- add VNF properties and id into vl_vnf array
- if VNF has dependencies, for each dependency
- for each VLs
- get vnfdId and vimId
- add vimId into VL array
- for each VNF
- update NFVO_NSINST with the nsd model
- get PNF parameters
- get VNF parameters (from VNF params above)
- set up Plan Input with job_id, ns_inst_id, tosca plan, additional NS params, VNF params, PNF params)
- start workflows with the job_id, ns_inst, plan_input, occ_id)
- get service template id from ETSI Catalog Manager
- get process id from ETSI Catalog Manager
- workflow run with data (process id, params = plan input)
- createVL
- createVNF
- createSFC (Service Function Chain)
Proposal
The following diagram depicts the Instantiate NS.
Terminate / Delete NS
The following diagram depicts the Terminate / Delete NS.
Terminate NS
Request
TerminateNsRequest
- terminateTime
Response
201 Accepted
NsLcmOperationOccurrenceNotification (Start/Processing/Completed)
NS LCM Manager Design
VFC Design
- Get an ns_inst_d, job_id and request_data from the parameters
- if there no matching ns_inst_id from the NFVO_NSINT database table, consider there is nothing to terminate, and return
- set job status as "Starting terminate..."
- update the ns_inst_id row from the NFVO_NSINST database table with the status = TERMINATING
- cancel SFC list
- get sfc inst array
- for each sfc inst
- DELETE /api/nslcm/v1/ns/sfcs/{instId}
- cancel VNF list
- get vnf inst list array from NFVO_NFINST
- for each vnf inst
- delete_vnf (nf_instid)
- POST /api/nslcm/v1/ns/terminateVnf/{instId}
- delete_vnf (nf_instid)
- for each vnf inst
- get vnf inst list array from NFVO_NFINST
- cancel VL list
- get VL Inst array
- for each VL inst
- DELETE /api/nslcm/v1/ns/vls/{instId}
- cancel PNF list
- get pnf inst array
- for each pnf instÂ
- DELETE /api/nslcm/v1/pnfs/{instId}
- modify the ns_inst_id row state from the NFVO_NSINST database table
- modify NFVO_NSINST status = NOT_INSTANTIATED
- set job status = NS terminate ends
- Update NsLcmOpOCC to COMPLETED
- Send nsLcmOperationOccurrenceNotification
Proposal
The following diagram depicts the Terminate NS.
Delete NS
Request
- No; just parameter nsInstanceId
Response
- 204 No Content
Notification
- Send NsIdentifierDeletionNotification
NS LCM Manager Design
VFC_Design
- get ns_inst_id
- delete ns instance in AAI
- get ns_instances from NFVO_NSINST database table
- invoke delete_ns_aai with global_customer_id, service_type, ns_inst_id, resource_version
- formulate the resource url with parameters
- call_aaI (resource, "DELETE")
- delete ns_inst_id row from the NFVO_NSINST database table
- delete ns_inst_id row from the NFVO_INPutParamMapping database table
- delete ns_inst_id row from the DefPkgMapping database table
- delete ns_inst_id row from the ServiceBaseInfo database table
- return 204 No Content
- Send NsIdentifierDeletionNotification
Proposal
The following diagram depicts the Delete NS.
Subscription NS
Subscription NS
Request
- LccnSubscriptionRequest
- subscriptionId. for GET and DELETE
Response
- 204 No Content
- 201 Created (LccnSubscription)
- 200 OK (LccnSubscription[])
- 200 OK (LccnSubscription)
Subscription Filter Request
The following table describes the Subscription filter request.
attribute name | data type | cardinality | description |
---|---|---|---|
nsdIds | Identifier | 0..N | If present, match NS instances that were created based on an NSD identified by one of the nsdId values listed in this attribute. See note 1. |
vnfdIds | Identifier | 0..N | If present, match NS instances that contain VNF instances that were created based on a VNFD identified by one of the vnfdId values listed in this attribute. See note 1. |
pnfdIds | Identifier | 0..N | If present, match NS instances that contain PNFs that are represented by a PNFD identified by one of the pnfdId values listed in this attribute. See note 1. |
nsInstanceId | Identifier | 0..N | If present, match NS instances with an instance identifier listed in this attribute. See note 2. |
nsInstanceNames | String | 0..N | If present, match NS instances with an NS Instance Name listed in this attribute. See note 2. |
NOTE 1: The attributes "nsdIds", "vnfdIds" and "pnfdIds" are alternatives to reference to NS instances that are created based on certain NSDs, or contain VNF instances that are based on certain VNFDs, or contain PNFs that are based on certain PNFDs in a filter. They should not be used together in the same filter instance, but one alternative should be chosen. NOTE 2: The attributes "nsInstanceIds" and "nsInstanceNames" are alternatives to reference to particular NS Instances in a filter. They should not be used both in the same filter instance, but one alternative should be chosen. |
NS LCM Manager Design
VFC Design
- create subscription id
- check callback Uri
- check filter types
- save subscription request to database
- return response with subscription
Proposal
The following diagram depicts the Subscription NS.