canonical / multipass

Multipass orchestrates virtual Ubuntu instances
https://multipass.run
GNU General Public License v3.0
7.86k stars 650 forks source link

Multipass VMs for Snapcraft fail to launch #2235

Closed lucyllewy closed 3 years ago

lucyllewy commented 3 years ago

Describe the bug Snapcraft fails to launch Multipass VMs. Attempting to call multipass directly with the snapcraft: remote also fails.

To Reproduce How, and what happened?

  1. multipass -vvv launch snapcraft:core20
  2. fail.

Expected behavior Launch a VM.

Logs

[2021-09-13T14:53:33.264] [warning] [url downloader] Error getting https://codeload.github.com/canonical/multipass-workflows/zip/refs/heads/main: Network timeout - trying cache.
[2021-09-13T14:53:43.246] [warning] [url downloader] Cannot retrieve headers for https://cdimage.ubuntu.com/ubuntu-core/16/stable/current/ubuntu-core-16-amd64.img.xz: Network timeout
[2021-09-13T14:53:43.246] [warning] [VMImageHost] Could not update manifest: failed to download from 'https://cdimage.ubuntu.com/ubuntu-core/16/stable/current/ubuntu-core-16-amd64.img.xz': Operation canceled
[2021-09-13T14:53:53.246] [warning] [url downloader] Cannot retrieve headers for https://cloud-images.ubuntu.com/buildd/releases/bionic/release/bionic-server-cloudimg-amd64-disk.img: Network timeout
[2021-09-13T14:53:53.246] [warning] [VMImageHost] Could not update manifest: failed to download from 'https://cloud-images.ubuntu.com/buildd/releases/bionic/release/bionic-server-cloudimg-amd64-disk.img': Operation canceled
launch failed: Remote "snapcraft" is unknown or unreachable.

Additional info

multipass info --all ``` Name: snapcraft-audacity State: Stopped IPv4: -- Release: -- Image hash: 3a4708ca0f02 (Ubuntu Snapcraft builder for Core 20) Load: -- Disk usage: -- Memory usage: -- Mounts: /home/dllewellyn/Development/snapcraft/snaps/audacity => /root/project UID map: 1000:0 GID map: 1000:0 Name: snapcraft-discord State: Stopped IPv4: -- Release: -- Image hash: 7c5c8f24046c (Ubuntu Snapcraft builder for Core 18) Load: -- Disk usage: -- Memory usage: -- Mounts: /home/dllewellyn/Development/snapcraft/snaps/discord => /root/project UID map: 1000:0 GID map: 1000:0 Name: snapcraft-fakecam State: Stopped IPv4: -- Release: -- Image hash: 7c5c8f24046c (Ubuntu Snapcraft builder for Core 18) Load: -- Disk usage: -- Memory usage: -- Mounts: /home/dllewellyn/Development/snapcraft/snaps/fakecam => /root/project UID map: 1000:0 GID map: 1000:0 Name: snapcraft-gimp State: Stopped IPv4: -- Release: -- Image hash: 7c5c8f24046c (Ubuntu Snapcraft builder for Core 18) Load: -- Disk usage: -- Memory usage: -- Mounts: /home/dllewellyn/Development/snapcraft/snaps/gimp => /root/project UID map: 1000:0 GID map: 1000:0 Name: snapcraft-gog-galaxy-wine State: Stopped IPv4: -- Release: -- Image hash: 7c5c8f24046c (Ubuntu Snapcraft builder for Core 18) Load: -- Disk usage: -- Memory usage: -- Mounts: /home/dllewellyn/Development/snapcraft/snaps/gog-galaxy-wine => /root/project UID map: 1000:0 GID map: 1000:0 Name: snapcraft-home-assistant-snap State: Stopped IPv4: -- Release: -- Image hash: 3a4708ca0f02 (Ubuntu Snapcraft builder for Core 20) Load: -- Disk usage: -- Memory usage: -- Mounts: /home/dllewellyn/Development/snapcraft/snaps/home-assistant-snap => /root/project UID map: 1000:0 GID map: 1000:0 Name: snapcraft-stars State: Stopped IPv4: -- Release: -- Image hash: 7c5c8f24046c (Ubuntu Snapcraft builder for Core 18) Load: -- Disk usage: -- Memory usage: -- Mounts: /home/dllewellyn/Development/snapcraft/snaps/stars => /root/project UID map: 1000:0 GID map: 1000:0 Name: snapcraft-supertuxkart State: Stopped IPv4: -- Release: -- Image hash: 7c5c8f24046c (Ubuntu Snapcraft builder for Core 18) Load: -- Disk usage: -- Memory usage: -- Mounts: /home/dllewellyn/Development/snapcraft/snaps/supertuxkart => /root/project UID map: 1000:0 GID map: 1000:0 Name: snapcraft-test-python State: Stopped IPv4: -- Release: -- Image hash: 7c5c8f24046c (Ubuntu Snapcraft builder for Core 18) Load: -- Disk usage: -- Memory usage: -- Mounts: /home/dllewellyn/Development/snapcraft/snaps/python-tests/with-extension-path-override-and-pip-buildpkg => /root/project UID map: 1000:0 GID map: 1000:0 Name: snapcraft-tfswitch State: Stopped IPv4: -- Release: -- Image hash: 7c5c8f24046c (Ubuntu Snapcraft builder for Core 18) Load: -- Disk usage: -- Memory usage: -- Mounts: /home/dllewellyn/Development/snapcraft/snaps/terraform-switcher => /root/project UID map: 1000:0 GID map: 1000:0 ```

@sergiusens suggested I ping @Saviq for this.

Saviq commented 3 years ago

Hi @diddledani, all the network issues reported suggest there's something wrong with your network access. Do you have a VPN or firewall enabled that would prevent Multipass from reaching the images? Do other images launch fine?

lucyllewy commented 3 years ago

nothing of that sort. and networking is working fine for the rest of my host os. I haven't changed any configuration related to networking or multipass since installing, and multipass has worked previously on this system - I haven't changed anything since it last worked.

lucyllewy commented 3 years ago

other vms are also failing:

$ multipass -vvv launch focal
[2021-09-13T15:08:13.246] [warning] [url downloader] Cannot retrieve headers for https://cdimage.ubuntu.com/ubuntu-core/16/stable/current/ubuntu-core-16-amd64.img.xz: Network timeout
[2021-09-13T15:08:13.246] [warning] [VMImageHost] Could not update manifest: failed to download from 'https://cdimage.ubuntu.com/ubuntu-core/16/stable/current/ubuntu-core-16-amd64.img.xz': Operation canceled
[2021-09-13T15:08:23.245] [warning] [url downloader] Cannot retrieve headers for https://cloud-images.ubuntu.com/buildd/releases/bionic/release/bionic-server-cloudimg-amd64-disk.img: Network timeout
[2021-09-13T15:08:23.245] [warning] [VMImageHost] Could not update manifest: failed to download from 'https://cloud-images.ubuntu.com/buildd/releases/bionic/release/bionic-server-cloudimg-amd64-disk.img': Operation canceled
launch failed: Remote "" is unknown or unreachable.
lucyllewy commented 3 years ago

VMs that are already installed are able to access the network

$ multipass list
Name                           State             IPv4             Image
snapcraft-audacity             Stopped           --               Ubuntu Snapcraft builder for Core 20
snapcraft-discord              Stopped           --               Ubuntu Snapcraft builder for Core 18
snapcraft-fakecam              Stopped           --               Ubuntu Snapcraft builder for Core 18
snapcraft-gimp                 Stopped           --               Ubuntu Snapcraft builder for Core 18
snapcraft-gog-galaxy-wine      Stopped           --               Ubuntu Snapcraft builder for Core 18
snapcraft-home-assistant-snap  Stopped           --               Ubuntu Snapcraft builder for Core 20
snapcraft-stars                Stopped           --               Ubuntu Snapcraft builder for Core 18
snapcraft-supertuxkart         Stopped           --               Ubuntu Snapcraft builder for Core 18
snapcraft-test-python          Stopped           --               Ubuntu Snapcraft builder for Core 18
snapcraft-tfswitch             Stopped           --               Ubuntu Snapcraft builder for Core 18

$ multipass -vvv start snapcraft-audacity
[2021-09-13T15:10:29.785] [debug] [snapcraft-audacity] process working dir '/snap/multipass/5309/qemu'
[2021-09-13T15:10:29.785] [info] [snapcraft-audacity] process program 'qemu-system-x86_64'
[2021-09-13T15:10:29.785] [info] [snapcraft-audacity] process arguments '--enable-kvm, -device, virtio-scsi-pci,id=scsi0, -drive, file=/var/snap/multipass/common/data/multipassd/vault/instances/snapcraft-audacity/focal-server-cloudimg-amd64-disk.img,if=none,format=qcow2,discard=unmap,id=hda, -device, scsi-hd,drive=hda,bus=scsi0.0, -smp, 2, -m, 2048M, -device, virtio-net-pci,netdev=hostnet0,id=net0,mac=52:54:00:4b:64:e9, -netdev, tap,id=hostnet0,ifname=tap-a3eff4080b8,script=no,downscript=no, -qmp, stdio, -cpu, host, -chardev, null,id=char0, -serial, chardev:char0, -nographic, -cdrom, /var/snap/multipass/common/data/multipassd/vault/instances/snapcraft-audacity/cloud-init-config.iso'
[2021-09-13T15:10:29.796] [debug] [qemu-system-x86_64] [256210] started: qemu-system-x86_64 -nographic -dump-vmstate /tmp/multipassd.heKrXO
[2021-09-13T15:10:30.285] [debug] [daemon] Applied AppArmor policy: multipass.snapcraft-audacity.qemu-system-x86_64
[2021-09-13T15:10:30.285] [info] [snapcraft-audacity] process state changed to Starting
[2021-09-13T15:10:30.287] [info] [snapcraft-audacity] process state changed to Running
[2021-09-13T15:10:30.287] [debug] [qemu-system-x86_64] [256218] started: qemu-system-x86_64 --enable-kvm -device virtio-scsi-pci,id=scsi0 -drive file=/var/snap/multipass/common/data/multipassd/vault/instances/snapcraft-audacity/focal-server-cloudimg-amd64-disk.img,if=none,format=qcow2,discard=unmap,id=hda -device scsi-hd,drive=hda,bus=scsi0.0 -smp 2 -m 2048M -device virtio-net-pci,netdev=hostnet0,id=net0,mac=52:54:00:4b:64:e9 -netdev tap,id=hostnet0,ifname=tap-a3eff4080b8,script=no,downscript=no -qmp stdio -cpu host -chardev null,id=char0 -serial chardev:char0 -nographic -cdrom /var/snap/multipass/common/data/multipassd/vault/instances/snapcraft-audacity/cloud-init-config.iso
[2021-09-13T15:10:30.287] [info] [snapcraft-audacity] process started

$ multipass shell snapcraft-audacity

ubuntu@snapcraft-audacity:~$ ping -c1 google.com
PING google.com (172.217.18.206): 56 data bytes
64 bytes from 172.217.18.206: icmp_seq=0 ttl=112 time=22.273 ms
--- google.com ping statistics ---
1 packets transmitted, 1 packets received, 0% packet loss
round-trip min/avg/max/stddev = 22.273/22.273/22.273/0.000 ms
Saviq commented 3 years ago

@diddledani did you try snap restart multipass? There's a chance the networking stack inside Multipass went awry.

lucyllewy commented 3 years ago

I hadn't. that seems to have resolved it. Ho hum.

stolk commented 2 years ago

I find I hit this every now and then, while my network is working properly, and I can also fetch the data in a browser.

OS: 22.10

multipass: 1.10.0

snapd: 2.57.2

snapcraft: 7.1.4

The snap restart multipass fixes it.

kvendingoldo commented 7 months ago

btw. you can also use tenv that support Terraform as well as OpenTofu (and Terragrunt :) ) in one tool. It allow you to simplify version management and can do much more, than tfswitch.