Instance Deploy fails when using LVM - cloud-automation-manager

When I provision a single VM where the golden image has an LVM configuration inside, we get a failure:
* vsphere_virtual_machine.vm_1: 1 error(s) occurred:
* vsphere_virtual_machine.vm_1: Customization of the guest
operating system 'ubuntu64Guest' is not supported in this
configuration. Microsoft Vista (TM) and Linux guests with Logical
Volume Manager are supported only for recent ESX host and VMware
Tools versions. Refer to vCenter documentation for supported
configurations.
This seems to be a message returned from Vmware but we are not sure what to do. Why did it fail?

The error returned is a VSphere generic error message, not related to LVM specifically. The real error is caused by either:
VMware Tools not being installed (guest OS customizations require
VMware Tools)
Unsupported guest OS. A list of compatible operating systems can be found here
Please make sure that you have VMware Tools installed in your template and that the guest OS is on the list of supported operating systems.
In order to skip the customization step for unsupported operating systems, use the skip_customization argument on the virtual machine resource.

Related

Detect physical machine, as opposed to detecting a VM

Hypervisor presence can be detected via WMI like this;
select * from Win32_ComputerSystem
From that, read HypervisorPresent and if true, then it is present.
Equivalent VMIC command:
ComputerSystem get HypervisorPresent
This gives "true" for systems running under VMWare and VirtualBox and Hyper-V.
The problem is that it also gives "true", when run on physical machines when Hyper-V is installed, i.e. outside of a virtualized system.
So, my question is this:
Is it somehow possible to detect if the system is an actual physical machine even when Hyper-V is installed?
I had an idea of also checking if the Hyper-V service/role is installed, but that isn't enough since you can do nested virtualization with Hyper-V.
Check the “HKLM\SOFTWARE\Microsoft\Virtual Machine\Auto” mostly all the host details stored in this key at guest
Using HKLM\SOFTWARE\Microsoft\Virtual Machine\Guest\Parameters you get more information about it
but only works for HyperV you need to validate twice one time for other hypervisors and second time for HyperV.
There is an class check this to share vm and host details.
You can Check this for more helpful information.

Is it possible to run a windows guest in a linux host on KVM in google cloud nested virtualization?

Is it possible to run a windows guest in a linux host on KVM in google cloud nested virtualization?
We know Google now provides for nested virtualization, in theory they say you can run a linux guest on a linux host using kvm hypervisor as explained in the link below. Does this allow for windows guest?
https://cloud.google.com/compute/docs/instances/enable-nested-virtualization-vm-instances
In nested virtualization it doesn't matter what virtual machines you run (as level 2) in the nested hypervisor. Google is saying that you can only run Linux and KVM as the nested hypervisor (level 1) and that they do not support ESXi, Xen or Windows at level 1. You can run anything you want at level 2, even operating systems not otherwise possible to run in Google Cloud.
Nested Windows 10 at L2 is working. But if you are using libvirt, you have to enable HPET / high precision event timer (libvirt adds -no-hpet, and with this flag, you have boot problems). You can solve this issue by editing the xml file and change <timer name='hypervclock' present='no'/> to <timer name='hypervclock' present='yes'/>.
For windows Versions below 10, this is not requied.
At this point, the doc says:
Nested virtualization does not currently support Windows instances.

open vm tools fails to customize guest

I am trying to deploy a cent-os 7 VM on a vcenetr from pyvmomi python library and then before powering on the VM I am trying to setup static IP and DNS for the VM.
VM creation goes fine , but guest customization fails, givimg following error:
**Customization of the guest operating system 'rhel6_64Guest' is not sup
ported in this configuration. Microsoft Vista (TM) and Linux guests with Logical
Volume Manager are supported only for recent ESX host and VMware Tools versions
. Refer to vCenter documentation for supported configurations."
faultCause =
faultMessage = (vmodl.LocalizableMessage) []
uncustomizableGuestOS = 'rhel6_64Guest'
Now this customization problem goes away if the VM is just rebooted once. After that we can do the guest customization.
But this reboot takes around 30 seconds of time and for our case , we need to get VMs up and running faster than this time.
Any body who faces similar problem and has some context on it will be very helpful.
Also I don't understand how rebooting the VM solves this problem.
Please share your thoughts even if you don't have exact solutions .
On further Investigation I found that open-vm-tools does not work until the VM is powered on atleast once.
When Machine is powered on , the HOST system detects the open-vm-tools running on guest OS , and from there on open-vm-tools works.
So open-vm-tools can not be used for initial provisioning as it will just not work at the start up.
Cloud-init is the alternative solution which should be used for initial provisioning.

How do Hypervisor, libvirt and host come together to virtualize the system?

I am not able to understand this hierarchy. Host OS runs on bare metal. Where does libvirt reside ? where does the Hypervisor reside ? Is libvirt a necessary lib in the creation of a VM or is it just a better abstraction to the core kernel APIs that provide the the service of creation of VMs? what is the libvirt equivalent in windows that is used by Virtualbox ? Does Hypervisor have any role to play in the scheduling of host OS applications or is it just another process handled by the Host OS. These are a few questions that confuse me. Can anyone explain this in a straight manner ? Thanks!
Host OS runs on bare metal - Yes
where does the Hypervisor reside? - It is a software layer on Host OS
Where does libvirt reside? - It is another API layer on the Host to indirectly interface with the hypervisor.
Is libvirt a necessary lib in the creation of a VM or is it just a better abstraction to the core kernel APIs that provide the the service of creation of
VMs? - Standard abstraction
What is the libvirt equivalent in windows that is used by Virtualbox ? - Libvirt can be used to interact with VirtualBox. Libvirt is known to work as a client (not server) on Windows XP (32-bit), and Windows 7 (64-bit).
Does Hypervisor have any role to play in the scheduling of host OS applications or is it just another process handled by the Host OS. - Just another process
References: http://virtualbox.guru

VMware player gives Virtualization is incompatible with long mode on this platform

We've physical machine on which several virtual machines are installed using vm player. Now we are trying to install tool on one of these virtual machines, the tool require vm player, so we installed vmplayer 4.0.0 on the virtual machine. But the vmplayer gives error while installing tool like "Virtualization is incompatible with long mode on this platform. Without long mode support the virtual machine will not be able to run 64 bit code.
The visualization option on the physical machine is already enabled.
Any help on this.
I managed to get long mode working in Vmware by uninstalling Virtual PC.
No nesting or something, it simply started working.
I don't think it's possible with VMWare Player on the host since the VT is not virtualized.
According to http://www.virtuallyghetto.com/2011/07/how-to-enable-support-for-nested-64bit.html?m=1
you could do it with VMWare vSphere 5