Bug 912076 (external-scheduler)
Summary: | PRD33 - Implement a plug-in scheduler implementation that interfaces to external scheduler via scheduling API and SDK | |||
---|---|---|---|---|
Product: | Red Hat Enterprise Virtualization Manager | Reporter: | Simon Grinberg <sgrinber> | |
Component: | RFEs | Assignee: | Gilad Chaplik <gchaplik> | |
Status: | CLOSED ERRATA | QA Contact: | Ondra Machacek <omachace> | |
Severity: | unspecified | Docs Contact: | ||
Priority: | unspecified | |||
Version: | 3.2.0 | CC: | abaron, aburden, acathrow, adahms, bdagan, chetan, dfediuck, iheim, lpeer, pep, pstehlik | |
Target Milestone: | --- | Keywords: | FutureFeature | |
Target Release: | 3.3.0 | Flags: | sgrinber:
Triaged+
|
|
Hardware: | Unspecified | |||
OS: | Unspecified | |||
URL: | http://www.ovirt.org/Features/oVirtScheduler | |||
Whiteboard: | sla | |||
Fixed In Version: | Doc Type: | Release Note | ||
Doc Text: |
Red Hat Enterprise Virtualization Manager includes a new scheduler to handle the placement of virtual machines, allowing users to create new scheduling policies and write their own logic in Python and include that logic in a policy.
The new oVirt scheduler serves virtual machine scheduling requests during migration or while virtual machine are running. Scheduling is performed by applying hard constraints and soft constraints to get the optimal host for that request at a given point of time.
Scheduling Policy Elements
* Filter: a basic logic unit that filters out hypervisors that do not satisfy the hard constraints for placing a given virtual machine.
* Weight function: a function that calculates a score for a given host based on the internal logic of the function. Weight functions are a method for implementing soft constraints in the scheduling process. Since these are weights, a lower score is considered to be better.
* Load balancing module: code implementing logic for distributing loads. To date, the definition of a load was mostly CPU related, which could be resolved by migrating a virtual machine. The new scheduler allows users to write their own logic to handle other load types such as network and I/O by other means such as integrating with third-party systems.
Scheduling Process Outline
Every cluster has a scheduling policy. To date, there were three main policies - None, Even distribution, and Power saving - and now administrators can create their own policies or use the built-in policies. Each policy contains a list of filters, one or more weight functions and a single load-balancing module. The scheduling process takes all relevant hosts and runs them through the relevant filters of a specific policy. Note that filter order is meaningless. The filtered host list is then used as an input to the relevant weight functions of that policy, which creates a cost table. The cost table indicates the host with the lowest weight (cost), which is the optimal solution for the given request. Multiple weight functions may be prioritized using a factor.
Adding User Code
See Bug #912059 for more information on adding code.
Important Notes
- New scheduling policies created by administrators are not validated by the system. This may end up with unexpected results, so it is highly important to verify that a new policy is not introducing issues or instability to the system.
- User-provided code is unsupported.
- Using user-provided code may affect performance, so administrators are advised to carefully test their code and the general performance changes.
|
Story Points: | --- | |
Clone Of: | ||||
: | 975631 (view as bug list) | Environment: | ||
Last Closed: | 2014-01-21 17:14:00 UTC | Type: | Bug | |
Regression: | --- | Mount Type: | --- | |
Documentation: | --- | CRM: | ||
Verified Versions: | Category: | --- | ||
oVirt Team: | SLA | RHEL 7.3 requirements from Atomic Host: | ||
Cloudforms Team: | --- | Target Upstream Version: | ||
Embargoed: | ||||
Bug Depends On: | 912059, 975630 | |||
Bug Blocks: | 516905, 826626, 975631, 1019470 |
Description
Simon Grinberg
2013-02-17 16:24:14 UTC
Hi Doron, can you please proofread the description in the Doc Text field for accuracy? I've tried to cover this bug and bug 912059 with one release note text. If you think they should be addressed separately, let me know. (In reply to Cheryn Tan from comment #4) > Hi Doron, can you please proofread the description in the Doc Text field for > accuracy? I've tried to cover this bug and bug 912059 with one release note > text. If you think they should be addressed separately, let me know. Hi Cheryn, Thanks. I updated the text, and as you can see I think bug 912059 should provide the details for adding user code. The current bug handles the new scheduler implementation. Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. http://rhn.redhat.com/errata/RHSA-2014-0038.html |