Before this patch the virtual CPU was the stock qemu CPU, in the sense that
the virtual CPU features were set according to the default qemu CPU.
With this change the CPU features of the host will be copied at start to the
domain definition. This includes features like svm and vmx, which in turn allow
to run nested virtualization if the host is configured accordingly i.e.
`kvm_intel nested=y` in `/etc/modprobe.d/kvm.conf`.
To turn on nesting, a user has to specify `--kvm-cpu-model host-model` when
creating the VM.
Resolves#2553
Signed-off-by: Fabian Deutsch <fabiand@fedoraproject.org>
Ensure that the directories leading to the KVM image have enough
permission for libvirt/QEMU to traverse, especially in the case where
libvirt/QEMU group is set to to `kvm`/`users`.
Technically, DOMAIN_SHUTDOWN just means that the VM is in the process
of shutting down. We should still return state.Running so that we
don't return from `minikube stop` before the domain is actually
stopped. This should fix a few flakes.
This allows us to use the hyperkit Driver struct in minikube, without
needing CGO_ENABLED=1. For the hyperkit driver binary, the
CGO_ENABLED=1 function will work.
Share most of the disk image setup between hyperkit and kvm drivers.
Move and remove a lot of shared configuration between all the in-tree
drivers: kvm, hyperkit, none.