Support for Intent Framework and Intent Modeling

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 https://lf-onap.atlassian.net/browse/REQ-453)

  • 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

Nov 9th, 2020

https://lf-onap.atlassian.net/browse/REQ-467

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

https://lf-onap.atlassian.net/browse/REQ-467

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