Support for Intent Framework and Intent Modeling
Use Case Overview & Description
Note: 'Support for Intent Framework and Intent Modeling' might be viewed as Honolulu POC (TSC 2020-11-05 ).
In R7, Intent technology was proposed as a proof-of-concept (REQ-329). It can be viewed as one of most promising solutions towards autonomous network.
This requirement propose to enhance ONAP with an general-purpose intent framework, which may contains intent translation, intent execution and intent decision and execution etc. We would like to provide more POCs around it, and propose to be one of ONAP component or sub-component in the future. In R8, the requirement will provide the internal reference architecture and interacting with other ONAP components, and also introduce intent modeling for specific use cases, such as intelligent radio capacity optimization and intelligent slicing management.
Introduction to Intent Framework
Intent framework is a system that helps to implement and operate networks that can improve network availability and agility. It takes a high-level business goal (intent) as input, converts it to the necessary network configurations and applies the network changes via network automation and/or network orchestration. Continuously monitoring the status of the network under control, the system validates in real time that the intent is being met, and can take corrective actions when desired intent is not met.
It contains following functional blocks (to be discussed in Honolulu release):
Intent UI ( Covred in ONAP UUI by REQ-453: Smart Operator Intent Translation in UUI based on IBN - R8 5G Slicing SupportDone)
Intent Management:
Providing NBI for consumers, including intent schema and instance management in a general way
Intent Translation:
Translate high-level of abstraction to a more concrete form in order to be validated and processed.
The system takes a higher-level business goal (what) as input from end users and converts it to the necessary network configuration or orchestration request (how).
Intent Decision and Execution:
Decide which, if any, candidate solution shall be executed in response to a request by another managed entity for a set of governance actions.
Execute one of translated intent solution by sending request to other component, such as SO, CDS, Policy, or external low-level intent system (intent framework).
Intent Database:
Store intent schema, intent instance and intent knowledge
Requirement Summary
1. Intent Framework architecture definition
Functional blocks and interfaces between them
Initial Implementation as a separate component with multiple micro services.
2. External interface to other existing ONAP Components
UUI, SO, CDS, AAI/CPS, etc
3. Discussion of general Intent modeling, and giving some concrete intent data model for specific use cases
4. Demo of Intent Framework
Use Case Key Information
TOPIC | DESCRIPTION | WIKI PAGE |
Requirements Proposal | This is a link to the requirements proposal made on the Requirements Sub-committee | |
Architecture S/C info | Information on the Architecture sub-committee presentation. | |
Prior Project "Base" Wiki | Link to the "base" wiki for the Use Case, or work from a prior release. | |
Requirements Jira (REQ-###) Ticket | Link to the REQ Jira ticket for this use case | |
Key Use Case Leads & Contacts | USE CASE LEAD: @Lei Huang (Unlicensed) @Huang ZongHe @wangyaoguang USE KEY CONTACTS: | |
Meetings Register & Recordings | Link to Use Case Team meetings. |
BUSINESS DRIVER
This section describes Business Drivers needs. These business drivers are presented on the Requirements Sub-committee and should also be put into the release requirements sub-committee page.
Executive Summary - In R7, Intent technology was proposed as a proof-of-concept (REQ-329). It can be viewed as one of most promising solutions towards autonomous network. This requirement propose to enhance ONAP with an general-purpose intent framework, which may contains intent translation, intent execution and intent decision and execution etc. We would like to provide more POCs around it, and propose to be one of ONAP component or sub-component in the future. In R8, the requirement will provide the internal reference architecture and interacting with other ONAP components, and also introduce intent modeling for specific use cases, such as intelligent radio capacity optimization and intelligent slicing management.
Business Impact - It is a valuable business function that can furthermore reduce the operation expense in terms of automation management.
Business Markets - All operators and service providers that want to use ONAP for network management.
Funding/Financial Impacts - Reduction in operations expense from using procedural while complex operations to using intent-driven declarative operations.
Organization Mgmt, Sales Strategies - (It is suggested that you use the following wording): There is no additional organizational management or sales strategies for this use case outside of a service providers "normal" ONAP deployment and its attendant organizational resources from a service provider. (This would typically describe the "WHO", but because use cases are all deployed with ONAP itself, these two areas come with the actual ONAP deployment and uses the organizational management and sales strategies of a particular service provider's ONAP deployment)
Development Status
PROJECT | PTL | User Story / Epic | Requirement |
A&AI | @William Reehil | ||
AAF | @Jonathan Gathman | ||
APPC | @Takamune Cho | ||
CLAMP | @Gervais-Martial Ngueko | ||
CC-SDK | @Dan Timoney | ||
DCAE | @Vijay Kumar | ||
DMaaP | @Mandar Sawant | ||
External API | @Adrian OSullivan | ||
HOLMES | @Guangrong Fu | ||
MODELING | @Hui Deng | ||
Multi-VIM / Cloud | @Bin Yang | ||
OOF | @krishna moorthy | ||
OOM | @Sylvain Desbureaux | ||
POLICY | @James Hahn | ||
PORTAL | @Sunder Tattavarada | ||
SDN-C | @Dan Timoney | ||
SDC | @ChrisC | ||
SO | @Seshu Kumar Mudiganti | ||
VID | @Ikram Ikramullah | ||
VF-C | @Yuanhong Deng | ||
VNFRQTS | @Steven wright | ||
VNF-SDK | @victor gao | ||
CDS | @Yuriy Malakov |
List of PTLs:Approved Projects
*Each Requirement should be tracked by its own User Story in JIRA
USE CASE DIAGRAM
Use Case Functional Definitions
Use Case Title | Network Provision |
Actors (and System Components) | Network Operator |
Description | Network Provision |
Points of Contact | |
Preconditions | Network operator input Intent as : Allocate a network to satisfy the network consumer's intent |
Triggers / Begins when | |
Steps / Flows (success) | show as the above figure |
Post-conditions | |
Alternate / Exception Paths | Description of any exceptions or special process that could occur during Use Case |
Related Use Cases | |
Assumptions | |
Tools / References / Artifacts | Swagger API/ ONAP SO / AAI/ Policy/SDC |
Supporting materials
TEST Report
Test Case:
Network Provision Test Flow
Offered APIs by Intent Framework | |
Implement intent | POST /intents Request Body: {“immediate”: true, “expression”: “xx”} Response”: {“id”:”intent id”} |
Query intent | GET /intents?id={intent id} Response: jsonObject, e.g. {“id”: “intent id”, “state”:”active”, “createTime”:”xx”, ”expression”: ”xx”,”fulfilmentInfo”:”FULFILLED”,”operationList”:”CreateSliceService”} |
Consumed APIs by Intent Framework | |
Create slice service | POST /onap/so/infra/serviceInstantiation/v7/serviceInstances Request Body: jsonObject, {“requestParameters”:{……, “requestInputs”: {“maxNumberUEs”:100, “pLMNIDList”:”xx”, “coverageAreaList”:”xx”}}} |
Service instantiation | POST /onap/so/infra/serviceInstantiation/v7/serviceInstances Request Body: jsonObject, {“requestParameters”: {“userParams”:[{“resources”:{“pnfs”:[“instanceName”:”{nf_instance_name}”]}}]}} |
Test Process:
TBD
Test Cases and Status
1 | There should be a test case for each item in the sequence diagram | COMPLETE |
2 | create additional requirements as needed for each discreet step | COMPLETE |
3 | Test cases should cover entire Use Case | PARTIALLY COMPLETE |