ARC OOF Component Description - Honolulu-R8

Page Status: Copied from Guilin-R7 - Aug-24-2020

Component Status: Pending PTL updates and ArchCom Review

Last Reviewed on:

Certified by:

OOF (ONAP Optimization Framework):

1. High Level Component Definition and Architectural Relationships 

2. API definitions

OOF provides the following interfaces:

Interface Name

Interface Definition

 Interface Capabilities

API Spec (Swagger)

Interface Name

Interface Definition

 Interface Capabilities

API Spec (Swagger)

OOFE-1

  • Homing

  • Traffic Distribution

It enables placement based on a wide variety of policy constraints including capacity, location, platform capabilities, and other service specific constraints. 

https://docs.onap.org/projects/onap-optf-osdf/en/latest/sections/offeredapis.html

OOFE-2

PCI/ANR Optimization

Enables PCI/ANR optimization API for SON.

https://docs.onap.org/projects/onap-optf-osdf/en/latest/sections/offeredapis.html

OOFE-3

Schedule Optimization

a policy driven workflow schedule optimizer for change management planning. This interface schedule workflows in time to maximize parallel change management activities, while respecting dependency between the workflows.

https://docs.onap.org/projects/onap-optf-cmso/en/latest/sections/offeredapis.html

OOFE-4

Route Optimization

Provides an interface for Router Optimization and inter-domain route optimization.

https://docs.onap.org/projects/onap-optf-osdf/en/latest/sections/offeredapis.html

OOFE-5

OOF Model Administrator

This is for the OOF Model Administrator API.  This API is a way to dynamically change the optimization models that will be used to find solutions for various optimization problems.  This API will be used to Create, Update, or Delete Models.

https://docs.onap.org/projects/onap-optf-osdf/en/latest/sections/offeredapis.html



OOFE-6

Network Slicing

This interface enables slice selection recommendations (NST, NSI, NSSI, Slice Profiles), as well as slice termination recommendations (NSI, NSSI). 

Feature enhancements in Slice selection features.

https://docs.onap.org/projects/onap-optf-osdf/en/latest/sections/offeredapis.html

Note:   xxxI interface is a Component internal interface.  xxxxE interface is a component external interface

The current API documents can be found at:

OOF consumes the following Interfaces:

Interface Name

Purpose Reason For Use

API Spec (Swagger)

Interface Name

Purpose Reason For Use

API Spec (Swagger)

CPS-1

For fetching RAN configuration related info (starting with coverageArea → TA List mapping in H-release)

There will be a generic CPS plugin, which could be used as a data source for optimization, since CPS will be persisting the config info of the xNFs in the network, which might be useful for the optimization

CPS-TBDMT Service

https://github.com/onap/cps/blob/master/cps-rest/docs/api/swagger/openapi.yml

SDNCE-1

For PCI/ANR optimization, OOF Retrieves the Cellsite inventory details from the configdb API, which is hosted as part of the SDNC/R component

https://github.com/onap-oof-pci-poc/sdnc/blob/master/ConfigDB/swagger-json/swagger.json

AAIE-1

OOF interfaces with AAI to retrieve the inventory

OOF consumes a wide variety of inventories from AAI. It can be found under the API section of AAI

https://docs.onap.org/projects/onap-aai-aai-common/en/latest/platform/offeredapis.html

MCE-5

OOF queries Multicloud for real-time available capacity information

https://docs.onap.org/projects/onap-multicloud-framework/en/latest/MultiCloud-APIv0-Specification.html

MUSICI-1

OOF interfaces with MUSIC to persist service state.

https://docs.onap.org/en/elalto/submodules/music/distributed-kv-store.git/docs/offeredapis.html

SDCE-1

OOF interfaces with SDC to retrieve slice template information

https://docs.onap.org/projects/onap-sdc/en/latest/offeredapis.html

DESE-1

OOF interfaces with DES to retrieve the PM/KPI data of the cells for ML-based decision making.

DES Swagger reference

CONSULE-1

OOF interfaces with consul for configuration management

https://www.consul.io/api-docs/kv



3. Component Description:

ONAP Optimization Framework (OOF) is an Umbrella project, with the primary goal of addressing the optimization needs of ONAP. OOF is a framework that supports creating and running a suite of Optimizing applications including: 

  • Change Management Scheduling optimizer

  • Homing/Placement optimizer

  • PCI optimizer

  • Route optimizer

  • Slice selection

OOF is targeted to be an optimization platform with the following goals: 

  • Declarative, policy-driven approach to solving optimization problems

  • Reusable components: data and policy adapters/libraries, execution environment

  • Support General-Purpose as well as Custom optimizers

  • Extensible to multiple optimization problems

Internally, OOF has the following components: 

  • OSDF: Optimization Service Design Framework, which is a collection of APIs and libraries, along with a generic runtime optimizer

    • Status: Part of ONAP since Beijing Release.

  • HAS: Homing and Allocation Service, which provides a policy based constraint driven selection optimizer

    • Status: Part of ONAP since Beijing Release.

  • CMSO: Change Management Schedule Optimizer, providing schedule optimization

    • Status: Seed code up-streamed in R3

4. Known system limitations

Please find the known system limitations in the following links

5. Used Models

OOF doesn't directly create models, but indirectly consumes them via AAI, Policy and Multi Cloud. 

  • Service and Resource Info, from: AAI

  • Network Topology for CM: AAI

  • HPA Flavors/Capabilities/CapacityInfo, from : AAI

  • Policy Models (homing, PCI) from: Policy

  • Infrastructure Metrics Info (capacity), from: MultiCloud

  • Cloud agnostic Intent Info, from: MultiCloud

  • AZ level capacity Info, from: MultiCloud (for F-GPS)

  • PCI configuration data (not yet part of SDNC model)

  • Slice/Subnet Profile and Slice/Subnet Instance models, from AAI

6. System Deployment Architecture

7. New Capabilities in this Release

  • Updates to E2E Network Slicing (refer OOFE-6, CPS-1)

  • Configuration management using consul kv (CONSULE-1)

  • Integrate Generic Optimization Engine into OOF Helm charts (refer OOFE-5)

  • Docker image optimizations

8. References