(Copy this Page in the → ... → select COPY)
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 may contain following functional blocks (to be discussed in Honolulu release):
- Intent UI ( Covred in ONAP UUI by - REQ-453Getting issue details... STATUS )
- 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 | |||
AAF | |||
APPC | |||
CLAMP | |||
CC-SDK | |||
DCAE | |||
DMaaP | |||
External API | |||
HOLMES | |||
MODELING | |||
Multi-VIM / Cloud | |||
OOF | |||
OOM | |||
POLICY | |||
PORTAL | |||
SDN-C | |||
SDC | |||
SO | |||
VID | |||
VF-C | |||
VNFRQTS | |||
VNF-SDK | |||
CDS |
List of PTLs:Approved Projects
*Each Requirement should be tracked by its own User Story in JIRA
USE CASE DIAGRAM
Use cases define how different users interact with a system under design. Each use case represents an action that may be performed by a user (defined in UML as an Actor with a user persona).
Use Case Functional Definitions
Use Case Title | Title of the Use Case |
Actors (and System Components) | The list of Actors and System Components that participate in the Use Case |
Description | Short overview of the Use Case |
Points of Contact | Authors and maintainers of the Use Case. Use Case Lead, Key Use Case members and code contributors. |
Preconditions | A list of conditions that are assumed to be true before the Use Case is invoked Includes description of Information Consumed |
Triggers / Begins when | Describes the trigger for beginning the Use Case |
Steps / Flows (success) | Describes the sequence of steps and interactions that occur during the Use Case (may include: description, data exchanges, functionality, state changes) Interaction diagrams may be included or referenced |
Post-conditions | The expected results of the execution of the Use Case Includes description of Information Produced |
Alternate / Exception Paths | Description of any exceptions or special process that could occur during Use Case |
Related Use Cases | List of the Use Cases referenced by this Use Case |
Assumptions | Describes any assumptions that are made for this use case |
Tools / References / Artifacts | List of any tools or reference material associated with this Use Case as well as any JIRA trace-ability. List of any associated diagrams or modelling artifacts associated with the Use Case |
Supporting materials
Introducton:Nov. 24th, 2020 for ARC SubC Review. (TBD)
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}”]}}]}} |
Snapshot in Demo:
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 |