I'm currently playing with derived qcow2 disks using vmd. While my
setup was working on 7.3 (maybe there is an issue with MAC assignments
in VMs) so I updated to current, but now VMs don't start at all when
they are using a derived qcow2 disk + network interface

This setup works: openbsd-template.qcow2 is a regular qcow2 on which I
installed OpenBSD 7.3 (I tried using current in the VM too)

# ----8<--------
vm "test" {
    disk /var/openkubsd/templates/openbsd-template.qcow2
    interface locked lladdr 7f:94:fc:e6:2b:25 switch kubes
}
switch "kubes" {
        interface bridge0
}
# ----8<--------


This snippet below won't work, test.qcow2 has been created with:

vmctl create -b /var/openkubsd/templates/openbsd-template.qcow2 \
     /var/openkubsd/derived/test.qcow2

# ----8<--------
vm "test" {
    disk /var/openkubsd/derived/test.qcow2
    interface locked lladdr 7f:94:fc:e6:2b:25 switch kubes
    # simplifying the interface line doesn't change something
}
switch "kubes" {
        interface bridge0
}
# ----8<--------

vmd fails with this log in vmd output -vv

# ----8<--------
config_setvm: vm 1 restarted after 10.638598 seconds, limit 0/3
vm_opentty: vm test tty /dev/ttyp7 uid 0 gid 4 mode 620
vm_register: registering vm 1
vm_priv_ifconfig: interface tap0 description vm1-if0-test
vm_priv_ifconfig: interface tap0 address 100.64.1.2/31
test: started vm 1 successfully, tty /dev/ttyp7
vmm_sighdlr: handling signal 20
failed to receive vionet: Bad file descriptor
vmm_sighdlr: terminated vm test (id 1)
vm_remove: vmm vmm_sighdlr removing vm 1 from running config
vm_stop: vmm vmm_sighdlr stopping vm 1
vm_stop: parent vmd_dispatch_vmm stopping vm 1
vmd_dispatch_vmm: vm: 1, vm_state: 0x0
# ----8<--------

However, entirely removing the interface line in vm.conf, like this:

# ----8<--------
vm "test" {
    disk /var/openkubsd/derived/test.qcow2
}
# ----8<--------

allows a successful boot, without network

Reply via email to