lavabit / robox

The tools needed to robotically create/configure/provision a large number of operating systems, for a variety of hypervisors, using packer.
626 stars 139 forks source link

[Ubuntu 20.10] Bugfix `A start Job is running for sys-devices-virtual-mis-vmbus\x21hv_kvp.devices` #174

Closed hswong3i closed 3 years ago

hswong3i commented 3 years ago

See:

ladar commented 3 years ago

@hswong3i the hv-kvp-daemon is only installed on the Hyper-V variant. So if it needs to be disabled, it should be done in a hyperv specific module. Which in this case you'd need to create.

The bigger issue is that packer and I assume vagrant require some of those HV services to find the guest IP address. If we disable it, then vagrant might not be able to connect.

Have you done any testing?

hswong3i commented 3 years ago

But I am using libvirt version so suppose to be not affected? Anyway I just face that 1:30 delay during initial vagrant up, ummm...

ladar commented 3 years ago

@hswong3i my fix might not make it into the 3.1.4 boxes, but should be part of the 3.1.6 release. If you'd like to test it out yourself you can compile the latest release by running:

./robox.sh box generic-ubuntu2010-libvirt

That should create a box file in the output directory you can locally import into vagrant and test.

hswong3i commented 3 years ago

@hswong3i my fix might not make it into the 3.1.4 boxes, but should be part of the 3.1.6 release. If you'd like to test it out yourself you can compile the latest release by running:

./robox.sh box generic-ubuntu2010-libvirt

That should create a box file in the output directory you can locally import into vagrant and test.

@ladar confirm local build for https://github.com/lavabit/robox/commit/6da08584a85cc46c27650df1fbeebd4ac83e7998 with packer v1.6.2 working with generic-libvirt.json, no more boot delay due to hv_kvp.devices happened ;-)

P.S. I tried with packer v1.6.3+ but they failed with QEMU, see https://github.com/hashicorp/packer/issues/10135

ladar commented 3 years ago

I use CentOS 7 for the primary build robots (at least the ones that handle libvirt, virtualbox, vmware, and docker). I've successfully built boxes on CentOS 8, using the libvirt but don't routinely test on other hosts. That said I have had success building on Ubuntu and Gentoo in the past, but it's been months since I tried that and I was probably still using packer version 1.4.5.

Naturally, if you know how to improve the ./robox.sh script and/or templates to be more forgiving on other platforms, please let me know.... and/or open up a pull request.

In the past I've patched a number of minor issues so that many of the helper functions provided by the ./robox.sh script will now work on MacOS/Windows, etc al.

If you run ./robox.sh without any arguments you'll get the help output.

hswong3i commented 3 years ago

I am using Ubuntu 20.04 + libvirt + vagrant 2.2.10 + packer 1.6.2 for building image with ./robox box generic-ubuntu2010-libvirt, then also running the generic-ubuntu2010-libvirt image manually and functioning with libvirt, too.