Bug #10787
closedXen domU detection issues with pvops kernels.
Description
It seems someone at CFEngine has been sleeping at the wheel.
All xen-related classes are not detected if the system is running a PVOps kernel.
This is quite unfortunate, Xen went upstream like 5 years ago...
[ 0.000000] Hypervisor detected: Xen
- find /proc/xen/
/proc/xen/ # ls /proc/xen/ - ls -d /proc/xen
/proc/xen - find /proc/xen
/proc/xen - dmesg | grep -i " Hypervisor detected: Xen"
[ 0.000000] Hypervisor detected: Xen - cf-promises --show-classes | grep -i xen
#@
I've re-tested the whole thing with a 4.1.0 agent.
Same issue.
Please convince the CFEngine guys to detect existance of /proc/xen at the very least. If it does contain the file 'control_d' you're in a dom0.
Easiest way (no knowledge required) to detect a domU is by looking at /sys/module - if there's a number of xen_blkfront or xen_netfront drivers loaded, you are likely in a Xen domU with loaded PV drivers. No matter if full PV or HVM or PVHVM.
There are likely better ways but i think the discussion about "better" is best handled when the basics (it is detected at all) are restored.
Updated by François ARMAND over 7 years ago
- Related to Bug #10779: Memory detection of Xen hosts is incorrect added
Updated by François ARMAND over 7 years ago
- Related to deleted (Bug #10779: Memory detection of Xen hosts is incorrect)
Updated by François ARMAND over 7 years ago
- Target version set to 3.1.21
- Severity changed from Minor - inconvenience | misleading | easy workaround to Major - prevents use of part of Rudder | no simple workaround
- Priority changed from 0 to 36
Updated by Vincent MEMBRÉ over 7 years ago
- Target version changed from 3.1.21 to 3.1.22
Updated by Vincent MEMBRÉ over 7 years ago
- Target version changed from 3.1.22 to 3.1.23
- Priority changed from 52 to 50
Updated by Alexis Mousset over 7 years ago
Xen detection logic is improved in 4.1.7 (https://github.com/cfengine/core/commit/5a3de6f8e81b476c136ef408af54c978933ca02c), this may be fixed now.
Updated by Florian Heigl over 7 years ago
We just found this bug again (I had forgotten...) just two days ago.
Gonna test a 4.1.7 agent on the system in question.
Updated by Florian Heigl about 7 years ago
Don't got a 4.1.7 package in our mirror yet.
Is there a a published RPM already?
Updated by Florian Heigl about 7 years ago
It's a lot closer, but still crap.
Good:- xen is raised, this is correct.
- xen_domu is not raised.
- xen_domu_hv is raised and wrong.
PVops kernel is a PV domU (non-CPU-assisted)
HV would mean a CPU-assisted VM which is not the case.
It is possible that they can't tell it apart, but TBH it looks like no serious effort has been made or the CFEngine guys would have noticed this.
There's just 4 common cases to test, and I think only part of that has been tested.
# cf-promises --show-classes | grep -i xen
xen inventory,attribute_name=Virtual host,source=agent,hardclass
xen_domu_hv source=agent,hardclass
- xen
- xen_dom0
- xen_domu
- xen_domu_pv (classic or pvops)
- xen_domu_hv
- xen_domu_pvh
- xen
- xen_dom0
- xen_domu
I dare say that incorrect detection is useless, and the current hv detection is simply wrong and useless.
Besides that, it's nice to see that it's again able to detect xen at all.
But that's like saying thank you for putting the roof back on the house... :-)
Updated by Vincent MEMBRÉ about 7 years ago
- Target version changed from 3.1.23 to 3.1.24
Updated by Florian Heigl about 7 years ago
Note this also breaks the agent inventory because rudder doesn't have policy for hv xen.
I can't even...
Modify like this to fix:
SuSE.(xen_domu_pv|xen_domu_hv)::
"xen_tools_package" string => "xen-tools-domU";
Can we please at least have that.
Updated by François ARMAND about 7 years ago
- Effort required set to Very Small
- Priority changed from 50 to 65
The proposed evolution is very small and should be done.
I'm also very tempted to put it as "getting started", because lots of serious companies have virtualisation done with Xen.
Updated by Janos Mattyasovszky about 7 years ago
- Pull Request set to https://github.com/Normation/rudder-techniques/pull/1202
Updated by Janos Mattyasovszky about 7 years ago
- Pull Request changed from https://github.com/Normation/rudder-techniques/pull/1202 to https://github.com/Normation/rudder-techniques/pull/1203
PR rebased against 3.1:
https://github.com/Normation/rudder-techniques/pull/1203
Updated by Janos Mattyasovszky about 7 years ago
- Status changed from New to Pending release
- Priority changed from 65 to 64
Applied in changeset rudder-techniques|5fba50308c27b84efbe34465ec140d5d521777a1.
Updated by Vincent MEMBRÉ about 7 years ago
- Status changed from Pending release to Released