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

Reply via email to