Project Name:
- Proposed name for the project:
SNIRO (Optimization Framework)
- Proposed name for the repository: sniro
Project description:
SNIRO (Service, Network, Infrastructure, and Resource Optimization) project aims to provide a platform for addressing different optimization needs (optimization as a service). Legacy legacy optimization applications often involve duplication of solution process and data adapters, and often include information on constraints and objectives in the application. SNIRO aims to provide a unified approach to eliminate code redundancy and to reduce overhead associated with managing different optimization applications.
Initial use cases:
- Placement of VNFs (homing).
- Change management scheduling (providing schedule of changes for upgrading of VNFs under given constraints).
- Effective allocation of licenses from pool of licenses in a geographically varied context
Other intended use cases:
- Network routing optimization
- Network and cloud capacity planning
Scope:
The main goals of SNIRO are to:
- Provide a unified toolkit for developing optimization applications via extensible APIs. This facilitates developing new optimization applications independent of how the underlying optimization modules are implemented.
- Provide a library of optimization engines/solvers, data adapters (e.g. to A&AI, policy, SDC, SDN, DCAE). This will include an API for plugging other custom entities (custom data sources; proprietary or open source optimization engines/solvers; etc.)
- Provide a library for translation of policies to constraints for an optimization engine.
- Provide a resilient, scalable optimization framework for solving optimization/planning problems and constraint satisfaction problems.
- Provide a mechanism for interacting with ONAP-C (ONAP controller) to take actions based on the optimization solution.
The term optimization here is used in the context of providing a solution (or set of solutions) for a problem specified in terms of the state (available resources, topology, objective, etc.) and additional constraints specified as a set of policies. This is different the use of optimization in other contexts such as “performance optimization”, “platform stability/reliability”, “scalability”, etc. While such services may need information from optimization solutions (e.g. “when should one take an action”, “how much additional capacity is needed to ensure meeting a specific SLA”), they can be considered as applications that can utilize the optimization framework.
Architecture Alignment:
- How does this project fit into the rest of the ONAP Architecture?
Provides optimization (placement, scheduling, network, license, and planning) as a service to other ONAP subsystems
Provides adapters to other ONAP systems for optimization application developers
- Project depends on A&AI, DCAE, SDC, SDN, and Policy,
What other ONAP projects does this project depend on?
- How does this align with external standards/specifications?
- REST and Data Bus interfaces (service agnostic)
- Models specified in SDC format
- Are there dependencies with other open source projects?
- Open source optimization solvers (GLPK/CBC, OR-Tools, these are pluggable)
- Integration Testing
- etc.
Resources:
- Primary Contact Person
- Names, gerrit IDs, and company affiliations of the committers
- Names and affiliations of any other contributors
- Project Roles (include RACI chart, if applicable)
Other Information:
- link to seed code (if applicable)
- Vendor Neutral
- if the proposal is coming from an existing proprietary codebase, have you ensured that all proprietary trademarks, logos, product names, etc., have been removed?
- Meets Board policy (including IPR)
Use the above information to create a key project facts section on your project page
Key Project Facts
Project Name:
- JIRA project name: SNIRO (Optimization Framework)
- JIRA project prefix: sniro-open-of
Repo name:
Lifecycle State:
Primary Contact: Sastry Isukapalli
Project Lead: Sastry Isukapalli
mailing list tag [Should match Jira Project Prefix]
Committers:
sastry@research.att.com
ankit@research.att.com
hiltunen@research.att.com
*Link to TSC approval:
Link to approval of additional submitters: