Red Hat Bugzilla – Bug 1296148
Adding bad host as the first in the cluster results in an unusable cluster even when it is fixed
Last modified: 2016-01-10 02:35:49 EST
Description of problem:
When the first host added to the cluster cannot do virtualization for some reason (disabled in BIOS, or the host is a VM with a cpu type that does not support nesting), the cluster's cpu type and and architecture settings do not get properly initialized. If the host is then fixed by moving it to maintenance mode, repairing the issue and activating, the cluster will be activated, but the cpu type and architecture settings will remain in badly initialized state.
This will result in a cluster in which VMs could not be created.
Version-Release number of selected component (if applicable):
Its easy to reproduce by using nested virtualization and libvirt.
You will need: engine installed, some storage, and a host to run a nested host VM on (we will call it the "physical host"). That physical host should not be managed by the engine.
In my tests the engine, storage and (non-physical) host were all VMs on my Laptop.
Steps to Reproduce:
1. Create a VM to use as a host, set it up with a CPU that does not support nested virtualization (the libvirt default in EL7 does not for example)
2. Install OS in the VM (for example by creating a disk for it with virt-builder) and setup the oVirt repos for it.
3. Create a new cluster, we`ll call it 'cluster1'. if this is a completely new engine system, the 'Default' cluster coudl be used as well.
3. Attempt to add the VM as a host to cluster1, this will fail complaining about the CPU type.
4. Move the host into maintenance mode, shut down the VM, and change the CPU type to something that can do nested virtualization.
5. Bring the host VM back up, go to engine and activate it. Activation will succeed, cluster1 will be activated, and if this is the first host in the DC, the DC will be initialized and the host will become the SPM.
cluster1 cpu architecture and type in the cluster will remain blank.
Trying to create a VM will not allow selecting cluster1.
The cluster should now be fully functional
This is by design. Firt joined host sets the fundamental cluster properties
there is an explicit recent on right click menu. Use that
Why should something that is don implicitly when you add a host should be done explicitly when you 'fix' it?
This is a very bad UX, there was no indicator that the cluster is malfunctioning other then the 'new vm' window being blank.