Optimization Framework: Optimization Service Design Framework (OSDF)¶
Architecture¶
Technology Choices¶
Minizinc provides an open source constraint modeling language/platform for specifying optimization applications. It contains direct interfaces to COIN-OR CBC, Gurobi and IBM ILOG CPLEX. Additionally, many optimization projects support minizinc via FlatZinc interfaces. The Minizinc standard library provides a subset of constraints form the global constraint catalogue as a high-level abstraction that have efficient algorithms implemented by several solvers.
Components of the Core Framework¶

An overview of the components of the core optimization framework. The OOF utilizes the open source project Minizinc, which has a solver-independent modeling language and has interfaces to various open source and commercial solvers. One of the additional benefits of this approach is that by developing a focused set of ONAP-related components, we can utilize ongoing advances in optimization technologies, as well as adapt other currently available extensions to Minizinc and related projects. The OOF project aims to build these components with a focus on minimal viable product for Beijing Release in order to support initial applications and use cases, with subsequent focus on expanding the platform.
Data Adapter Library¶
The OOF will provide a library of adapters for common ONAP systems. These can be directly used in data specification templates of the applications. In the initial release, these will include adapters to Policy, A&AI, Multi-Cloud, and SDC (additional “stretch goals” for this release include SDN-C, Microservice Bus). As new use cases are implemented, this library will be augmented by new adapters to other services.
Translation Modules¶
The OOF will provide modules for translating policies into constraints for the optimization environment. When an underlying minizinc model is used for optimization, it is translated into a minizinc constraint (either via a data specification template or directly from policy). For custom optimizers, these constraints will be translated to the input format expected by the optimizer via the data specification template. The Homing and Allocation Service (HAS; described in the next section) uses a custom optimization module and hence uses the data specification template approach.
Modeling Support¶
The OOF provides simple templating system through which users can specify links to different ONAP components, including policy, A&AI, SDC, etc.
Execution Environment¶
The OOF execution environment contains the minizinc system, along with data/template rendering system that leverages the adapters to various systems. The flow of execution can be configured via the configuration file for the application and supports a choice of specific solver or invocations to custom/external solvers.
Offered APIs¶
This document describes the OSDF HAS (Homing and Allocation Service) API
To view API documentation in the interactive swagger UI download the following and paste into the swagger tool here: https://editor.swagger.io
API name |
Swagger JSON |
---|---|
OOF OSDF HAS API |
|
OOF OPTENG API |
OOF OSDF HAS API¶
OOF OPTENG API¶
Consumed APIs¶
The following are the dependencies for the project based on the scope for the Beijing Release. The required dependencies have been identified based on the current homing requirements for the vCPE use case, and the potential dependencies are tentative dependencies that may exist based on how the information required for homing (e.g., Hardware Platform Enablement, VIM attributes) is available.
Service Orchestrator¶
See documentation for Service Orchestrator
Policy¶
See documentation for Policy
SDC¶
See documentation for SDC
Delivery¶
Delivery description TBD
Logging¶
OSDF uses a single logger, oslo, across all the components. The logging format is compliant with the EELF recommendations, including having the following logs: error, audit, metric, application.
The log statements follow the following format (values default to preset values when missing):
Timestamp|RequestId|ServiceInstanceId|ThreadId|Virtual Server Name|ServiceName|InstanceUUID|Log Level|Alarm Severity Level|Server IP Address|HOST NAME|Remote IP Address|Class name|Timer|Detailed Message
The logger util module can be found at:
<>/has/conductor/conductor/common/utils/conductor_logging_util.py
Installation¶
Installing from the Source Code¶
Get code from the Linux Foundation Projects page
$ git clone https://gerrit.onap.org/r/optf/osdf
Configuration¶
TBD
Administration¶
Administration - TBD
Human Interfaces¶
OOF OSDF does not expose a human interface
Release Notes¶
Abstract¶
This document provides the release notes for the JAKARTA release.
Summary¶
Release Data¶
OOF Project |
|
Docker images |
optf-osdf 3.0.6 |
Release designation |
10.0.0 jakarta |
Release date |
02/06/2022 (TBD) |
New features¶
Bug Fixes¶
OPTFRA-1059 - Update configuration for TN-FH in NxI termination app
Known Limitations, Issues and Workarounds¶
System Limitations¶
Known Vulnerabilities¶
Workarounds¶
Security Notes¶
References¶
For more information on the ONAP Jakarta release, please see:
Quick Links:
Abstract¶
This document provides the release notes for the Istanbul release.
Summary¶
Release Data¶
OOF Project |
|
Docker images |
optf-osdf 3.0.6 |
Release designation |
9.0.0 istanbul |
Release date |
28/10/2021 (TBD) |
New features¶
Enhancements in NxI termination to support second level NSSIs
Update NxI termination app to use AAI DSL query
Add CPS client for PCI app
OSDF image optimization
Bug Fixes¶
OPTFRA-511 Return error when policies are not present
OPTFRA-943 Fix issues in NSI selection response
OPTFRA-853 Remove unwanted gplv3 components from docker image
Known Limitations, Issues and Workarounds¶
System Limitations¶
Known Vulnerabilities¶
Workarounds¶
Security Notes¶
References¶
For more information on the ONAP Honolulu release, please see:
- Quick Links:
Abstract¶
This document provides the release notes for the Honolulu release.
Summary¶
Release Data¶
OOF Project |
|
Docker images |
optf-osdf 3.0.4 |
Release designation |
8.0.0 honolulu |
Release date |
04/08/2021 (TBD) |
New features¶
Add NST selection feature with AAI & SDC
Configuration management with consul KV store
Bug Fixes¶
OPTFRA-906 Update slice/service profile attributes
OPTFRA-871 Bug Fix in ML SON - convert cell_id before sending it to Minizinc
Known Limitations, Issues and Workarounds¶
System Limitations¶
Known Vulnerabilities¶
Workarounds¶
Security Notes¶
References¶
For more information on the ONAP Honolulu release, please see:
- Quick Links:
Abstract¶
This document provides the release notes for the Guilin release.
Summary¶
Release Data¶
OOF Project |
|
Docker images |
optf-osdf 3.0.2 |
Release designation |
7.0.0 guilin |
Release date |
2020-11-19 (TBD) |
New features¶
NSI selection enhancements
Support for NSSI selection
Support for NSI/NSSI Termination
Support for Inter domain route optimization
Support for ML based SON optimization
Upgrade python version to 3.8
Bug Fixes¶
OPTFRA-839 Remove python 2.7 from OSDF docker image
OPTFRA-855 Fix slice selection API
OPTFRA-852 Callback implementation for NST selection
Known Limitations, Issues and Workarounds¶
System Limitations¶
Known Vulnerabilities¶
Workarounds¶
Security Notes¶
References¶
For more information on the ONAP Guilin release, please see:
- Quick Links:
Abstract¶
This document provides the release notes for the Frankfurt release.
Summary¶
Release Data¶
OOF Project |
|
Docker images |
optf-osdf 2.0.4 |
Release designation |
6.0.0 frankfurt |
Release date |
2020-05-07 (TBD) |
New features¶
Project is restructured into apps and libs.
A Generic optimizing engine is implemented.
New optimizer model for route optimization is added.
Policy apis are migrated from legacy apis to new decision api.
The Conductor adapter is moved from placement to adapters.
NST and NSI selection function has been implemented for Network Slicing use case.
PCI optimization is enhanced to support fixed cells field.
Bug Fixes¶
OPTFRA-482 The field “unique” should be defined in vnf policy.
OPTFRA-729 OSDF fails to start in the k8s environment.
OPTFRA-731 OSDF Policy interface is not working
OPTFRA-754 Return slice profile when service profile indicates the resource sharing level as not shared
OPTFRA-755 OOF Policy filtering does not work.
Known Limitations, Issues and Workarounds¶
System Limitations¶
Known Vulnerabilities¶
Workarounds¶
Security Notes¶
References¶
For more information on the ONAP Frankfurt release, please see:
- Quick Links:
Version: 5.0.1¶
- Release Date
2019-09-30 (El Alto Release)
The El Alto release is the fourth release for ONAP Optimization Framework (OOF).
Artifacts released:
optf-has:1.3.3 optf-osdf:1.3.4 optf-cmso:2.1.1
New Features
While no new features were added in the release, the following Stories were delivered as enhancements.
[OPTFRA-415] Automation on policy model uploading
[OPTFRA-427] CMSO - Schedule a workflow in SO and track status to completion
- Platform Maturity Level 1
~65.1+ unit test coverage
Bug Fixes
The El Alto release for OOF fixed the following Bugs.
[OPTFRA-579] Json error in homing solution
[OPTFRA-521] oof-has-api exposes plain text HTTP endpoint using port 30275
[OPTFRA-522] oof-osdf exposes plain text HTTP endpoint using port 30248
[OPTFRA-577] Need for “ReadWriteMany” access on storage when deploying on Kubernetes?
[OPTFRA-517] Clean up optf/cmso in integration/csit for Dublin
[OPTFRA-486] Support “identifiers” field as a list of values
[OPTFRA-403] OOF CMSO Service kubernetes resources allocation is not done
[OPTFRA-526] OOF pods not running
[OPTFRA-409] Template example : purpose to be explained
[OPTFRA-593] OOF-CSMO healthcheck is failing in Master
Known Issues
[OPTFRA-576] optf-has-master-csit-has is testing Dublin image
[OPTFRA-596] CMSO - Sonar and CSIT jobs failing
[OPTFRA-608] Error in Homing with multiple policies
Security Notes
Fixed Security Issues
[OJSI-122] In default deployment OPTFRA (oof-osdf) exposes HTTP port 30248 outside of cluster.
[OPTFRA-521] oof-has-api exposes plain text HTTP endpoint using port 30275
[OPTFRA-522] oof-osdf exposes plain text HTTP endpoint using port 30248
[OPTFRA-455] CMSO - Mitigate License Threat tomcat-embed-core
Known Security Issues
[OPTFRA-481] Fix Vulnerability with spring-data-jpa package
[OPTFRA-431] Fix Vulnerability with spring-security-web package
Known Vulnerabilities in Used Modules
Upgrade Notes
Deprecation Notes
Other
Version: 4.0.0¶
- Release Date
2019-06-06 (Dublin Release)
New Features
The Dublin release is the third release for ONAP Optimization Framework (OOF).
A summary of features includes
Support SON (PCI/ANR) optimization using OSDF
Implement encryption for OSDF internal and external communication
- Platform Maturity Level 1
~65.1+ unit test coverage
The Dublin release for OOF delivered the following Epics.
[OPTFRA-426] Track the changes to CMSO to support change management schedule optimization
[OPTFRA-424] Extend OOF to support traffic distribution optimization
[OPTFRA-422] Move OOF projects’ CSIT to run on OOM
[OPTFRA-276] Implementing a POC for 5G SON Optimization
[OPTFRA-270] This epic captures stories related to maintaining current S3P levels of the project as new functional requirements are supported
Bug Fixes
The full list of implemented user stories and epics is available on DUBLIN RELEASE
Known Issues
Security Notes
Fixed Security Issues
Known Security Issues
[OJSI-122] In default deployment OPTFRA (oof-osdf) exposes HTTP port 30248 outside of cluster.
Known Vulnerabilities in Used Modules
OPTFRA osdf code has been formally scanned during build time using NexusIQ and no Critical vulnerability was found. The OPTF open Critical security vulnerabilities and their risk assessment have been documented as part of the project.
- Quick Links:
Upgrade Notes
None.
Deprecation Notes
None.
Other
None
Version: 3.0.1¶
- Release Date
2019-01-31 (Casablanca Maintenance Release)
The following items were deployed with the Casablanca Maintenance Release:
New Features
None.
Bug Fixes
[OPTFRA-401] - Need flavor id while launching vm.
Version: 3.0.0¶
- Release Date
2018-11-30 (Casablanca Release)
New Features
The Casablanca release is the second release for ONAP Optimization Framework (OOF).
A summary of features includes
- Homing enhancements for improving service deployability
Discovering and reusing shared resources when processing multiple homing requests in parallel
Considering Latency Reduction (in addition to geographical distances) for homing optimization
Enhanced capacity checks during VNF homing
Asynchronous communication between HAS components
- OOF Casablanca S3P Usability enhancement
Adherence to ONAP API Common Versioning Strategy (CVS) Proposal
Move all internal and external facing APIs to Swagger 2.0
- OOF Casablanca S3P Performance enhancements
Creating a plan for performance improvements based on the baseline measured metrics
- OOF development platform hardening
Deployment scripts
Fix Build Docker image script for supporting multiple versions
Fix OOM, HEAT deployment scripts (versioning)
CSIT functional tests for each repo
CI Jobs for different streams (Beijing, master etc)
Clean up nexus binaries and maven versioning
Integrate OOF with Certificate and Secret Management Service (CSM)
Support SON (PCI) optimization using OSDF
- Platform Maturity Level 1
~65.1+ unit test coverage
The Casablanca release for OOF delivered the following Epics.
[OPTFRA-273] - Epic Name: OOF Casablanca S3P Manageability enhancement
[OPTFRA-270] - Maintain current S3P levels
[OPTFRA-271] - OOF Casablanca S3P Security enhancement
[OPTFRA-267] - OOF - HPA Enhancements
[OPTFRA-276] - Implementing a POC for 5G SON Optimization
Bug Fixes
The full list of implemented user stories and epics is available on CASABLANCA RELEASE
Known Issues
[OPTFRA-223] - On boarding and testing AAF certificates for OSDF.
[OPTFRA-293] - Implement encryption for all OSDF internal and external communication
[OPTFRA-329] - role based access control for OSDF-Policy interface
Security Notes
OPTFRA osdf code has been formally scanned during build time using NexusIQ and no Critical vulnerability was found. The OPTF open Critical security vulnerabilities and their risk assessment have been documented as part of the project.
- Quick Links:
Upgrade Notes
None.
Deprecation Notes
None.
Other
None
Version: 2.0.0¶
- Release Date
2018-06-07
New Features
The ONAP Optimization Framework (OOF) is new in Beijing. A summary of features includes:
- Baseline HAS functionality
support for VCPE use case
support for HPA (Hardware Platform Awareness)
Integration with OOF OSDF, SO, Policy, AAI, and Multi-Cloud
- Platform Maturity Level 1
~50%+ unit test coverage
The Beijing release for OOF delivered the following Epics.
[OPTFRA-2] - On-boarding and Stabilization of the OOF seed code
[OPTFRA-6] - Integrate OOF with other ONAP components
[OPTFRA-7] - Integration with R2 Use Cases [HPA, Change Management, Scaling]
[OPTFRA-20] - OOF Adapters for Retrieving and Resolving Policies
[OPTFRA-21] - OOF Packaging
[OPTFRA-28] - OOF Adapters for Beijing Release (Policy, SDC, A&AI, Multi Cloud, etc.)
[OPTFRA-29] - Policies and Specifications for Initial Applications [Change Management, HPA]
[OPTFRA-32] - Platform Maturity Requirements for Beijing release
[OPTFRA-33] - OOF Support for HPA
[OPTFRA-105] - All Documentation Related User Stories and Tasks
Bug Fixes
None. Initial release R2 Beijing. No previous versions
Known Issues
None.
Security Notes
OPTFRA code has been formally scanned during build time using NexusIQ and no Critical vulnerability was found.
- Quick Links:
Upgrade Notes
None. Initial release R2 Beijing. No previous versions
Deprecation Notes
None. Initial release R2 Beijing. No previous versions
Other
None
Upgrade Strategy¶
OSDF can be upgraded in place(remove and replace) or in a blue-green strategy.
There is no need for database migration. Since, there is no database being used by OSDF.
Supporting Facts¶
OSDF is a stateless component. It doesn’t store any information in the database. It holds on to the optimization request in memory only until the optimization process is complete. The optimization is done either by OSDF itself or other external components(such as HAS) are leveraged for optimization.