Solène Rapenne <sol...@perso.pw> writes:
> 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 Thanks. This feels like bad fd accounting during the fork/exec dance. Sounds like the switch definition and usage isn't required for reproducing? > 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