Project materials can be found found here
Name of Use Case: Third Party Operational Domain Manager
Participants : Telstra (Use Case Owner)
Endorsing Service Providers :
Vodafone
Verizon (including contribution towards ETSI SOL alignment)
Description:
- A standards-based approach that allows a service provider to have a network automation platform for composite or white labelled services managed by specific/ Third Party “ domain managers
- ONAP provides Operations Domain Management (ODM) and other complementary capabilities to ensure full automation of the E2E lifecycle management of the service via federation
- Services are exposed and consumed via Network as a Service (NaaS) w”hich is an abstraction layer above the operational domains and exposes the services to BSS
- Consistent way of consuming 3rd party services for service providers like Telstra
- ONAP will facilitate service operations value chain for third party domain via federation
- Substitutes multiple handovers between parties/teams and applications to enable zero touch automation
BUSINESS DRIVER
...
Business Impact The use case provides a generic capability in ONAP for seamlessly on-boarding services boarding service specifications from partner (or specific ) domain catalog. Lack of this capability leads to manual creation of partner services in ONAP which is time consuming and error prone. With introduction of this capability, ONAP will be able to consume domain specific service definitions via Open APIs and publish the same to run time components. Next phase of this use case will extend the operational domain manager capabilities to support complete entire service operations value chain for “Third Party” or Domain specific services via federation.
...
PNF/VNF : Preference will be to use Fixed Broadband Access Service and associated network functions as reference for this use case. Clearwater IMS will be the backup option
Product Modeling and Distribution:
Assumptions and Scope of the Solution
- Business Process on sharing of the information between the 3rd Party Domains and the ODM will be defined in advance.
- Network details for the service order, like IP Addresses for the VNFs will be managed by the 3rd Party Domain
- The 3rd Party order will be enriched by the 3rd Party domain with the details needed for complete provisioning
- Connection details - encryption keys, protocols will be agreed upon in advance between the ODM and the 3rd Party.
- Details like cloud region to be used will be made available in advance.
- Policy will be created with the details of the target site and cloud regions to enable homing.
- Definition of Service/Resource is out of scope for the use case and will be taken up separately
- It is assumed that the service provider will allow controlled access to the API to post service definition. Some SPs may receive the definition from the 3rd Party (over email) and then BSS will invoke the API to add the service definition in ONAP
Sample Internet Service - Service Specifications
Mapping of Service Specifications of the sample Internet Service with the respective domain managers
Guiding Principles Followed for this Use Case:
- Minimize impact to existing ONAP Information Model. (No impact to existing SDC model is foreseen based on the analysis done so far)
- All communication from external application with ONAP must be via ExtAPI. This is available today for Northbound Integration for Catalog/Order/Inventory. We would propose to extend this guidance for southbound integration as well.
- Southbound Payload Translation : Any order payload translation towards 3rd Party Domain Manager to stay outside ExtAPI.
- Exposure of third party domain : ONAP will communicate with third party domain and this will not be directly exposed to BSS.
- Controlled access to ONAP SDC Catalog – Only consumers defined in ONAP will have access to post service specification
- Separation of Concerns : Third Party payload for service definition will not have resource level deployment artifacts since resource management is responsibility of third party
Design Time and Run Time View
Work Flows:
This sequence diagram depicts external catalog sync into SDC followed by order request from BSSSDC
The flow steps
...
1 – External Third party domain exports it service catalog details to Telstra. Telstra orchestrator ONAP exposes TMF Open API 633 Service Catalog API via ONAP Ext API component. Third Party Domain leverages the API 633 to POST the Service Catalog payload.
POST nbi/api/v3v2/serviceSpecification
Request body –ONAP compatible Service CSAR / (json ??)CSAR – TMF 633 Service Catalog compatible payload
Payload contents:
RFSS for Partner Domain Service
2 – ONAP Ext API updates SDC catalog by invoking internal SDC API
POST sdc/v2v1/catalog/services
3 – Ext API notifies Third party after successful update within ONAP
4 – Service Decomposition happens Definition Updates / Creation of Composite Service happen in SDC UI (any manual updates e.g. creating composite service)to the received service definition)
Test, Verify and Distribute the Service definition. SDC updates other ONAP components (which have registered with SDC DMaaP) with catalog details
...
5b – AAI pulls inventory details
Ext API also notifies northbound systems (BSS/NaaS) after successful import of the service catalog into ONAP.
5c - BSS retrieves catalog information from ONAP
This sequence diagram depicts the run time view of Third Party Order Activation using the on-boarded service definition
Order Activation Summary
6 – BSS submit submits order using TMF 641 Service Ordering API, that is exposed by ONAP Ext API
...
8 – ONAP SO decomposes the service and , updates AAI with Service instance details
9 a– SO submits the request to internal network domain. This request will follow the existing process of request getting submitted to ONAP to VIM. There can be multiple such domains.
9 b– SO submits the request by invoking Ext API (This is similar to what is being proposed for CCVPN use case as well. This maintains that only Ext API interacts with outside world and other ONAP components do not)9 [Note - There can be multiple 3rd Party domains, After SO decomposes the CFS into multiple RFSs, Ext API will send the request to the corresponding 3rd party domain]
10 – ONAP Ext API invokes the Third Party Ordering APIOrdering API, order translation to 3rd Party format happens outside Ext API, translated order gets submitted to 3rd Party domain
11 – Ext API updates AAI with the RFS instance details received from 3rd party response. AAI topology gets synced with the Service instance details to the level of the RFS instance.
12 - Ext API updates SO with the order item status for the RFS order item. Once SO has received responses for all the RFS order items in the order, it sends a response to Ext API which then responds to BSS with order update.
Sub Use Case 1 (targeted for F Release)
...
Below sequence diagrams are depicting the Catalog Sync functionality in more detail:
High level flow of the activities for importing an external Service Catalog into ONAP with Payload Detail
...
Flow Diagram for Ext API to register for SDC Service Creation Notification
Flow Diagram for SDC Service Distribution - SO Impact
Flow Diagram for Service Instantiation - SO Impact
Project Impact:
Projects impacted as part of sub use case 1
...
- Expose POST functionality of SDC Onboarding API as an external API within ONAP
- Reuse sdc-dao to update the Cassandra database and store the new service in SDC catalog
- Reuse SDC distribution functionality to distribute the new service to registered ONAP components (no change )
- Existing UUID creation logic will be used
- Last mile access service from 3rd party will be used for detailed analysis and reference implementation
- TOSCA based onboarding in work in progress in SDC, it supports heat based only. The TOSCA based work is ongoing separately in Modeling project. This dependency on Modeling project need to be looked into.
- SDC UI Impact analysis is in-progress to identify how to segregate the Third Party services from other services which will have more VF level details associated with them.
- Created epic https://jira.onap.org/browse/SDC-2378
- We should add metadata in SDC Service metadata definition which indicates whether a service is CFS (public) or RFS (private)
Video showing service on-boarding and reuse in service definition ( in SDC local instance setup at Telstra) :
Attached video takes us through the service creation journey, from creation to distribution-approved, in SDC with the help of the API and SDC UI
View file name onap-sdc-servicecreation.mp4 height 250
Below video shows an example of how the imported service definition can be used to create a composite service
View file name onapdemo-composite-service.mp4 height 250
Possible Approaches for 3rd Party Catalog Sync Entity
...
- Onboard the service in ONAP SDC as a Service, will require updates to Service onboarding API (proposed)
Sample payload
Possible Approaches for 3rd Party Catalog payload Option
...
- Leveraging existing approach for Ext API / NBI
- ExtAPI / NBI will need to convert JSON to YAML for SDC Consumption
...
- send the JSON in SDC compatible format for its Consumption in v1/catalog/services
Sample payload
Structure of SDC generated TOSCA CSAR
Payload Option 2: CSAR
- Potential reuse from TOSCA onboarding Project in SDC
- This might alter existing Ext API / NBI approach
- There would be additional implementation at Third Party end to generate higher level TOSCA
(VLM to be manually created and any service coming from 3rd Party domain
...
should be attached to specific VLM)
Ext API (yet to be analyzed in detail and scoped)
- Introduce POST for TMF API 633 – Service Catalog API
- Realization of POST operation in Ext API will depend on decisions taken during SDC implementation.
- Details of changes are added on Ext API's Frankfurt Release API Requirements Gathering Page
- Ext API changes to be planned for future release (partner contribution during Frankfurt is welcome)
Work Commitment:
Telstra team will work on SDC. We welcome partner contributions into this usecase.
...