ONAP TOSCA Driven Orchestration Orchestrator Functional Internal View

  • Slides: 11
Download presentation
ONAP TOSCA Driven Orchestration

ONAP TOSCA Driven Orchestration

Orchestrator Functional Internal View SO-SO communication across ONAP instances looks like an External API.

Orchestrator Functional Internal View SO-SO communication across ONAP instances looks like an External API. Service Design & Creation Key APIs labeled on slide relative to SO for reference only. OE-11 Dashboard OA&M Select Recipe Data Store Service Models OI-1 Map Request Data to Recipe & Invoke BPEL Execution Orch Service & Resource Catalog Models OI-4 OI-5 Orch Execution Engine BPMN DB Request Handler Track Requests OI-8 OI-3 OI-2 SDC Distribution Client Orchestrator Data Movement API Handler (BPMN/TOSCA) Service Level OI-15 OI-16 OI-13 Scale LCM Asgn Actv Select Adapter Template Map Data to Template Execute Transaction OI-14 OI-12 SDNC Common OI-11 Infrastructure/Network Adapter Controller functions specific only to SDNC. E. g. , “Assign Network Resources” for the VNFs in a L 4+ Service. OE-8 Multi-Cloud Controller Adapter OE-9 SDN Controller OE-10 a OE-10 b Generic NF Controller Data Movement OI-10 OI-7 Resource Level Orch OI-9 Resource/Controller Adapters OI-x SO Internal API Data Collection, Analytics, and Events Event Correlation Allotted Resources case OE-6 ONAP Optimization Framework Complex Services case / / OE-3 Micro Services Bus OE-5 External API OE-2 Store Request SO External API SO-SO communication within a single ONAP instance is via Micro Services Bus. OE-4 OE-1 OE-x OE-7 Active & Available Inventory External Registry Controller functions common to both SDN -C and Generic NF Controller (OE-10 a for LCM, OE-10 b for App Configuration). Note that these may actually be separate APIs for SDNC and Gen. NFC 2

Layers of TOSCA Orchestration (Original Approach) Instantiate Service_Request Service Template SO Service Level Orchestration

Layers of TOSCA Orchestration (Original Approach) Instantiate Service_Request Service Template SO Service Level Orchestration Resource Level Orchestration Multi. VIM Build ANF Build Service Template PNF Build Service Template Network Build Service Template VNF Build Service Template VF Module Service Template Assign Request Build Cloud Workload Level Orchestration 3

High Level TOSCA Organization (Original Approach) Service Template VNF Service Template VF Module Service

High Level TOSCA Organization (Original Approach) Service Template VNF Service Template VF Module Service Template PNF Service Template Build (inputs) Assign (inputs) Request (inputs) Build (inputs) Network Service Template Allotted Resource Service Template Build (Inputs) Build (inputs) 4

Major TOSCA Orchestration Gaps - (Original Approach) 1. Conversion from onboarding to runtime model

Major TOSCA Orchestration Gaps - (Original Approach) 1. Conversion from onboarding to runtime model needs work 2. The sequencing of Node Templates within a Topology Template is not based on Requirements/Capabilities between the Nodes, but rather based on hard-coded heuristics or properties. Need to fix this. 3. Lifecycle operations should be modeled in TOSCA, including the inputs and outputs of those operations. 4. The inventorying of object instance attributes should be driven from TOSCA attributes 5

Service Level TOSCA Orchestration: “Build Plan” (Original Approach) The sequencing is currently hard coded

Service Level TOSCA Orchestration: “Build Plan” (Original Approach) The sequencing is currently hard coded based on Resource Type, but should rather be determined from TOSCA dependencies between the Node Templates. Instantiate Service_Request Decompose Home The mapping of “Build” input data from the “service context” of the Service needs to be TOSCA model driven. Service Level Flow Determine Sequencing Create Assign Svc Instance Config Svc Instance Activate Svc Instance TBD Activate Service Instance Loop Thru Resources OOF Assign Service Instance Decompose Service VNF Service Template Does not support decomposition of Services comprised of Allotted Resources and PNFs. 1. Create service-instance object in A&AI, orchestration-status = Inventoried 2. Call SDN-C Assign (the mapping of input data should be from TOSCA) 3. Update service-instance object in A&AI, orchestration-status = Assigned Build Network Service Template ANF Service Template Build PNF Service Template Build 1. Update service-instance object in A&AI, orchestration-status = Active 6

VNF Level TOSCA Orchestration: “Build Plan” (Original Approach) The sequencing is currently hard coded

VNF Level TOSCA Orchestration: “Build Plan” (Original Approach) The sequencing is currently hard coded based on Resource Type, but should rather be determined from TOSCA dependencies between the Node Templates. “Build” VNF Request Determine Sequencing VNF Level Flow Request VF Mod Instance Assign VNF Instance Config VNF Instance Activate VNF Instance TBD Activate VNF Loop Thru VF Modules Assign VNF 1. Call Controller Configure 2. Update generic-vnf object in A&AI, orchestration-status = Configured 1. Create generic-vnf object in A&AI, orchestration-status = Inventoried 2. Call SDN-C Assign (the mapping of input data should be from TOSCA) 3. Update generic-vnf object in A&AI, orchestration-status = Assigned Assign VF Module Request VF Module 1. Create vf-module object in A&AI, orchestration-status = Inventoried 2. Call SDN-C Assign (the mapping of input data should be from TOSCA) 3. Update volume-group object in A&AI, orchestration-status = Assigned 1. Call Controller Activate 2. Update generic-vnf object in A&AI, orchestration-status = Active 1. Call SDN-C to get vf-module assignments 2. Generate Heat parameters and call Heat to create object in cloud 3. Update vf-module object in A&AI, orchestration-status = Created 7

New Requirement Service A – Service Template Original Approach: 1. Build Service A: A.

New Requirement Service A – Service Template Original Approach: 1. Build Service A: A. Build VNF A. 1 i. Assign VNF A. 1 ii. Create VNF A. 1 iii. Activate VNF A. 1 B. Build VNF A. 2 1. Assign VNF A. 2 2. Create VNF A. 2 3. Activate VNF A. 2 C. Build VNF A. 3 1. Assign VNF A. 3 2. Create VNF A. 3 3. Activate VNF A. 3 VNF A. 1 VNF A. 3 VNF A. 2 New Requirement Approach: 1. Assign Service A: A. Assign VNF A. 1 B. Assign VNF A. 2 C. Assign VNF A. 3 2. Create Service A: A. Create VNF A. 1 B. Create VNF A. 2 C. Create VNF A. 3 3. Activate Service A: A. Activate VNF A. 1 B. Activate C. Activate VNF A. 3 8

High Level TOSCA Organization (New Approach) Service Template VNF Service Template VF Module Service

High Level TOSCA Organization (New Approach) Service Template VNF Service Template VF Module Service Template Assign (inputs) Request (inputs) Assign (inputs) Create (inputs) Configure (inputs) Activate (inputs) Build (inputs) Still exists ? ? ? ? PNF Service Template Assign Configure Activate Allotted. Resource Service Template Assign Create/Config Activate 9

Service Level TOSCA Orchestration: “Build (and other) Plan(s)” (New Approach) Assign Create Configure Activate

Service Level TOSCA Orchestration: “Build (and other) Plan(s)” (New Approach) Assign Create Configure Activate Build Service Template Instantiate Service_Request Service Level Flow Decompose Assign Service Home Configure Create Service Activate Assign Service_Instance Decompose Service Configure Service_Instance OOF Configure Service Instance Create Service_Instance Configure Resources Assign Service Instance Assign Resources Assign Svc Instance Loop Thru Resources NF Service Template Loop Thru Resources Create Service Instance Create Resources Assign Service Instance Activate Service_Instance NF Service Template Activate Service Instance Activate Resources Configure Loop Thru Resources Assign NF Service Template VNF, PNF, Ntw Service Template Create Activate 10

VNF Level TOSCA Orchestration: “Build Plan” (Original Implementation) Request VNF Instance Assign VNF Instance

VNF Level TOSCA Orchestration: “Build Plan” (Original Implementation) Request VNF Instance Assign VNF Instance Activate VF Module Create VF Module Assign VF Module Loop Thru VF Modules Assign Vnf Request Vf Module Create Activate Vf Module Assign Vf Module 1. Create vf-module object in A&AI, orchestration-status = Inventoried 2. Call SDN-C Assign 3. Update volume-group object in A&AI, orchestration-status = Assigned 1. Create generic-vnf object in A&AI, orchestrationstatus = Inventoried 2. Call SDN-C Assign 3. Update generic-vnf object in A&AI, orchestrationstatus = Assigned 1. Send an VF-Module activate request to SND-C (REALLY? ? ? WHY? ? ) 2. Update the vf-module object in A&AI, orchestrationstatus = Active 1. Call SDN-C to get vf-module assignments 2. Generate VF Module Template (or HEAT) input parameter instance values (e. g. , ENV) and call Cloud Orchestrator (e. g. , Open. Stack HEAT) to create object in cloud 3. Update vf-module object in A&AI, orchestration-status = Created 11