Bug 1041214

Summary: [RFE][nova]: SolverScheduler - Complex constraint based resource placement
Product: Red Hat OpenStack Reporter: RHOS Integration <rhos-integ>
Component: openstack-novaAssignee: RHOS Maint <rhos-maint>
Status: CLOSED UPSTREAM QA Contact: Ami Jeain <ajeain>
Severity: unspecified Docs Contact:
Priority: medium    
Version: unspecifiedCC: markmc, ndipanov, sgordon, yeylon
Target Milestone: ---Keywords: FutureFeature, Triaged, Upstream
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
URL: https://blueprints.launchpad.net/nova/+spec/solver-scheduler
Whiteboard: upstream_milestone_none upstream_status_beta-available upstream_definition_pending-approval
Fixed In Version: Doc Type: Enhancement
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-04-15 16:05:45 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description RHOS Integration 2013-12-12 13:58:45 UTC
Cloned from launchpad blueprint https://blueprints.launchpad.net/nova/+spec/solver-scheduler.

Description:

OpenStack scheduler has nice options like filters which allow resource selection based on simple constraints e.g. Don't put instances in a set on the same host. However for complex constraints, building a filter would be as complex as building a real constraint solver e.g. place VMs while minimizing average (VM-storage-bandwidth) with complex constraints. On the other hand, complex solvers are available in open source (PULP, CVXOPT, COIN_OR). Hence a natural solution to the above problem is to design a pluggable scheduler that leverages existing solvers. We believe that this will open new avenues for complex constraint (and objectives) based resource placement in large OpenStack deployments.

Collaborators:  Yathi Udupi,  Debo Dutta 
Unified Constraints-based Smart Resource Placement: https://docs.google.com/document/d/1IiPI0sfaWb1bdYiMWzAAx0HYR6UqzOan_Utgml5W1HI/edit 

Specification URL (additional information):

https://wiki.openstack.org/wiki/SolverScheduler