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):

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

Nov 9th, 2020

REQ-467: Intent framework and intent modelingDone

Architecture S/C info

Information on the Architecture sub-committee presentation.

2020-11-24 ONAP Architecture Meeting



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

REQ-467: Intent framework and intent modelingDone

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 SummaryIn 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 MarketsAll 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