| Summary: | [RFE] Use Operating system field to decide where to migrate/start the VM on. | ||
|---|---|---|---|
| Product: | [oVirt] ovirt-engine | Reporter: | Jaroslav Henner <jhenner> |
| Component: | RFEs | Assignee: | Doron Fediuck <dfediuck> |
| Status: | CLOSED DEFERRED | QA Contact: | Artyom <alukiano> |
| Severity: | medium | Docs Contact: | |
| Priority: | medium | ||
| Version: | --- | CC: | bsettle, bugs, dfediuck, jhenner, lpeer, mavital, mgoldboi, rbalakri |
| Target Milestone: | --- | Keywords: | FutureFeature, Reopened |
| Target Release: | --- | Flags: | ykaul:
ovirt-4.2?
ylavi: planning_ack? ylavi: devel_ack? ylavi: testing_ack? |
| Hardware: | x86_64 | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Fixed In Version: | ovirt-3.4.0-alpha1 | Doc Type: | Enhancement |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2017-06-08 16:08:31 UTC | Type: | --- |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | SLA | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
|
Description
Jaroslav Henner
2012-01-11 15:05:26 UTC
Closing old bugs. If this issue is still relevant/important in current version, please re-open the bug. Since we now have the new scheduler[1] this can be handled in 2 ways; 1. Write a filter that will make sure we use /only/ same-OS scheduling. Possible results may be that a VM will not be able to run if current hosts are running VMs with a different OS. 2. Write a weights module that will prefer hosts with a majority of the given OS. This is an optimization which will not prevent running a VM with a different OS, but most likely to end up with same-OS hosts in many of the hosts. When opening this issue, were you looking for a hard constraint which will be resolved by the first way, or optimization which will be handled by the alternative way? [1] http://www.ovirt.org/Features/oVirtScheduler (In reply to Doron Fediuck from comment #9) > Since we now have the new scheduler[1] this can be handled in 2 ways; > > 1. Write a filter that will make sure we use /only/ same-OS scheduling. > Possible results may be that a VM will not be able to run if current hosts > are running VMs with a different OS. > > 2. Write a weights module that will prefer hosts with a majority of the > given OS. > This is an optimization which will not prevent running a VM with a different > OS, > but most likely to end up with same-OS hosts in many of the hosts. > > When opening this issue, were you looking for a hard constraint which will be > resolved by the first way, or optimization which will be handled by the > alternative way? Well, I don't work on RHEVM any more, but it was the second one. > > [1] http://www.ovirt.org/Features/oVirtScheduler oVirt 3.4.0 alpha has been released including the fix for this issue. Still no weight or filter module for OS? Checked on ovirt-engine-3.4.0-0.5.beta1.el6.noarch Also if it new feature for 3.4 I need feature page in ovirt for this(this will help to write correct tcms plan) Thanks After conversation with Doron revealed that created just sample of weight module under /usr/share/doc/ovirt-scheduler-proxy-0.1.3/plugins/examples ksm_same_os_score.py, you still can use this module with ovirt-scheduler-proxy as external module. Verified on ovirt-engine-3.4.0-0.11.beta3.el6.noarch Script appear under /usr/share/doc/ovirt-scheduler-proxy-0.1.3/plugins/examples and also work fine if you add this script via ovirt-scheduler-proxy Correction,
vm choose not correct host, because from view of scheduler best host, it host with minimal score, so you need to change:
score = some_max_weight
host_vms = self._get_vms(host.name, connection)
if not host_vms:
return (host.id, some_max_weight)
for host_vm in host_vms:
if(vm.get_os().get_type() == host_vm.get_os().get_type()):
if(vm.get_os().get_version() == host_vm.get_os().get_version()):
score -= 100
else:
score -= 20
#not sure about this one, if you want that factor of same os will less in case #that host have many vms, you can do score + host_vms * some_factor
return (host.id, score / len(host_vms))
Checked on ovirt-engine-3.4.0-0.11.beta3.el6.noarch
Pushing to 3.6.0 so we'll be able to properly incorporate it into the built-in policies. Target release should be placed once a package build is known to fix a issue. Since this bug is not modified, the target version has been reset. Please use target milestone to plan a fix for a oVirt release. This bug had requires_doc_text flag, yet no documentation text was provided. Please add the documentation text and only then set this flag. For now we're not looking into this, so closing. If you wish to contribute- patches are welcome! |