...
...
The following diagram depicts the SO NFVO plugin capabilities.
...
...
...
Epic | User Story | Sub-Task | Description | Honolulu Plan? | JIRA | Priority | Size (S/M/L/XL)
|
---|
Support for NFVO Microservice Plugin |
|
| SO NFVO needs to support ETSI NFVO functional Microservice plugin capabilities, leveraging MSB, SpringBoot and Kubernetes, for hosting NFVO function components by configuration. So, the SO NFVO can be customized in a future by operators. - Support for substitution of existing function plugins
- Supports registration of a new substitution Microservice with version control (leverage a mechanism like AAI ESR)
- supports plug-in mechanism of substitution Microservices
- Dynamic dispatching/launching plugin instances based on configuration/policy
- Support for extension of existing function plugins
- Default function plugin extension with version control
- Dynamic dispatching/launching an extended plugin instance based on configuration/policy
- Test Service Discovery
- Test Inter-Service Communication (for Honolulu, SOL003 Adapter)
Note: we are not building the Microservice service registration, aggregation, discovery and routing engine itself, but we are leveraging the engine's capability (e.g., MSB, API Fabric, Kong, or Kubernetes & service discovery) to offer configuration of NFVO Microservice components access. In Honolulu, the following will be supported - Configure Microservice registration
- The following default function Microservices will be plugged in:
- NS LCM Manager including:
- SOL005 NBI API Handler
- NS Workflows and Logic
- Embedded Camunda Workflow Engine
- MultiCloud Adapter client
- ETSI Catalog Manager Adapter
- AAI Client
- SOL003 Adapter
- Shared Camunda Workflow Engine (
|
Epic | User Story | Sub-Task | Description | Honolulu Plan? | JIRA | Priority | Size
(S/M/L/XL)
Support for NFVO Microservice Plugin | SO NFVO needs to support ETSI NFVO functional Microservice plugin capabilities, leveraging MSB, SpringBoot and Kubernetes, for hosting NFVO function components by configuration. So, the SO NFVO can be customized in a future by operators.
- Support for substitution of existing function plugins
- Supports registration of a new substitution Microservice with version control (leverage a mechanism like AAI ESR)
- supports plug-in mechanism of substitution Microservices
- Dynamic dispatching/launching plugin instances based on configuration/policy
- Support for extension of existing function plugins
- Default function plugin extension with version control
- Dynamic dispatching/launching an extended plugin instance based on configuration/policy
- Test Service Discovery
- Test Inter-Service Communication (for Honolulu, SOL003 Adapter)
Note: we are not building the Microservice service registration, aggregation, discovery and routing engine itself, but we are leveraging the engine's capability (e.g., MSB, API Fabric, Kong, or Kubernetes & service discovery) to offer configuration of NFVO Microservice components access.
In Honolulu, the following will be supported
Configure Microservice registrationThe following default function Microservices will be plugged in: NS LCM Manager including:- SOL005 NBI API Handler
- NS Workflows and Logic
- Embedded Camunda Workflow Engine
- MultiCloud Adapter client
- ETSI Catalog Manager Adapter
- AAI Client
SOL003 AdapterShared Camunda Workflow Engine (- allow to use ONAP SO Camunda engine) - if ONAP SO Dynamic BPMN is available - Stretch goal
- ETSI Catalog Manager Adapter (in Honolulu, it is part of NS LCM Manager)
NS Resource Infra Management (RIM) Manager- MultiCloud Adapter (in
Honolulu, reuse of ONAP SO MultiCloud Adapter) - Inventory DB Adapter (In
Honolulu, reuse of ONAP SO AAI client) Notification Manager (not for Honolulu)Policy Adapter (not for Honolulu)K8S Client (not for Honolulu)Configuration Adapter (not for Honolulu)FM/PM Event Adapter (not for Honolulu)
Image Modified
|
YesNo | |
|
|
| <requirements for each SO-NFVO Microservice> - to be included to user story requirements
| Support for NFVO Service Registration | Supports NFVO Micro-Service Registration for plugging in microservices - Configuration for the default NFVO sub-components
|
YesNo | |
|
|
| <requirements for finding SO-NFVO sub-microservices> - to be included to user story requirements
| Support for NFVO Service Discovery | Supports NFVO Micro-Service Discovery with version control - Test for the default NFVO sub-component discovery
|
YesNo |
|
|
|
| <requirements for communication between SO-NFVO sub-microservices> - to be included to user story requirements
| Support for NFVO Inter-Service Communication | Supports for NFVO Inter-Service Communication - Test for the default NFVO sub-component communication
|
YesNo |
|
|
|
Start from here for Honolulu... |
Enhance SO NFVO SOL005 NBI API Handler |
|
| SO NFVO NBI API Handler needs to enhance its NBI APIs to support: - ETSI 3.3.1 SOL005 APIs
- existing ETSI 2.7.1 SOL005 APIs for the one-level backward compatibility
- Since SOL005 2.7.1 and 3.3.1 have the same main version number (2), the RESTful endpoint will be shared
- secure communication thru HTTPs leveraging ONAP SO certificate
Preconditions: - ETSI SOL007 NS packages are onboarded into SDC and distributed to ETSI Catalog Manager.
- In Honolulu, the UUI - SO - E2E Workflows - NS Workflows - SOL005 Adapter - SO NFVO sequences are supported (checking with Verizon)
- The curl command-based SOL005 client continues to be supported but it uses secure communication thru HTTPs.
Image Modified
SO NFVO NBI API Handler provides SOL005-compliant Restful Northbound APIs for SO/SOL005 Adapter/External RESTful client - Supports NS Lifecycle Management (LCM) APIs, including subscription and notification
- 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}”)
- Get Operation Status ( GET /api/nslcm/v1/ns_lcm_op_occs,
- / api/nslcm/v1/ns_lcm_op_occs
- Subscription and Notification support for LCCN LCM
- Leverages SOL005 Swagger Files for SO NFVO SOL005 NBI API Handler
- SOL005-NSLifecycleManagement-API.json
- SOL005-NSLifecycleManagementNotification-API.json
| No | Jira |
---|
server | ONAP JIRA |
---|
serverId | 425b2b0a-557c-3c0c-b515-579789cceedb |
---|
key | SO-3382 |
---|
|
|
High |
|
|
| Upgrade SO NFVO NBI with 3.3.1 SOL005 API Swagger |
| SO NFVO NBI API Handler needs to upgrade its SOL005 API swagger to 3.3.1. |
All%20jobsNFV%20-%20Network%20Functions%20VirtualisationYesCreate No | Jira |
---|
server | ONAP JIRA |
---|
serverId | 425b2b0a-557c-3c0c-b515-579789cceedb |
---|
key | SO-3383 |
---|
|
|
High | Enhance the Instantiate NS NBI |
| SO NFVO NBI API Handler needs to enhance its |
Create Instantiate NS to ETSI 3.3.1 from ETSI 2.7.1 |
Note: there are - Leveraging ETSI 3.3.1 swagger upgrade, upgrade the Instantiate NS NBI code to support 3.3.1
- Follow and confirm 3.3.1 changes on the message sequencing, request, response, pre- and post-conditions.
|
Note: upgrade SOL005-NSlifecycleManagement-API.yaml for 3.3.1
- Preconditions:
- NS instance is NOT_INSTNANTIATED state
|
Preconditions: - SOL007 NS packages are stored in ETSI Catalog Manager.
|
if SOL 005 Adapter is not ready, - the Cli-based (Postman) SO NFVO Client is ready to send the SOL005-compliant
|
Create if the SOL 005 Adapter / Simulator is ready,- SOL 005 Adapter / Simulator subscribed to SO NFVO for LCCN notifications
The SO-NFVO (so-etsi-nfvo) pod is ready- The SO-NFVO (so-etsi-nfvo) pod is ready
- Test the following scenarios:
|
SO NFVO NBI API Handler needs to support Create Create - Instantiate NS request API: POST /api/nslcm/v1/ns_instances
|
(CreateNsRequest- /{nsInstanceId}/instantiate (InstantiateNsRequest)
- Supports
|
Create NS with NsInstance with 201 (for success) or an error- 202 Accepted with an empty payload body
|
201 - 202 until the backend business logic is ready
|
Only mandatory attributes of NsInstance will be set.Support successful or error conditionsSupports NS Lifecycle Operation Occurrence NotificationUse a Location HTTP header that points to the new individual NS Lifecycle Operation Occurrence resource; i.e. the URI of that resource (.../ns_lcm_op_occs/{nsLcmOpOccId}Supports the Sends nsLcmOperationOccurrenceNotifiation (start, result) notification operation until the result status becomes COMPLETED
- Optionally, Instantiate NS operations uses the GET individual NS LCM operation occurrence request and response
- Error handling: if the operation is failed, error information is provided in the notification message
|
Sends NsIdentifierCreationNotification to the NFVO subscriber(s) (e.g., ONAP SO SOL005 Adapter)Note: this will be handled by the separate user story: Sends NsIdentifierCreationNotification to the NFVO subscriber(s) (e.g., ONAP SO SOL005 Adapter)
- Post conditions: the NS Instance is
|
set NOT_Note: secure communication is handled by a separate user story, SO-3165.
|
Yes | High | Instantiate NS NBI | | No | Jira |
---|
server | ONAP JIRA |
---|
serverId | 425b2b0a-557c-3c0c-b515-579789cceedb |
---|
key | SO-3450 |
---|
|
|
|
|
| Enhance the Terminate NS NBI |
| |
SO NFVO NBI API Handler needs to enhance its |
Instantiate Terminate NS to ETSI 3.3.1 from ETSI 2.7.1 |
Note: there are - Leveraging ETSI 3.3.1 swagger upgrade, upgrade the Terminate NS NBI code to support 3.3.1
- Follow and confirm 3.3.1 changes on the message sequencing, request, response, pre- and post-conditions.
|
Preconditions NOT_INSTNANTIATED - INSTANTIATED state
- SOL007 NS packages are stored in ETSI Catalog Manager.
- the Cli-based (Postman) SO NFVO Client is ready to send the SOL005-compliant
|
Instantiate - Terminate NS request
- The SO-NFVO (so-etsi-nfvo) pod is ready
|
Image Removed
Supports - Test the following scenarios
- SO NFVO NBI API Handler needs to supports the SOL005-compliant
|
Instantiate NS API - Terminate NS API - check for 3.3.1 update
|
Instantiate - Terminate NS request API: POST /api/nslcm/v1/ns_instances/{nsInstanceId}/
|
instantiate InstantiateNsRequest- TerminateNsRequest)
- Supports responses 202 Accepted with an empty payload body
- Returns a dummy 202 until the backend business logic is ready
|
Supports NS Lifecycle Operation Occurrence Notification- Use a Location HTTP header that points to the new individual NS Lifecycle Operation Occurrence resource; i.e. the URI of that resource (.../ns_lcm_op_occs/{nsLcmOpOccId}
Supports the Sends nsLcmOperationOccurrenceNotifiation with nsLcmOpOccId, notificationStatus (start, result)
|
notification operation until the result status becomes
|
COMPLETED Instantiate - Terminate NS operations uses the GET individual NS LCM operation occurrence request and response
- Error handling: if the operation is failed, error information is provided in the notification message
- Post conditions: the NS Instance is set as the
|
INSTANTIATED Note: secure communication is handled by a separate user story, SO-3165.
|
High | No | Jira |
---|
server | ONAP JIRA |
---|
serverId | 425b2b0a-557c-3c0c-b515-579789cceedb |
---|
key | SO-3451 |
---|
|
|
|
|
| Enhance the Delete NS NBI |
| |
Terminate NS NBI | SO NFVO NBI API Handler needs to enhance its |
Terminate Delete NS to ETSI 3.3.1 from ETSI 2.7.1 |
Note: there are - Leveraging ETSI 3.3.1 swagger upgrade, upgrade the Terminate NS NBI code to support 3.3.1
- Follow and confirm 3.3.1 changes on the message sequencing, request, response, pre- and post-conditions.
- Precondition:
|
is - in NOT_INSTANTIATED state
- SOL007 NS packages are stored in ETSI Catalog Manager.
- the Cli-based SO NFVO Client is ready to send the SOL005-compliant
|
Terminate - Create NS request
- The SO-NFVO (so-etsi-nfvo) pod is ready
|
Image Removed- Test the following scenarios
- SO NFVO NBI API Handler needs to
|
supports - support the SOL005-compliant
|
Terminate - Delete NS API - check for 3.3.1 update
|
Terminate POST - DELETE /api/nslcm/v1/ns_instances/{nsInstanceId}
|
/terminate (TerminateNsRequest) responses 202 Accepted - the Sends 204 No Content with an empty payload body
|
202 backend ready Use a Location HTTP header that points to the new individual NS Lifecycle Operation Occurrence resource; i.e. the URI of that resource (.../ns_lcm_op_occs/{nsLcmOpOccId}Sends NsIdentifierDeletionNotification to the NFVO subscriber(s) (e.g., ONAP SO SOL005 Adapter)
Note: this will be handled by the separate user story: Sends NsIdentifierCreationNotification to the NFVO subscriber(s) (e.g., ONAP SO SOL005 Adapter)
|
Supports the Sends nsLcmOperationOccurrenceNotifiation with nsLcmOpOccId, notificationStatus (start, result) until the result status becomes COMPLETED Optionally, Terminate NS operations uses the GET individual NS LCM operation occurrence request and response operation is failed, error information is provided in the notification message- individual NS instance is not in NOT_INSTANTIATED state, it rejects the deletion request
- Postconditions: the resource representing the NS instance has been removed from the list of NS instance resources
|
Post conditions: the NS Instance is set as the TERMINATED stateNote: secure communication is handled by a separate user story, SO-3165.
|
High | | No | Jira |
---|
server | ONAP JIRA |
---|
serverId | 425b2b0a-557c-3c0c-b515-579789cceedb |
---|
key | SO-3452 |
---|
|
|
|
|
| Enhance Get NS Operation Status |
Delete NS NBI |
| SO NFVO NBI API Handler needs to enhance its |
Delete Get NS operation to ETSI 3.3.1 from ETSI 2.7 |
.1Note: there are .1 - Leveraging ETSI 3.3.1 swagger upgrade, upgrade the Terminate NS NBI code to support 3.3.1
- Follow and confirm 3.3.1 changes on the message sequencing, request, response, pre- and post-conditions.
- Precondition:
|
NS instance in NOT_INSTANTIATED stateSOL007 NS packages are stored in ETSI Catalog Manager.-
- the Cli-based (Postman) SO NFVO Client is ready to send the SOL005-compliant Create NS request
- The SO-NFVO (so-etsi-nfvo) pod is ready
|
Image Removed
- Test the following scenarios
|
SO NFVO NBI API Handler needs to support Delete NS API - check for 3.3.1 update- GET NS LCM operation occurrences API
- Supports multiple NS LCM operation occurrences request API: GET / api/nslcm/v1/ns_lcm_op_occs
- Supports responses for multiple NS LCM operation occurrences with 200 OK (NsLcmOpOcc[])
- Supports individual NS LCM operation occurrence request API: GET
|
Supports Delete NS request API: DELETE instancesnsInstanceIdSupports the Sends 204 No Content with an empty payload body- Returns a dummy 204 until the business logic is ready
Sends NsIdentifierDeletionNotification to the NFVO subscriber(s) (e.g., ONAP SO SOL005 Adapter)
- Note: this will be handled by the separate user story: Sends NsIdentifierCreationNotification to the NFVO subscriber(s) (e.g., ONAP SO SOL005 Adapter)
- nsLcmOpOccId is an attribute in the NsLcmOperationOccurrenceNotification
- Supports responses for the individual NS LCM operation occurrence with 200 OK (NsLcmOpOcc), where its opeationStatus=PROCESSING, COMPLETED)
Note: Instantiate NS and Terminate NS use the GET individual NS LCM operation occurrence |
Error handling: if the individual NS instance is not in NOT_INSTANTIATED state, it rejects the deletion requestPostconditions: the resource representing the NS instance has been removed from the list of NS instance resourcesNote: secure communication is handled by a separate user story, SO-3165.
|
High | | No | Jira |
---|
server | ONAP JIRA |
---|
serverId | 425b2b0a-557c-3c0c-b515-579789cceedb |
---|
key | SO-2862 |
---|
|
|
|
|
------ |
|
|
|
|
|
|
|
| Support for SO NFVO SOL005 NBI Subscription APIs |
Get NS Operation Status NBI |
| SO NFVO NBI API Handler needs to |
enhance its Get NS operation to ETSI from ETSI 2.7.1Note: there are changes on the message sequencing, request, response, pre- and post-conditions.
- Supports the SOL005-compliant GET NS LCM operation occurrences API
- Supports multiple NS LCM operation occurrences request API: GET / api/nslcm/v1/ns_lcm_op_occs
- Supports responses for multiple NS LCM operation occurrences with 200 OK (NsLcmOpOcc[])
- Supports individual NS LCM operation occurrence request API: GET /api/nslcm/v1/ns_lcm_op_occs/{nsLcmOpOccId}
- nsLcmOpOccId is an attribute in the NsLcmOperationOccurrenceNotification
- Supports responses for the individual NS LCM operation occurrence with 200 OK (NsLcmOpOcc), where its opeationStatus=PROCESSING, COMPLETED)
SOL005-based Subscription APIs Supports SOL005-compliant Restful Northbound Subscription and Notification APIs for SO/SOL005 Adapter Supports the following SOL005 Subscription APIs, which are defined in the sub-tasks: - Create NS Subscription NBI
- Get NS Subscription NBI
- Delete NS Subscription NBI
Note: if the SOL005 Adapter is not enhanced for SO NFVO, its simulator will be developed for simulating the subscription handling. Image Added
|
Note: Instantiate NS and Terminate NS use the GET individual NS LCM operation occurrence- Note: secure communication is handled by a separate user story, SO-3165.
|
Yes | Image RemovedSO-2862 - Get NS Operation Status NBI support OPEN
| High | | No | Jira |
---|
server | ONAP JIRA |
---|
serverId | 425b2b0a-557c-3c0c-b515-579789cceedb |
---|
key | SO-3384 |
---|
|
|
|
|
|
| Create NS Subscription NBI |
Support for SO NFVO SOL005 NBI Subscription APIs | SO NFVO NBI API Handler needs to support |
3.3.1 SOL005-based Subscription APIsSupports SOL005-compliant Restful Northbound Subscription and Notification APIs for SO/SOL005 Adapter
Create NS subscription NBI Image Added
- Support Subscription API: POST /api/nslcm/v1/subscriptions (LccnSubscriptionRequest)
- Support testing of the callback notification endpoint
- GET <<callback uri>>
- Handles 204 No Content response from the subscriber (e.g., SO SOL005 Adapter)
- Support subscription responses with 201 Created (LccnSubscription)
| No | Jira |
---|
server | ONAP JIRA |
---|
serverId | 425b2b0a-557c-3c0c-b515-579789cceedb |
---|
key | SO-3453 |
---|
|
|
|
|
|
| Get NS Subscription NBI |
Image Removed | SO NFVO NBI API Handler needs to support the |
Subscription (POST ”/subscriptions”) API
Image Removed
optional Get NS Subscription NBI Image Added
- Supports Get all subscriptions request API: GET /api/nslcm/v1/subscriptions/
- Supports responses with 200 OK (LccnSubscription[])
- Supports Get individual subscription request API: GET /api/nslcm/v1/subscriptions/{subscriptionId}
- Supports individual subscription responses with 200 OK (LccnSubscription)
| No |
SO NFVO NBI API Handler needs to support sending the Notification to SOL005 Adapter by using the SO SOL005 Adapter client-provided interface;- POST notification based on the callbackUrl from the subscription)
Note: secure communication is handled by a separate user story, SO-3165. | Jira |
---|
server | ONAP JIRA |
---|
serverId | 425b2b0a-557c-3c0c-b515-579789cceedb |
---|
key | SO- |
---|
|
|
3384Create High | Delete NS Subscription NBI | SO NFVO NBI API Handler needs to support |
Create subscription Support Subscription Image Added
- Supports Delete subscription request API:
|
POST - DELETE /api/nslcm/v1/subscriptions
|
(LccnSubscriptionRequest)Support testing of the callback notification endpoint- /{subscriptionId}
- Supports Delete subscription responses with 204 No Content
| No | Jira |
---|
server | ONAP JIRA |
---|
serverId | 425b2b0a-557c-3c0c-b515-579789cceedb |
---|
key | SO-3455 |
---|
|
|
|
|
| Send NS Notifications (As a Client) |
| SO NFVO NBI API Handler needs to support sending NS notifications to the subscribed component |
GET <<callback uri>>Handles 204 No Content response from the subscriber SO Support subscription responses with 201 Created (LccnSubscription)- SO NFVO NBI API Handler needs to support the Subscription (POST ”/subscriptions”) API
Image Added
|
Get NS Subscription NBI- SO NFVO NBI API Handler needs to support
|
the optional Get NS Subscription NBI- Supports Get all subscriptions request API: GET /api/nslcm/v1/subscriptions/
- Supports responses with 200 OK (LccnSubscription[])
- Supports Get individual subscription request API: GET /api/nslcm/v1/subscriptions/{subscriptionId}
- Supports individual subscription responses with 200 OK (LccnSubscription)
Delete NS Subscription NBI | SO NFVO NBI API Handler needs to support Delete NS Subscription NBI - Supports Delete subscription request API: DELETE /api/nslcm/v1/subscriptions/{subscriptionId}
- Supports Delete subscription responses with 204 No Content
| Send NS Notifications (As a Client) | SO NFVO NBI API Handler needs to support sending NS notifications to the subscribed component (e.g., SOL005 Adapter) - As a client, supports the sends notifications to the subscriber(s) for NS LCM: POST <<callback URI>> (<<Notification>>)
- <<Notification>> follows NsLcmOperationOccurrenceNotification, NsIdentifierCreationNotification, NsIdentifierDeletionNotification or NsChangeNotification (see, SOL005 v2.7.1 specification 6.5.2.5 - 6.5.2.8)
- Supports the Gets response: 204 No Content from the subscriber (e.g, SO SOL005 Adapter)
| - sending the Notification to SOL005 Adapter by using the SO SOL005 Adapter client-provided interface;
- POST notification based on the callbackUrl from the subscription)
- As a client, supports the sends notifications to the subscriber(s) for NS LCM: POST <<callback URI>> (<<Notification>>)
- <<Notification>> follows NsLcmOperationOccurrenceNotification, NsIdentifierCreationNotification, NsIdentifierDeletionNotification or NsChangeNotification (see, SOL005 v3.3.1 specification 6.5.2.5 - 6.5.2.8)
- Supports the Gets response: 204 No Content from the subscriber (e.g, SO SOL005 Adapter)
| No | Jira |
---|
server | ONAP JIRA |
---|
serverId | 425b2b0a-557c-3c0c-b515-579789cceedb |
---|
key | SO-3456 |
---|
|
|
|
|
Support for secure communication across ETSI-Alignment components |
|
| ETSI-Alignment components need to communicate each other securely via HTTPs - SOL005 Adapter ↔ SO NFVO
- SO NFVO BPMN ↔ SOL003 Adapter
- SOL003 Adapter ↔ VNFM Simulator
- SO NFVO ↔ ETSI Catalog Manager
- SOL003 Adapter ↔ ETSI Catalog Manager
|
YesNo | Jira |
---|
server | ONAP JIRA |
---|
serverId | 425b2b0a-557c-3c0c-b515-579789cceedb |
---|
key | SO-3350 |
---|
|
|
High |
|
|
| Support for secure communication between SOL005 Adapter and SO NFVO |
| SOL005 Adapter and SO NFVO need to communicate each other thru secure communications via HTTPs |
- HTTPS support with certificate - one way TLS provided by SO NFVO
| No |
Yes | Jira |
---|
server | ONAP JIRA |
---|
serverId | 425b2b0a-557c-3c0c-b515-579789cceedb |
---|
key | SO-3165 |
---|
|
|
High |
|
|
| Support for secure communication between SO NFVO BPMN and SOL003 Adapter |
| SO NFVO BPMN and SOL003 Adapter need to communicate each other thru secure communication via HTTPs
( |
maybe we We keep it as HTTP since it would be internal component communications) |
. If so, we will close this. | No |
Yes | Jira |
---|
server | ONAP JIRA |
---|
serverId | 425b2b0a-557c-3c0c-b515-579789cceedb |
---|
key | SO-3269 |
---|
|
|
|
|
| Support for secure communication between SOL003 Adapter and VNFM Simulator / VNFM |
| SOL003 Adapter and VNFM Simulator / VNFM need to communicate each other thru secure communication via HTTPs |
YesNo | Jira |
---|
server | ONAP JIRA |
---|
serverId | 425b2b0a-557c-3c0c-b515-579789cceedb |
---|
key | SO-2425 |
---|
|
|
High |
|
|
| Support for secure communication between SO NFVO and ETSI Catalog Manager |
| SO NFVO and ETSI Catalog Manager need to communicate each other thru secure communication via HTTPs (note: the current communication is secure, but we may want to enhance it in Honolulu. TBD) |
YesNo |
|
|
|
| Support for secure communication between SOL003 Adapter and ETSI Catalog Manager |
| SOL003 Adapter and ETSI Catalog Manager need to communicate each other thru secure communication via HTTPs (note: the current communication is secure, but we may want to enhance it in Honolulu. TBD) | Yes, but TBD |
|
|
|
------ |
|
|
|
|
|
|
|
Enhance SO NFVO NS LCM and Workflows Management |
|
| SO NFVO needs to enhance NS LCM and Workflows management - validate if it works with 3.3.1 Test the following NS LCM functions (that are defined in the subsequent user stories) and verify they are still working for 3.3.1 - The NS LCM Manager component in SO NFVO needs to enhance the following NS orchestration operations by leveraging NS workflows and business logic.
- CreateNS
- InstantiateNS
- TerminateNS
- DeleteNS
- The default NS workflows and business logic need to enhance the following NS workflows:
- CreateNS bpmn files with business logic
- InstantiateNS bpmn files with business logic
- TerminateNS bpmn files with business logic
- DeleteNS bpmn files with business logic
- Note: when ONAP Dynamic BPMN is available, follow the "Package and deploy NS LCM Workflows with business logic" use case.
|
YesEnhance No | Jira |
---|
server | ONAP JIRA |
---|
serverId | 425b2b0a-557c-3c0c-b515-579789cceedb |
---|
key | SO-3385 |
---|
|
|
High |
Image RemovedEnhance Create NS LCM and Workflows |
| SO NFVO needs to enhance the Create NS backend operations and workflows which do the following sequence - validate if it works with 3.3.1 |
<Create NS: note: the following workflow is a template, and it can be enhanced as needed.>
- Upgrade the NS LCM and workflows for 3.3.1 and test the existing functions.
- Test the following scenarios are still working:
|
- Supports SOL005-compliant CreateNSRequest request and parameters
- For AAI, supports global_customer_id and service_type as part of HTTP header
- This is not SOL005 standards, but for AAI, these parameters would be necessary.
- Note: if there is an alternative way, please propose.
- Supports getting NS Package from ETSI Catalog Manager
- Query ETSI Catalog Manager for an NS package with the given csar_id (nsdId)
- Supports NSD Validation check:
- check if the NSD package exists in the ETSI Catalog Manager DB; otherwise generates errors
- Supports check of an existing NS Instance
- If an existing NS instance is found, it is an error condition. Returns a proper error.
- else
- Creates NS Instance in the NS Instance DB:
- stores the NS instance data into the NS Instance DB with the status= 'NOT_INSTANTIATED'
- Creates a unique ns instance id (uuid)
- Stores NS instance attribute data into the NS Instance DB.
- e.g., ns_instance_id, ns_name, ns_package_id, nsd_id, nsd_invariant_id, description, lastuptime, global_customer_id, service_type
- Adds additional attributes as needed
- Prerequisite: before calling the Create NS workflows, the Service and Service-subscription objects should be in AAI.
- Create an NS instance in AAI:
- Stores an NS instance to the AAI Service Instance with required attributes as follows.
- Note: shares the AAI Service Instance with the NetworkService type and role.
- service-instance-id = ns_inst_id
- service-instance-name = ns-name
- service-type = SERVICE_TYPE (NetworkService)
- service-role = SERVICE_ROLE (NetworkService)
- For the response, gets the nsInstance data from GetNSInfoService
- Collects only the NS related mandatory information, not VnfInstance, VlInstance, or else
- Note: CreateVNF and InstantiateVNF happen during the InstantiateNS, not part of Create NS
- Supports return of 201 Created with the NsInstance (with NS related mandatory information)
- Register SO NFVO in MSB
|
(SO-3225)YesNo | Jira |
---|
server | ONAP JIRA |
---|
serverId | 425b2b0a-557c-3c0c-b515-579789cceedb |
---|
key | SO-3386 |
---|
|
|
High |
|
|
| Enhance Instantiate NS |
| SO NFVO needs to enhance the Instantiate NS backend operations and workflows which do the following sequence: - validate if it works with 3.3.1 - Upgrade the NS LCM and workflows for 3.3.1 and test the existing functions.
- Test the following scenarios are still working:
Support VLs (see the VL user stories)Test Instantiate NS including VLs support
|
<Instantiate NS: note: the following workflow is a template, and it can be enhanced as needed.>
Image Removed
- Supports SOL005-compliant InstantiateNSRequest request and parameters
- Creates BPMN workflows and business logic for the following Instantiate NS operations
- Create a Job Id
- Updates NS_Instance Status to INSTANTIATING to the NFVO NS Instance database table
- Handles input parameters from the InstantiateNsRequest
- additionalParamsForNs
- the VnfProfileId is the vnf descriptor id
|
- from the tosca.nodes.nfv.VNF vnf_profile (tosca.datatypes.nfv.VnfProifle) properties in NSD
- note: the VnfProfile data type properties are: instantiation_Level, min_number_of_instances, max_number_of_instances
- note: this property is only used in an NSD service template when describing a VNF node template with the corresponding VnfProfile information.
- pass vim_id with tenant id
- additionalParamsForVnf
- If it is provided in the request, use additionalParamsForVnf attributes when invoking SOL003 Adapter.
- Otherwise, formulate additionalParams for SOL003 Adapter invocation from the NSD plus additional user input
- use of VNF input for additionalParamsForVnf is under investigation
- pseudo logic:
- plan_input = job_id, ns_inst_id, dst_plan, additionalParamsForNs, additionalParamsForVnf, additionalParamsForPnf
- dst_plan = get nsd with the given nspackage_id, input parameters
- Get an ns instance id from the parameter
- get job id and occ id from the NS LCM Mgr
- Gets VNF VIM from the location_constraints
- Gets NSD from ETSI Catalog Manager and parses NSD (by using either SDC parser or ETSI Catalog Manager parser)
- Note: until either SDC parser or ETSI Catalog Manager parser is ready, use the current SO NFVO internal TOSCA parser
- If ETSI Catalog Manage parser is used, use the following ETSI Catalog Manager API:
curl -X POST /api/parser/v1/parsernsd' \ -H 'Content-Type: application/json' \ --data-raw '{ "csarId": "csarid", "packageType": "ns", "inputs": "[]" }'
- Updates NFVO_INST db to modify nsd model
- Gets VNFs from the NSD
- For each VNF, invokes the SOL003 Adapter with SOL003-compliant requests
- To call the SOL003 Adapter, use the current SOL003 Adapter Rest API (which is internal to SO)
- Note: exposing ETSI SOL003-compliant SOL003 Adapter REST API will be handled by the separate user story (most likely in the Honolulu release).
- The SOL003 Adapter internal REST API will be enhanced to carry additional attribute(s), such as tenant id, VNF package id
- The Create VNF internal API in SOL003 Adapter will invoke both Create and Instantiate VNFs
- Send parameters such as vnfd_id, vnfm_type, vimId, s_vimId (with "cloud_owner"_"cloud_regionid") and tenant id to SOL003 Adapter
- For Granting VNF, support VNF granting based on the existing SOL003 Adapter.
- Note:
- Currently SOL003 adapter uses “ModelVersionId" from
|
- to retrieve the VNFD from SDC/etsi catalog. In order to create
|
- it also need model invariant id because of the relationship defined between
|
- service-design-and-creation/models.
Supports VirtualLink connections between VNFsSupports createVLs (call MultiCloud through MultiCloud Adapter)Follow the Create VLs user story
- Updates NFVO_NSINST db table: update NFVO_NSINST with the nsd model
- Sets job status = NS Instantiate ends
- Updates NsLcmOpOCC to COMPLETED
Note: Sends nsLcmOperationOccurrenceNotificationNote: this notification will be handled by a separate notification and subscription user story.
|
Yes
| No | Jira |
---|
server | ONAP JIRA |
---|
serverId | 425b2b0a-557c-3c0c-b515-579789cceedb |
---|
key | SO-3387 |
---|
|
|
High |
|
|
| Enhance Terminate NS |
| SO NFVO needs to enhance the Terminate NS backend operations and workflows which do the following sequence: - validate if it works with 3.3.1 |
Support Terminate VLs (see the VL - Upgrade the NS LCM and workflows for 3.3.1 and test the existing functions.
- Test the following scenarios are still working:
Support Terminate VLs (see the VL user stories)Test Terminate NS including VLs support
|
<Terminate NS: note: the following workflow is a template, and it can be enhanced as needed.>
Image Removed- Supports SOL005-compliant TerminateNSRequest request and parameters
- Only support for the immediate Terminate request; i.e., terminateTime field is empty.
- Creates BPMN workflows and business logic for the following Terminate NS operations
- Supports input parameter handling
- Initialize Parameters: Get an ns_inst_d, job_id and request_data from the parameters
- set terminate_type, terminate_timeout from request_data
- set job_id, ns_inst_id
- set occ_id by creating a record in NsLcmOpOccModel DB
- Checks if the NS instance already exists
- if there no matching NS instance from the NFVO_NSINT database table, consider there is nothing to terminate, and return (not an error, but log that there is no matching NS instance)
- Sets Job Status to Starting: set job status as "Starting terminate..."
- Updates the NFVO_NSINST database table with the status = TERMINATING
- Cancels VNF list (through SOL003 Adapter)
- Gets a VNF instance list from the NFVO_NFINST
- for each vnf inst
- delete_vnf (nf_instid)
- POST /api/nslcm/v1/ns/terminateVnf/{instId} to the SOL003 Adapter
- For the Terminate VNF internal request, the SOL003 Adapter will invoke both Terminate and Delete VNF operations
Cancels VL list (through MultiCloud Adapter)Follow the Delete VLs user story; pass the VL list
- Modifies the NFVO_NSINST database table, status = NOT_INSTANTIATED
- Sets job status = NS terminate ends
- Updates NsLcmOpOCC to COMPLETED
Note: Send nsLcmOperationOccurrenceNotificationNote: this notification will be handled by a separate notification and subscription user story.
|
Yes | No | Jira |
---|
server | ONAP JIRA |
---|
serverId | 425b2b0a-557c-3c0c-b515-579789cceedb |
---|
key | SO-3388 |
---|
|
|
High
Image Removed |
|
|
| Enhance Delete NS
|
| SO NFVO needs to enhance the Delete NS backend operations and workflows which do the following sequence: - validate if it works with 3.3.1 |
<Delete NS: note: the following workflow is a template, and it can be enhanced as needed.>
- Upgrade the NS LCM and workflows for 3.3.1 and test the existing functions.
- Test the following scenarios are still working:
|
- Supports SOL005-compliant DeleteNS operation with nsInstanceId
- Creates BPMN workflows and business logic for the following Delete NS operations
- Supports input parameter handling
- Initialize Parameters: get ns_inst_id
- Deletes ns instance in AAI
- Gets ns_instances from NFVO_NSINST database table
- if there are ns_instances,
- Queries AAI for global_customer_id, service_type, ns_inst_id
- Invokes delete_ns_aai with global_customer_id, service_type, ns_inst_id, resource_version
- Formulates the resource url with parameters
- Invoke AAI Rest API: call_aaI (resource, "DELETE")
- note: if there are discrepancies between VNF and NS status in AAI (e.g., VNF was not deleted yet), it is an error condition
- Deletes ns_inst_id row from the NFVO_NSINST database table
- note: if multiple records for the givin ns_inst_id are found, it is an error condition
Deletes ns_inst_id row from the t_lcm_inputparam_mapping database tableDeletes ns_inst_id row from the t_lcm_defPackage_mapping database tableDeletes ns_inst_id row from the t_lcm_servicebaseinfo database table- Returns 204 No Content
Send NsIdentifierDeletionNotificationNote: this notification will be handled by a separate notification and subscription user story.
|
Yes | No | Jira |
---|
server | ONAP JIRA |
---|
serverId | 425b2b0a-557c-3c0c-b515-579789cceedb |
---|
key | SO-3389 |
---|
|
|
High
Image Removed |
|
|
| Enhance Get NS Operation Status |
| SO NFVO needs to enhance the Get NS Operation Status operation and workflows which do the following sequence: - validate if it works with 3.3.1 |
<Get NS Operation Status: note: the following workflow is a template, and it can be enhanced as needed.>
Note: the following workflow is for illustration purpose. Since the operation sequence (sending a query to a database and get the NsLcmOpOcc data, the work flow is not necessary
- Upgrade the NS LCM and workflows for 3.3.1 and test the existing functions.
- Test the following scenarios are still working:
|
- Supports SOL005-compliant Get NS Operation Status operation
- Supports input parameters handling:
- Initialize Parameters: set lcm_op_occ_id, parameter
|
if - If the nsLcmOpOccId exists,
- Queries NSLCMOPOCCS DB for the nsLcmOpOccId
- Returns NsLcmOpOcc
- else
Queries NSLCMOPOCCS DB for allReturns NsLcmOpOcc[]
- In Honolulu, support only the individual GET nsLCMOPOCCS.
|
YesNo | Jira |
---|
server | ONAP JIRA |
---|
serverId | 425b2b0a-557c-3c0c-b515-579789cceedb |
---|
key | SO-3390 |
---|
|
|
High |
|
|
| Create NS Subscription |
| SO NFVO needs to support the Create NS Subscription operation and workflows which do the following sequence: <Create NS Subscription: note: the following workflow is a template, and it can be enhanced as needed.> Image Modified
- Supports SOL005-compliant Create NS Subscription operation
- Supports input parameters handling:
- Initializes Parameters: set subscription filters
- callback_uri
- authentication
- notification_types
- operation_types
- operation_states
- ns_component_types
- lcm_opname_impactin_nscomponent
- lcm_opoccstatus_impacting_nscomponent
- nsInstanceSubscriptionFilter
- Creates Subscription ID: create subscription id
- Checks valid auth info:
- Checks Filter Type:
- checks if the notification is NOTIFICATION_TYPE.NSLCM_OPERATION_OCCURRENCE_NOTIFICATION
- Checks Valid:
- Checks Callback_URI: check callback Uri
- checks if the callbackUri exists in the NFVO_SUBSCRIPTION DB
- if no subscription, return true
- else
- checks additional filter types, notificationTypes, operationTypes, operationStates
- if the filters are NOT equal, return false
- checks ns instance filter, If the filter type is not equal, return false
- return true
- saves subscription request to database
- returns response with subscription
|
Yes | Image RemovedSO-2872 - Create NS Subscription Backend Service OPEN
| | No | Jira |
---|
server | ONAP JIRA |
---|
serverId | 425b2b0a-557c-3c0c-b515-579789cceedb |
---|
key | SO-2872 |
---|
|
|
High
Image Removed |
|
|
| Get NS Subscription |
| SO NFVO needs to support the Get NS Subscription operation and workflows which do the following sequence: <Get NS Subscription: note: the following workflow is a template, and it can be enhanced as needed.> Image Modified
- Supports SOL005-compliant Get NS Subscription operation
- Supports input parameters handling:
- Initializes Parameter: set subscription_id, params
- if there is no param,
- Queries NFVO_SUBSCRIPTION DB for all
- Returns LccSubscription[]
- else if there is param, subscriptionId,
- Queries NFVO_SUBSCRIPTION DB for the subscriptionId
- Returns LccSubscription
|
Yes | | No | Jira |
---|
server | ONAP JIRA |
---|
serverId | 425b2b0a-557c-3c0c-b515-579789cceedb |
---|
key |
---|
|
|
- Get NS Subscription Backend Service OPENHigh | Delete NS Subscription | |
|
|
| Delete NS Subscription |
| SO NFVO needs to support the Delete NS Subscription operation and workflows which do the following sequence: <Delete NS Subscription: note: the following workflow is a template, and it can be enhanced as needed.> Image Modified
- Supports SOL005-compliant Delete NS Subscription operation
- Supports input parameters handling:
- Initialize Parameters: set subscriptonId
- Deletes NFVO_SUBSCRIPTION DB for the subscriptionId
- if success, return 204 No Content
- else, return error
|
Yes | Image RemovedSO-2875 - Delete NS Subscription Backend Service OPEN
| | No | Jira |
---|
server | ONAP JIRA |
---|
serverId | 425b2b0a-557c-3c0c-b515-579789cceedb |
---|
key | SO-2875 |
---|
|
|
High |
|
|
| Send NS Notifications |
| SO NFVO needs to support the Send NS Notification operation and workflows which do the following sequence: <Send NS Notification: note: the following workflow is a template, and it can be enhanced as needed.> Image Modified
- Supports SOL005-compliant Send NS Notification operation
- Supports input parameters handling:
- Initialize Parameter:
- query NFVO_SUBSCRIPTION DB for the given key
- get the callback URI from the return subscription
- Formulates notification data (one of the followings)
- NsLcmOperationOccurrenceNotification,
- NsIdentifierCreationNotification,
- NsIdentifierDeletionNotification or
- NsChangeNotification
- Sends notifications to the subscriber(s) for NS LCM: POST <<callback URI>> (<<Notification>>)
- Gets response: 204 No Content from the subscriber (e.g, SO SOL005 Adapter)
|
Yes | Image RemovedSO-2876 - Send NS Notifications Backend Service OPEN
| | No | Jira |
---|
server | ONAP JIRA |
---|
serverId | 425b2b0a-557c-3c0c-b515-579789cceedb |
---|
key | SO-2876 |
---|
|
|
High |
|
|
|
|
|
|
|
|
|
|
| Support for Create VLs |
| SO NFVO needs to support the Create VLs operation and workflows which do the following sequence: - Note: Create VLs operations are called as part of the Instantiate NS.
- Supports Create VLs operation
- Supports input parameters handling:
- Initializes Parameters: set VL data
- Creates VL to VIM through the MultiCloud Adapter
- ownerid in the NFVO_VLINST database = ns_inst_id
- Saves VL to NFVO_VLINST database
- Creates Network in AAI
- Supports a simple MultiCloud simulator
|
Yes | Image RemovedSO-2886 - Support for Create VLs OPEN
| | No | Jira |
---|
server | ONAP JIRA |
---|
serverId | 425b2b0a-557c-3c0c-b515-579789cceedb |
---|
key | SO-2886 |
---|
|
|
High |
|
|
| Support for Delete VLs |
| SO NFVO needs to support the Delete VLs operation and workflows which do the following sequence: - Note: Delete VLs operations are called as part of the Delete NS.
- Supports Delete VLs operation
- Gets VL info from the NFVO_VLINST DB for the vl_inst_id
- Gets ns_inst_id from the VL info ownerid (= ns_inst_id)
- Gets vim_id from the VL info vimid
- Gets subnet_id_list from the VL info relatedsubnetworkid
- Gets network_id
- Invokes delete_vl_from_vim (vim_id, subnetwork_id_list, network_id) thru the MultiCloud Adapter
- Invokes delete_network_and_subnet_in_aai()
- Invokes delete_vl_from_db (vl_inst_info)
- delete the vl_inst_info record from NFVO_VLINST DB
- Support a simple MultiCloud simulator
| No |
Yes | Image RemovedSO-2887 - Support for Delete VLs OPEN
| Jira |
---|
server | ONAP JIRA |
---|
serverId | 425b2b0a-557c-3c0c-b515-579789cceedb |
---|
key | SO-2887 |
---|
|
|
High |
|
|
| Support for Get VLs |
| SO NFVO needs to support the Get VLs operation and workflows which do the following sequence: - Note: Get VLs operations are called as part of the Instantiate and Delete NS.
- Supports SOL005-compliant Get VLs operation
- Queries VL info for the given vl_inst_id
- Queries NFVO_VLINST DB for the vl_inst_id
- Returns a record for the vl_inst_id
|
Yes | Image RemovedSO-2888 - Support for Get VLs OPEN
|
| No | Jira |
---|
server | ONAP JIRA |
---|
serverId | 425b2b0a-557c-3c0c-b515-579789cceedb |
---|
key | SO-2888 |
---|
|
|
High |
|
|
| Support for granting VNF (non OOF-based one) |
| SO NFVO needs to support the granting VNF (non OOF-based one) operation and workflows which do the following sequence: - When SOL003 Adapter requests for VNF granting, it provides granting decisions
- Migrate the current SOL003 Adapter granting logic to here.
| No |
Image RemovedSO-3142 - Support for granting VNF (non OOF-based one) OPEN | Jira |
---|
server | ONAP JIRA |
---|
serverId | 425b2b0a-557c-3c0c-b515-579789cceedb |
---|
key | SO-3142 |
---|
|
|
|
|
| Support for NS Catalog DB Adapter |
| SO NFVO needs to enhance access for ETSI Catalog Manager - Support for queries for VNF/PNF/NS package management
|
Get notifications from ETSI Catalog ManagerYes | Image RemovedSO-2845 - Support for NS Catalog DB Adapter CLOSED
| Note: it is done in Guilin. | No | |
|
|
|
| Support for queries |
Support for queries for VNF/PNF/NS package management | - SO NFVO needs to query ETSI Catalog Manager for NS/PNF/VNF packages by using the ETSI Catalog Manager package management swagger
- Note: for VNF packages, refer to the existing SOL003 Adapter ETSI Catalog Manager access mechanism
- ETSI Catalog Manager package management swagger (could be updated for v2.7.1):
- note: for SO NFVO, only NS and VNF package management API will be used, not PNF
- note: it is done in Guilin for VNF/NS.
Image Modifiedetsicatalog.swagger.json |
Yes | Image RemovedSO-2877 - Support for queries for NS/VNF/PNF package management CLOSED
| Support for package notification endpoint for ETSI Catalog Manager notification |
| - SO NFVO needs to provide the notification endpoint for NS/PNF/VNF packages by using the ETSI Catalog Manager package management notification swagger.
- SO NFVO should support SOL005-NSDManagementNotification-API compliant Notification API.
|
All%20jobsNFV%20-%20Network%20Functions%20VirtualisationYes | Image RemovedSO-2878 - Support for notification endpoint for ETSI Catalog Manager notification OPEN
| High | --------- NFV+-+Network+Functions+Virtualisation/job/sol005-master/lastSuccessfulBuild/artifact/build/SOL005-NSDManagementNotification-API.yaml
- POST /URI_is_provided_by_the_client_when_creating_the_subscription_NsdOnBoardingNotification
- GET /URI_is_provided_by_the_client_when_creating_the_subscription_NsdOnBoardingNotification
- POST /URI_is_provided_by_the_client_when_creating_the_subscription_NsdOnBoardingFailureNotification
- GET /URI_is_provided_by_the_client_when_creating_the_subscription_NsdOnBoardingFailureNotification
- POST /URI_is_provided_by_the_client_when_creating_the_subscription_NsdChangeNotification
- GET /URI_is_provided_by_the_client_when_creating_the_subscription_NsdChangeNotification
- POST /URI_is_provided_by_the_client_when_creating_the_subscription_NsdDeletionNotification
- GET /URI_is_provided_by_the_client_when_creating_the_subscription_NsdDeletionNotification
POST /URI_is_provided_by_the_client_when_creating_the_subscription_PnfdOnBoardingNotificationGET /URI_is_provided_by_the_client_when_creating_the_subscription_PnfdOnBoardingNotificationPOST /URI_is_provided_by_the_client_when_creating_the_subscription_PnfdOnBoardingFailureNotificationGET /URI_is_provided_by_the_client_when_creating_the_subscription_PnfdOnBoardingFailureNotificationPOST /URI_is_provided_by_the_client_when_creating_the_subscription_PnfdDeletionNotificationGET /URI_is_provided_by_the_client_when_creating_the_subscription_PnfdDeletionNotification
- Note: for VNF package notification, refer the existing SOL003 Adapter ETSI Catalog Manager access mechanism
- Note: use the notification endpoint as callback uri during subscription
- Note: ETSI Catalog Manager
|
package management notification swagger (could be updated for v2.7.1):
Image Removedetsicatalog.swagger.notification.json
- needs to invoke one of the above notifications that are provided by SO NFVO.
Image Added
| No | Jira |
---|
server | ONAP JIRA |
---|
serverId | 425b2b0a-557c-3c0c-b515-579789cceedb |
---|
key | SO-2878 |
---|
|
|
|
|
| Support for NS package subscription to ETSI Catalog Manager |
| SO NFVO needs to subscribe to ETSI Catalog Manager to receive Nsd{x} Notification(s) - SO NFVO needs to conform to the following SOL005 subscription sequences.
Image Added
| No | Jira |
---|
server | ONAP JIRA |
---|
serverId | 425b2b0a-557c-3c0c-b515-579789cceedb |
---|
key | SO-3457 |
---|
|
|
|
|
=== |
|
| Support for NS Inventory (AAI) Adapter |
| - Provides access for AAI for NS LCM, leveraging the AAI client module
- Refactoring of the current AAI Adapter
- Support for NS AAI APIs (CRUD)
- Support for Network AAI APIs (CRUD)
- Support for VNF AAI APIs (CRUD)
- Support for Vserver AAI APIs (CRUD)
- Support for Customer AAI APIs (CRUD) - TBD
| No |
Image Removed | Jira |
---|
server | ONAP JIRA |
---|
serverId | 425b2b0a-557c-3c0c-b515-579789cceedb |
---|
key | SO-2846 |
---|
|
|
- Support for NS Inventory Adapter OPEN |
|
|
|
| Support for NS AAI APIs (CRUD) | - supports the Create NS AAI (global_customer_id, service_type, service_instance_id, data)
data = { "service-instance-id": ns_inst_id, "service-instance-name": ns_name, "service-type": NetworkService, "service-role": NetworkService } resource = /business/customers/customer/{global_customer_id}/service-subscriptions/service-subscription/{service_type}/service-instances/service-instance/{service_instance_id} - call AAI (resource, "PUT", data)
- supports the Query NS AAI (global_customer_id, service_type, service_instance_id)
- supports the Delete NS AAI (global_customer_id, service_type, service_instance_id, resource_version)
- resource = /business/customers/customer/{global_customer_id}/service-subscriptions/service-subscription/{service_type}/service-instances/service-instance/{service_instance_id}
- if resource_version is not empty, resource_version = resource + "?resource-version={resource_version}
- call AAI (resource, "DELETE")
| No |
Image RemovedSO-2880 - Support for NS AAI APIs OPEN | Jira |
---|
server | ONAP JIRA |
---|
serverId | 425b2b0a-557c-3c0c-b515-579789cceedb |
---|
key | SO-2880 |
---|
|
|
|
|
|
| Support for Network AAI APIs (CRUD) | - supports the Create Network AAI (network_id, data)
data = { "network-id": self.vl_inst_id, "network-name": self.vl_inst_id, "is-bound-to-vpn": False, "is-provider-network": True, "is-shared-network": True, "is-external-network": True, "relationship-list": { "relationship": [ { "related-to": "service-instance", "relationship-data": [ { "relationship-key": "customer.global-customer-id", "relationship-value": self.global_customer_id }, { "relationship-key": "service-subscription.service-type", "relationship-value": self.service_type }, { "relationship-key": "service-instance.service-instance-id", "relationship-value": self.owner_id } ] } ] } } - resource = network/l3-networks/l3-network/{network_id}
- call AAI (resource, "PUT", data)
- supports the Delete Network AAI (network_id, resource_version="")
- resource = network/l3-networks/l3-network/{network_id}
- if resource_version is not empty, resource_version = resource + "?resource-version={resource_version}
- call AAI (resource, "DELETE")
- supports the Query Network AAI (network_id)
- resource = network/l3-networks/l3-network/{network_id}
- call AAI (resource, "GET")
- supports the Create subnet AAI (network_id, subnet_id, data)
resource = /network/l3-networks/l3-network/{network_id}/subnets/subnet/{subnet_id} data = { "subnets": { "subnet": [ { "subnet-id": self.related_subnetwork_id, "dhcp-enabled": False } ] }, } - call AAI (resource, "PUT", data)
- supports the Query subnet AAI (network_id, subnet_id)
- resource = /network/l3-networks/l3-network/{network_id}/subnets/subnet/{subnet_id}
- call AAI (resource, "GET")
- supports the Delete subnet AAI (network_id, subnet_id, resource_version = "")
- resource = /network/l3-networks/l3-network/{network_id}/subnets/subnet/{subnet_id}
- if resource_version is not empty, resource_version = resource + "?resource-version={resource_version}
- call AAI (resource, "DELETE")
| No |
Image RemovedSO-2881 - Support for Network AAI APIs (CRUD) OPEN | Jira |
---|
server | ONAP JIRA |
---|
serverId | 425b2b0a-557c-3c0c-b515-579789cceedb |
---|
key | SO-2881 |
---|
|
|
|
|
|
| Support for VNF AAI APIs (CRUD) | | No |
Image RemovedSO-2882 - Support for VNF AAI APIs (CRUD) OPEN | Jira |
---|
server | ONAP JIRA |
---|
serverId | 425b2b0a-557c-3c0c-b515-579789cceedb |
---|
key | SO-2882 |
---|
|
|
|
|
|
| Support for Vserver AAI APIs (CRUD) | supports the Create Vserver AAI (cloud_owner, cloud_region_id, tenant_id, vserver_id, data) - resource = /cloud-infrastructure/cloud-regions/cloud-region/{cloud_owner}/{cloud_region_id}/tenants/tenant/{tenant_id}/vservers/vserver/{vserver_id}
data = { "vserver-id": vserver_id, "vserver-name": vserver_name, "prov-status": "ACTIVE", "vserver-selflink": "", "in-maint": True, "is-closed-loop-disabled": False, "relationship-list": { "relationship": [ { "related-to": "generic-vnf", "relationship-data": [ { "relationship-key": "generic-vnf.vnf-id", "relationship-value": vnf_instid } ] } ] } } - call AAI (resource, "PUT", data)
- supports the Query Vserver AAI (cloud_owner, cloud_region_id, tenant_id, vserver_id)
- resource = /cloud-infrastructure/cloud-regions/cloud-region/{cloud_owner}/{cloud_region_id}/tenants/tenant/{tenant_id}/vservers/vserver/{vserver_id}?depth=all
- call AAI (resource, "GET")
- supports the Delete Vserver AAI (cloud_owner, cloud_region_id, tenant_id, vserver_id, resource_version="")
- resource = /cloud-infrastructure/cloud-regions/cloud-region/{cloud_owner}/{cloud_region_id}/tenants/tenant/{tenant_id}/vservers/vserver/{vserver_id}
- if resource_version is not empty, resource_version = resource + "?resource-version={resource_version}
- call AAI (resource, "DELETE")
| No |
Image RemovedSO-2883 - Support for Vserver AAI APIs (CRUD) OPEN | Jira |
---|
server | ONAP JIRA |
---|
serverId | 425b2b0a-557c-3c0c-b515-579789cceedb |
---|
key | SO-2883 |
---|
|
|
|
|
|
| Support for Customer AAI APIs (CRUD) | |
|
|
|
|
| Support for NS LCM Database Management |
- Provides NS LCM Database Management
- Creates NS LCM Database tables
- Provides Database Access Objects (DAO) for CRUD
- Creates the following NS LCM Database tables and provides CRUD
id = Enhancement |
| vlinstanceid = models.CharField(db_column='
|
ID', VLINSTANCEID', max_length=255, primary_key=True
|
, max_length=200name = vldid = models.CharField(db_column='
|
NAME200nspackage_id = vlinstancename = models.CharField(db_column='
|
NSPACKAGEIDVLINSTANCENAME', max_length=
|
200 null blanknsd_id = CharFieldNSDID', max_length=200)nsd_invariant_id = OWNERTYPE')
ownerid = models.CharField(db_column='
|
NSDINVARIANTID200description = relatednetworkid = models.CharField(db_column='
|
DESCRIPTIONRELATEDNETWORKID', max_length=255,
|
null blanksdncontroller_id = relatedsubnetworkid = models.CharField(db_column='
|
SDNCONTROLLERIDRELATEDSUBNETWORKID', max_length=
|
200 null blankflavour_id = CharFieldFLAVOURID max_length=200, null=True, blank=True)ns_level = default=0)
vimid = models.CharField(db_column='
|
NSLEVELstatus = 200, null=True, blank=True)255)
tenant = models.CharField(db_column='
|
STATUS200, null=True, blank=True)nsd_model = models.TextField255)
status = models.CharField(db_column='
|
NSDMODEL20000, null=True, blank=True)input_params = models.TextField(db_column='INPUTPARAMS', max_length=2000, null=True, blank=True)scale_params = models.TextField(db_column='SCALEPARAMS', max_length=2000, null=True, blank=True)create_time = models.CharField(db_column='CREATETIME', max_length=200, null=True, blank=True)lastuptime = models.CharField(db_column='LASTUPTIME', max_length=200, null=True, blank=True)global_customer_id = models.CharField(db_column='GLOBALCUSTOMERID', max_length=50, null=True, blank=True)service_type = models.CharField(db_column='SERVICETYPE', max_length=50, null=True, blank=True)nfinstid = models.CharField(db_column='NFINSTID', max_length=200, primary_key=True)
mnfinstid = models.CharField(db_column='M_NFINSTID', max_length=200, blank=True, null=True)
nf_name = models.CharField(db_column='NFNAME', max_length=100, blank=True, null=True)
template_id = models.CharField(db_column='TEMPLATEID', max_length=200, blank=True, null=True)
vnf_id = models.CharField(db_column='VNFID', max_length=200, blank=True, null=True)
package_id = models.CharField(db_column='PACKAGEID', max_length=200, blank=True, null=True)
vnfm_inst_id = models.CharField(db_column='VNFMINSTID', max_length=200, blank=True, null=True)
ns_inst_id = models.CharField(db_column='NSINSTID', max_length=200, blank=True, null=True)
status = models.CharField(db_column='STATUS', max_length=20, blank=True, null=True)
flavour_id = models.CharField(db_column='FLAVOURID', max_length=200, blank=True, null=True)
vnf_level = models.CharField(db_column='VNFLEVEL', max_length=200, blank=True, null=True)
location = models.CharField(db_column='LOCATION', max_length=200, blank=True, null=True)
max_vm = models.IntegerField(db_column='MAXVM', null=True)
max_cpu = models.IntegerField(db_column='MAXCPU', null=True)
max_ram = models.IntegerField(db_column='MAXRAM', null=True)
max_hd = models.IntegerField(db_column='MAXHD', null=True)
max_shd = models.IntegerField(db_column='MAXSHD', null=True)
max_net = models.IntegerField(db_column='MAXNET', null=True)
version = models.CharField(db_column='VERSION', max_length=255, null=True)
vendor = models.CharField(db_column='VENDOR', max_length=255, null=True, blank=True)
vnfd_model = models.TextField(db_column='VNFDMODEL', max_length=20000, blank=True, null=True)
input_params = models.TextField(db_column='INPUTPARAMS', max_length=2000, blank=True, null=True)
scale_params = models.TextField(db_column='SCALEPARAMS', max_length=2000, null=True, blank=True)
create_time = models.CharField(db_column='CREATETIME', max_length=200, null=True, blank=True)
lastuptime = models.CharField(db_column='LASTUPTIME', max_length=200, blank=True, null=True)
extension = models.TextField(db_column='EXTENSION', max_length=65535, blank=True, null=True)
vlinstanceid = models.CharField(db_column='VLINSTANCEID', max_length=255, primary_key=True)
vldid = models.CharField(db_column='VLDID', max_length=255)
vlinstancename = models.CharField(db_column='VLINSTANCENAME', max_length=255, blank=True, null=True)
ownertype = models.IntegerField(db_column='OWNERTYPE')
ownerid = models.CharField(db_column='OWNERID', max_length=255)
relatednetworkid = models.CharField(db_column='RELATEDNETWORKID', max_length=255, blank=True, null=True)
relatedsubnetworkid = models.CharField(db_column='RELATEDSUBNETWORKID', max_length=255, blank=True,
null=True)
vltype = models.IntegerField(db_column='VLTYPE', default=0)
vimid = models.CharField(db_column='VIMID', max_length=255)
tenant = models.CharField(db_column='TENANT', max_length=255)
status = models.CharField(db_column='STATUS', max_length=255)
jobid = models.CharField(db_column='JOBID', primary_key=True, max_length=255)
jobtype = models.CharField(db_column='JOBTYPE', max_length=255)
jobaction = models.CharField(db_column='JOBACTION', max_length=255)
resid = models.CharField(db_column='RESID', max_length=255)
status = models.IntegerField(db_column='STATUS', null=True, blank=True)
starttime = models.CharField(db_column='STARTTIME', max_length=255, null=True, blank=True)
endtime = models.CharField(db_column='ENDTIME', max_length=255, null=True, blank=True)
progress = models.IntegerField(db_column='PROGRESS', null=True, blank=True)
user = models.CharField(db_column='USER', max_length=255, null=True, blank=True)
parentjobid = models.CharField(db_column='PARENTJOBID', max_length=255, null=True, blank=True)
resname = models.CharField(db_column='RESNAME', max_length=255, null=True, blank=True)
request_id = models.CharField(db_column='REQUESTID', max_length=255)
transaction_id = models.CharField(db_column='TRANSACTIONID', max_length=255)
request_status = models.CharField(db_column='REQUESTSTATUS', max_length=50)
request_module_name = models.CharField(db_column='RESOURCEMODULENAME', max_length=100)
service_resource_id = models.CharField(db_column='SERVICERESOURCEID', max_length=255, primary_key=True)
vim_id = models.CharField(db_column='VIMID', max_length=255, null=True, blank=True)
cloud_owner = models.CharField(db_column='CLOUDOWNER', max_length=100, null=True, blank=True)
cloud_region_id = models.CharField(db_column='CLOUDREGIONID', max_length=255, null=True, blank=True)
vdu_info = models.TextField(db_column='VDUINFO', max_length=65535, null=True, blank=True)
subscription_id = models.CharField(db_column='SUBSCRIPTIONID', max_length=255, primary_key=True)
vnf_instance_filter = models.TextField(db_column='VNFINSTANCEFILTER', null=True)
ns_instance_filter = models.TextField(db_column='NSINSTANCEFILTER', null=True)
notification_types = models.TextField(db_column='NOTIFICATIONTYPES', null=True)
operation_types = models.TextField(db_column='OPERATIONTYPES', null=True)
operation_states = models.TextField(db_column='OPERATIONSTATES', null=True)
ns_component_types = models.TextField(db_column='NSCOMPONENTTYPES', null=True)
lcm_opname_impacting_nscomponent = models.TextField(db_column='LCMOPNAMEIMPACTINGNSCOMPONENT', null=True)
lcm_opoccstatus_impacting_nscomponent = models.TextField(db_column='LCMOPOCCSTATUSIMPACTINGNSCOMPONENT', null=True)
callback_uri = models.CharField(db_column='CALLBACKURI', max_length=255)
links = models.TextField(db_column='LINKS', max_length=20000)
auth_info = models.TextField(db_column='AUTHINFO', max_length=20000, blank=True, null=True)
id = models.CharField(db_column='ID', max_length=255, primary_key=True)
operation_state = models.CharField(db_column='OPERATIONSTATE', null=False, max_length=30)
state_entered_time = models.CharField(db_column='STATEENTEREDTIME', null=False, max_length=30)
start_time = models.CharField(db_column='STARTTIME', null=False, max_length=30)
ns_instance_id = models.CharField(db_column='NSINSTANCEID', null=False, max_length=255)
operation = models.CharField(db_column='OPERATION', null=False, max_length=30)
is_automatic_invocation = models.CharField(db_column='ISAUTOMATICINVOCATION', null=False, max_length=5)
operation_params = models.TextField(db_column='OPERATIONPARAMS', null=False)
is_cancel_pending = models.CharField(db_column='ISCANCELPENDING', null=False, max_length=5)
cancel_mode = models.TextField(db_column='CANCELMODE', null=True)
error = models.TextField(db_column='ERROR', null=True)
resource_changes = models.TextField(db_column='RESOURCECHANGES', null=True)
links = models.TextField(db_column='LINKS', null=False)
pnfId = models.CharField(db_column='PNFID', primary_key=True, max_length=255)
pnfName = models.CharField(db_column='PNFNAME', max_length=255)
pnfdId = models.CharField(db_column='PNFDID', max_length=50)
pnfdInfoId = models.CharField(db_column='PNFDINFOID', max_length=100)
pnfProfileId = models.CharField(db_column='PNFPROFILEID', max_length=255)
cpInfo = models.TextField(db_column='CPINFO', max_length=255, null=True, blank=True)
emsId = models.CharField(db_column='EMSID', null=True, max_length=255)
nsInstances = models.TextField(db_column='NSINSTANCES', max_length=1000, null=True, blank=True)
service_id = models.CharField(db_column='serviceId', max_length=255, primary_key=True)
service_def_id = models.CharField(db_column='serviceDefId', max_length=255)
template_id = models.CharField(db_column='templateId', max_length=255)
template_name = models.CharField(db_column='templateName', max_length=255)
service_id = models.CharField(db_column='serviceId', max_length=255)
input_key = models.CharField(db_column='inputKey', max_length=255)
input_value = models.CharField(db_column='inputValue', max_length=255, null=True, blank=True)
service_id = models.CharField(db_column='serviceId', max_length=255, primary_key=True)
service_name = models.CharField(db_column='serviceName', max_length=255)
service_type = models.CharField(db_column='serviceType', max_length=20)
description = models.CharField(db_column='description', max_length=255, null=True, blank=True)
active_status = models.CharField(db_column='activeStatus', max_length=20)
status = models.CharField(db_column='status', max_length=20)
creator = models.CharField(db_column='creator', max_length=50)
create_time = models.BigIntegerField(db_column='createTime')
Yes - Done any improvement? | Image RemovedSO-2889 - Support for NS LCM Database Management CLOSED
| Support for MultiCloud Adapter | - Provides MultiCloud Access
- Refactoring of the current SO MultiCloud Adapter
| No | Image RemovedSO-2847 - Support for NS MultiCloud Adapter OPEN
| Support for Create Network to VIM API | - supports the Create Network to VIM through MultiCloud (network_data)
}- create API (data)
- call MultiVimAPI.create_network(auth_info, data)
| No | Image RemovedSO-2884 - Support for Create Network to VIM API OPEN
| Support for Delete Network (VL) from VIM API | - supports the Delete Network from VIM through MultiCloud (vim_id, subnetwork_id_list, network_id)
| No | Image RemovedSO-2885 - Support for Delete Network (VL) from VIM API OPEN
| Package and dynamically deploy NS LCM Workflows with business logic
When ONAP SO support Dynamic BPMN, package and deploy NS LCM workflows with business logic as a WAR file. - Packages and deploys NS LCM workflows with business logic for NS LCM as a WAR file
- contains default NS LCM workflows and business logic
- deploys the WAR file before or while ONAP SO is running
- This feature tests ONAP SO custom NS workflows deployment (Hot deployment) for NS
- 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/Rest interfaces for the custom workflow war deployment would be supported
| No | Image RemovedSO-2891 - Package and dynamically deploy NS LCM Workflows with business logic, as a deployable workflow WAR OPEN
| Package and deploy default NS LCM workflows with business logic | - Provides the default NS LCM workflows with business logic for NS LCM
- Package the default NS LCM workflows with business logic as a deployable WAR file
- Removes the embedded Camunda process.
- Deploy the NS workflow WAR file by leveraging the REST API that is provided by the NS LCM Manager
| No | Image RemovedSO-2892 - Package and deploy default NS LCM workflows with business logic OPEN
| Support for UI and REST interfaces for custom workflow war deployment | - Supports for UI and REST interfaces for custom workflow war deployment
- In Honolulu, only REST interfaces for the NS Workflows war deployment
- NS LMC Manager provides the REST interface for the deployment
| No | Support for NS Resource Infra Management (RIM) Manager | - Provides Resource Granting Information through OOF (Policy, MultiCloud, A&AI) (P1)
- Supports Or-Vi Interfaces that provided by VIM, Infrastructure Manager, VIM or CaaS manager (note: for Honolulu, many of them would be stretch goals) (P1 Partial)
- Software Image Management (P1)
Container Image Management (P2)
Virtualized Resources Information ManagementVirtualized Resources Capacity Management
Virtualized Resources ManagementVirtualized Resources Change Management
Virtualized Resources Reservation ManagementVirtualized Resource Quota Management
Virtualized Resource Performance ManagementVirtualized Resource Fault Management
Network Forwarding Path (NFP) Management
| No | Image RemovedSO-2844 - Support for NS Resource Infra Management (RIM) Manager OPEN
| Support for OOF-based Granting VNF | - Provides Grant VNF
- Receives a Grant VNF request from SOL003 Adapter
- If OOF-based Grant VNF is supported
- Uses homing data from ONAP SO E2E
- else use the non-OOF-based Grant
| Support for Software Image Management | - Provides Software Image to VIM based on the Or-Vi, by leveraging VIM or MultiCloud APIs.
- Note: it depends on the current VIM / MultiCloud API support. If they don't support this, we defer this to the future release.
- Add Image operation (AddImageRequest); gets AddImageResponse
- Query Images operation (QueryImagesRequest); get QueryImagesResponse
- Query Image operation (QueryImageRequest); get QueryImageResponse
- Update Images operation (UpdateImageRequest); get UpdateImageResponse
- Delete Images operation (DeleteImageRequest); get UpdateImageResponse
| ...
...
...
...