Table of Contents |
About ONAP Optimization Framework (OOF)
The OOF provides a policy-driven and model-driven framework for creating optimization applications for a broad range of use cases.
It is being developed based on the following core ideas:
- Most optimization problems can be solved in a declarative manner using a high-level modeling language.
- Recent advances in open source optimization platforms allow the solution process to be mostly solver-independent.
- By leveraging the library of standard/global constraints, optimization models can be rapidly developed.
- By developing a focused set of platform components, we can realize a policy-driven, declarative system that allows ONAP optimization applications be composed rapidly and managed easily
- Policy and data adapters
- Execution and management environment
- Curated "knowledge base" and recipes to provide information on typical optimization examples and how to use the OOF
- More importantly, by providing a way to support both "traditional" optimization applications and model-driven applications, we can provide a choice for users to adapt the platform based on their business needs and skills/expertise.
Initial deliverables of OOF for Beijing Release (Q1 2018) are:
Homing and Allocation Service (HAS): OOF-HAS is a policy-driven placement optimizing service (or homing service) that allows ONAP to deploy services automatically across multiple sites and multiple clouds. More details are at the main page of Homing and Allocation Service (HAS)
ONAP Optimization Service Design Framework (OSDF) is a model- and policy-driven optimization framework that makes it easier to build, deploy, and manage optimization applications for different use cases. More details about the OOF-OSDF are at the main page of Optimization Service Design Framework
Getting Started with OOF
OOF Documentation
- Overview of the OOF approach (model driven declarative framework)
- Original ONAP-OF Project Proposal (6/20/17)
- Homing and Allocation Service (HAS)
- OOF Beijing M1 Release Planning (Release in Q1 2018)
- Policy Specification and Retrieval for OOF
- ONAP Optimization Framework Project Page (this landing page)
Reporting Bugs, Vulnerabilities, and Requests for Enhancements
We strongly recommend using JIRA for reporting and monitoring bugs, vulnerabilities, and requests for enhancements (https://jira.onap.org/projects/OPTFRA). The only exception we envision is when you identify a critical vulnerability that you want to disclose privately to a small group before publishing details. In such a case, we recommend that you send an email to the committers and/or join our weekly meeting and discuss it.
Surveys and Polls
Please fill out a short survey to help the planning process of the Beijing release (and later). Using these data, we can reach out for help with specific tasks, and even figure out what times are good to schedule a phone call.
The link for the survey is here: https://api.socrative.com/rc/rqatEZ. It is a very short survey, with six questions, three of which are related to contact info and available times; and takes about one to five minutes.
More details on the survey, questions within the survey, and rationale for the survey, etc., are at the page: Project Resources for OOF under the section "Contributor Survey". You can review that beforehand.
Likewise, there is a link to a doodle poll on preferred times for meetings (https://doodle.com/poll/457bkisaaahe55ny). We have contributors from US (Eastern to Pacific), India, China, and even Australia. The doodle poll link contains only those daytime windows that overlap across US-EST, US-PST, India, and China time zones due to the high probability of being selected.
Creating a Linux Foundation ID to work with wiki, gerrit, and jira
- Please create a Linux Foundation ID if you do not already have it. You can use this to edit the wiki, use JIRA for bug reports/tasks (https://jira.onap.org/projects/OPTFRA) , and also use gerrit for code reviews and commits (https://gerrit.onap.org/r/#/admin/projects/?filter=optf). For more information, see ONAP's main page on Joining the ONAP Technical Community, which covers the following items:
Get a Linux Foundation Identity from the Linux Foundation Portal
Join Relevant Mailing Lists: Recommended one is onap-discuss (by emailing to onap-discuss-join@lists.onap.org) Use email tag [optfra] as suggested here Legacy Email Tags (pre Q3-2018)
- Have the general ONAP contacts handy: https://wiki.onap.org/pages/viewpage.action?pageId=8226539
Weekly ONAP Meetings
Join Weekly Meetings of OOF (currently Monday 11am - 12 noon Eastern); zoom meeting is at: https://zoom.us/j/704981574
Update from Feb 12, 2018: Meeting minutes, action items, scrum status, etc., are now captured in meeting pages at the page: Project Resources for OOF
Contributing to OOF: code, user stories, test cases etc.
- Please become familiar with the steps required to contribute code and documentation via gerrit.
- The ONAP page Developing ONAP is a great place to start, and covers the following items:
- Configuring Gerrit (code reviews, commits): https://wiki.onap.org/display/DW/Configuring+Gerrit
- Developer Best Practices: https://wiki.onap.org/display/DW/Developer+Best+Practices
- The ONAP page Developing ONAP is a great place to start, and covers the following items:
Please dive in by looking at relevant JIRA Epics, Stories, and Issues. For OOF, the link is: https://jira.onap.org/projects/OPTFRA/issues/OPTFRA-76?filter=allissues
Check the currently active tasks and backlogs. You can sign up for specific tasks or reach out to one of the committers to assign you the task. The link for the Agile Board is here: https://jira.onap.org/secure/RapidBoard.jspa?projectKey=OPTFRA&rapidView=99
Link to backlogs (tasks that need to be done) is here: https://jira.onap.org/secure/RapidBoard.jspa?rapidView=99&projectKey=OPTFRA&view=planning.nodetail
Project Administration Resources
Aggregated Project Resources Page
Approved Project Proposal
Weekly Meeting schedule
https://lists.onap.org/g/onap-oof/calendar
Release Planning
A Release
No deliverables for ONAP Release A (Amsterdam release).
B Release
The deliverables for OOF in Release B (Beijing release) are:
1. Homing and Allocation Service (HAS), a policy driven placement and resource allocation service to allow deployment of services and VNFs on a multi-site, multi-VIM infrastructure.
2. Optimization Service Design Framework, a model-driven framework for creating optimization applications similar to HAS, CMSO, etc., in a declarative manner (i.e. no custom code needed for most cases) and a runtime environment for managing the life cycle of these applications.
- M1 OOF Beijing M1 Release Planning
- M2 OOF Beijing M2 Functionality Freeze Checklist
- M3 API Freeze Checklist link
- M4 Code Freeze Checklist link
- RCx Checklist link
- Sign-Off Checklist link
C Release
- Future effort