Description of problem:
Since the problem of reporting online cpu cores on PPC seems to be fixed (see Bug 1148092) validation of cpu pinning should be reintroduced.
Version-Release number of selected component (if applicable):
Add a VM and pin virtual cpu core 1 to non existent hot cpu thread 10000000.
Steps to Reproduce:
1. Create VM
2. Add a cpu pinning string like 1#1000000
3. Obviously the host cpu thread 1000000 does not exist, but no warning is issued and when you try to start the VM, vdsm fails with an unexpected error.
Currently only syntactic correctness of the cpu pinning string is guaranteed.
No cpu policy or configuration checks are hindering you from assigning virtual cpu cores to non existent host cpu threads or cores.
1) Do a soft check when configuring VMs and warn the user about possible invalid cpu pinnings.
2) Add a policy unit which checks the host before starting the VM there and remove it from the list if it does not provide the specified pinning requirements.
VDSM currently cashes the host capabilities (which include online CPUs). We need to update the capabilities when online CPU status change.
This bug is not marked for z-stream, yet the milestone is for a z-stream version, therefore the milestone has been reset.
Please set the correct milestone or add the z-stream flag.
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.
Verified on rhevm-backend-126.96.36.199-0.1.el6.noarch
Error while executing action:
Cannot run VM. There is no host that satisfies current scheduling constraints. See below for details:
The host host_mixed_1 did not satisfy internal filter CpuPinning because missing online cpu core(s) 31.
The host host_mixed_2 did not satisfy internal filter PinToHost.