Sanpcraft with --use-lxc never launches

Hi, I wanted to try building the Steam Snap: https://github.com/canonical/steam-snap

But when I run snapcraft --use-lxc it never completes launching the instance, I’ve waited at most 12 minutes not sure how long it is meant to take?

There’s not really any output to find out what the issue is, it just says Launching instance... / (316.0)

Could you send the output if you use snapcraft --use-lxd --verbosity=debug?

2023-05-02 16:24:24.097 Starting Snapcraft 7.3.1
2023-05-02 16:24:24.098 lifecycle command: 'pack', arguments: Namespace(bind_ssh=False, build_for=None, debug=False, destructive_mode=False, directory=None, enable_developer_debug=False, enable_experimental_extensions=False, enable_experimental_target_arch=False, enable_experimental_ua_services=False, enable_manifest=False, http_proxy=None, https_proxy=None, manifest_image_information=None, output=None, provider=None, target_arch=None, ua_token=None, use_lxd=True)
2023-05-02 16:24:24.099 command: pack, arguments: Namespace(bind_ssh=False, build_for=None, debug=False, destructive_mode=False, directory=None, enable_developer_debug=False, enable_experimental_extensions=False, enable_experimental_target_arch=False, enable_experimental_ua_services=False, enable_manifest=False, http_proxy=None, https_proxy=None, manifest_image_information=None, output=None, provider=None, target_arch=None, ua_token=None, use_lxd=True)
2023-05-02 16:24:24.139 CPU count (from process affinity): 12
2023-05-02 16:24:24.139 Invalid SNAPCRAFT_MAX_PARALLEL_BUILD_COUNT ''
2023-05-02 16:24:24.139 Running on amd64 for amd64
2023-05-02 16:24:24.143 Checking build provider availability
2023-05-02 16:24:24.148 Retrieved snap config: {}
2023-05-02 16:24:24.148 Using provider 'lxd' passed as an argument.
2023-05-02 16:24:24.250 Executing on host: lxc --project default profile show local:default
2023-05-02 16:24:24.306 Using hostname 'snapcraft-steam-on-amd64-for-amd64-29278280'
2023-05-02 16:24:24.307 Launching instance...
2023-05-02 16:24:24.307 Executing on host: lxc remote list --format=yaml
2023-05-02 16:24:24.343 Remote 'craft-com.ubuntu.cloud-buildd' already exists.
2023-05-02 16:24:24.343 Deprecated: Parameter 'use_snapshots' is deprecated. Use parameter 'use_base_instance' instead.
2023-05-02 16:24:24.343 Executing on host: lxc project list local: --format=yaml
2023-05-02 16:24:24.379 Set LXD instance name to 'snapcraft-steam-on-amd64-for-amd64-29278280'
2023-05-02 16:24:24.380 Checking for instance 'snapcraft-steam-on-amd64-for-amd64-29278280' in project 'snapcraft' in remote 'local'
2023-05-02 16:24:24.380 Executing on host: lxc --project snapcraft list local: --format=yaml
2023-05-02 16:24:24.434 Executing on host: lxc --project snapcraft config get local:snapcraft-steam-on-amd64-for-amd64-29278280 raw.idmap
2023-05-02 16:24:24.470 Unexpected id map for 'snapcraft-steam-on-amd64-for-amd64-29278280' (expected 'both 1000 0', got '').
2023-05-02 16:24:24.470 Cleaning incompatible instance 'snapcraft-steam-on-amd64-for-amd64-29278280' (reason: the instance's id map ('raw.idmap') is not configured as expected).
2023-05-02 16:24:24.471 Executing on host: lxc --project snapcraft delete local:snapcraft-steam-on-amd64-for-amd64-29278280 --force
2023-05-02 16:24:25.824 Instance 'snapcraft-steam-on-amd64-for-amd64-29278280' does not exist.
2023-05-02 16:24:25.824 Set LXD instance name to 'base-instance-snapcraft-buildd-base-v00--a12c0d0071c13c372948'
2023-05-02 16:24:25.824 Checking for base instance 'base-instance-snapcraft-buildd-base-v00--a12c0d0071c13c372948' in project 'snapcraft' in remote 'local'
2023-05-02 16:24:25.824 Executing on host: lxc --project snapcraft list local: --format=yaml
2023-05-02 16:24:25.874 Base instance 'base-instance-snapcraft-buildd-base-v00--a12c0d0071c13c372948' does not exist.
2023-05-02 16:24:25.874 Creating new instance from image 'core22' from remote 'craft-com.ubuntu.cloud-buildd'.
2023-05-02 16:24:25.874 Executing on host: lxc --project snapcraft info local:
2023-05-02 16:24:25.927 Executing on host: lxc --project snapcraft launch craft-com.ubuntu.cloud-buildd:core22 local:snapcraft-steam-on-amd64-for-amd64-29278280 --config security.syscalls.intercept.mknod=true
2023-05-02 16:24:28.722 Executing in container: lxc --project snapcraft exec local:snapcraft-steam-on-amd64-for-amd64-29278280 -- env PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin SNAPCRAFT_MANAGED_MODE=1 cat /etc/os-release
2023-05-02 16:24:28.872 Executing in container: lxc --project snapcraft exec local:snapcraft-steam-on-amd64-for-amd64-29278280 -- env PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin SNAPCRAFT_MANAGED_MODE=1 test -f /etc/craft-instance.conf
2023-05-02 16:24:28.921 Executing on host: lxc --project snapcraft file push /tmp/tmp5rz1zpbj local:snapcraft-steam-on-amd64-for-amd64-29278280/etc/apt/apt.conf.d/20auto-upgrades --mode=0644
2023-05-02 16:24:28.989 Executing in container: lxc --project snapcraft exec local:snapcraft-steam-on-amd64-for-amd64-29278280 -- env PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin SNAPCRAFT_MANAGED_MODE=1 chown root:root /etc/apt/apt.conf.d/20auto-upgrades
2023-05-02 16:24:29.151 Executing on host: lxc --project snapcraft file push /tmp/tmpu3t7smmd local:snapcraft-steam-on-amd64-for-amd64-29278280/etc/environment --mode=0644
2023-05-02 16:24:29.188 Executing in container: lxc --project snapcraft exec local:snapcraft-steam-on-amd64-for-amd64-29278280 -- env PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin SNAPCRAFT_MANAGED_MODE=1 chown root:root /etc/environment
2023-05-02 16:24:29.264 Waiting for environment to be ready...
2023-05-02 16:24:29.264 Executing in container: lxc --project snapcraft exec local:snapcraft-steam-on-amd64-for-amd64-29278280 -- env PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin SNAPCRAFT_MANAGED_MODE=1 systemctl is-system-running
2023-05-02 16:24:29.311 Executing in container: lxc --project snapcraft exec local:snapcraft-steam-on-amd64-for-amd64-29278280 -- env PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin SNAPCRAFT_MANAGED_MODE=1 test -f /etc/craft-instance.conf
2023-05-02 16:24:29.357 Executing on host: lxc --project snapcraft file push /tmp/tmp2wrz2k0p local:snapcraft-steam-on-amd64-for-amd64-29278280/etc/craft-instance.conf --mode=0644
2023-05-02 16:24:29.394 Executing in container: lxc --project snapcraft exec local:snapcraft-steam-on-amd64-for-amd64-29278280 -- env PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin SNAPCRAFT_MANAGED_MODE=1 chown root:root /etc/craft-instance.conf
2023-05-02 16:24:29.464 Executing on host: lxc --project snapcraft file push /tmp/tmpk5lud51d local:snapcraft-steam-on-amd64-for-amd64-29278280/etc/hostname --mode=0644
2023-05-02 16:24:29.501 Executing in container: lxc --project snapcraft exec local:snapcraft-steam-on-amd64-for-amd64-29278280 -- env PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin SNAPCRAFT_MANAGED_MODE=1 chown root:root /etc/hostname
2023-05-02 16:24:29.544 Executing in container: lxc --project snapcraft exec local:snapcraft-steam-on-amd64-for-amd64-29278280 -- env PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin SNAPCRAFT_MANAGED_MODE=1 hostname -F /etc/hostname
2023-05-02 16:24:29.632 Executing in container: lxc --project snapcraft exec local:snapcraft-steam-on-amd64-for-amd64-29278280 -- env PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin SNAPCRAFT_MANAGED_MODE=1 ln -sf /run/systemd/resolve/resolv.conf /etc/resolv.conf
2023-05-02 16:24:29.679 Executing in container: lxc --project snapcraft exec local:snapcraft-steam-on-amd64-for-amd64-29278280 -- env PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin SNAPCRAFT_MANAGED_MODE=1 systemctl enable systemd-resolved
2023-05-02 16:24:29.752 Executing in container: lxc --project snapcraft exec local:snapcraft-steam-on-amd64-for-amd64-29278280 -- env PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin SNAPCRAFT_MANAGED_MODE=1 systemctl restart systemd-resolved
2023-05-02 16:24:29.858 Executing on host: lxc --project snapcraft file push /tmp/tmp8evbupif local:snapcraft-steam-on-amd64-for-amd64-29278280/etc/systemd/network/10-eth0.network --mode=0644
2023-05-02 16:24:29.897 Executing in container: lxc --project snapcraft exec local:snapcraft-steam-on-amd64-for-amd64-29278280 -- env PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin SNAPCRAFT_MANAGED_MODE=1 chown root:root /etc/systemd/network/10-eth0.network
2023-05-02 16:24:29.988 Executing in container: lxc --project snapcraft exec local:snapcraft-steam-on-amd64-for-amd64-29278280 -- env PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin SNAPCRAFT_MANAGED_MODE=1 systemctl enable systemd-networkd
2023-05-02 16:24:30.068 Executing in container: lxc --project snapcraft exec local:snapcraft-steam-on-amd64-for-amd64-29278280 -- env PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin SNAPCRAFT_MANAGED_MODE=1 systemctl restart systemd-networkd
2023-05-02 16:24:30.183 Waiting for networking to be ready...
2023-05-02 16:24:30.183 Executing in container: lxc --project snapcraft exec local:snapcraft-steam-on-amd64-for-amd64-29278280 -- env PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin SNAPCRAFT_MANAGED_MODE=1 getent hosts snapcraft.io
2023-05-02 16:24:30.506 Executing in container: lxc --project snapcraft exec local:snapcraft-steam-on-amd64-for-amd64-29278280 -- env PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin SNAPCRAFT_MANAGED_MODE=1 getent hosts snapcraft.io
2023-05-02 16:24:30.834 Executing in container: lxc --project snapcraft exec local:snapcraft-steam-on-amd64-for-amd64-29278280 -- env PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin SNAPCRAFT_MANAGED_MODE=1 getent hosts snapcraft.io
2023-05-02 16:25:11.208 Executing in container: lxc --project snapcraft exec local:snapcraft-steam-on-amd64-for-amd64-29278280 -- env PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin SNAPCRAFT_MANAGED_MODE=1 getent hosts snapcraft.io
2023-05-02 16:25:51.622 Executing in container: lxc --project snapcraft exec local:snapcraft-steam-on-amd64-for-amd64-29278280 -- env PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin SNAPCRAFT_MANAGED_MODE=1 getent hosts snapcraft.io
2023-05-02 16:26:32.038 Executing in container: lxc --project snapcraft exec local:snapcraft-steam-on-amd64-for-amd64-29278280 -- env PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin SNAPCRAFT_MANAGED_MODE=1 getent hosts snapcraft.io
2023-05-02 16:27:12.474 Executing in container: lxc --project snapcraft exec local:snapcraft-steam-on-amd64-for-amd64-29278280 -- env PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin SNAPCRAFT_MANAGED_MODE=1 getent hosts snapcraft.io
2023-05-02 16:27:52.865 Executing in container: lxc --project snapcraft exec local:snapcraft-steam-on-amd64-for-amd64-29278280 -- env PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin SNAPCRAFT_MANAGED_MODE=1 getent hosts snapcraft.io
2023-05-02 16:28:33.272 Executing in container: lxc --project snapcraft exec local:snapcraft-steam-on-amd64-for-amd64-29278280 -- env PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin SNAPCRAFT_MANAGED_MODE=1 getent hosts snapcraft.io
2023-05-02 16:29:13.697 Executing in container: lxc --project snapcraft exec local:snapcraft-steam-on-amd64-for-amd64-29278280 -- env PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin SNAPCRAFT_MANAGED_MODE=1 getent hosts snapcraft.io
2023-05-02 16:29:54.115 Executing in container: lxc --project snapcraft exec local:snapcraft-steam-on-amd64-for-amd64-29278280 -- env PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin SNAPCRAFT_MANAGED_MODE=1 getent hosts snapcraft.io
2023-05-02 16:30:34.553 Executing in container: lxc --project snapcraft exec local:snapcraft-steam-on-amd64-for-amd64-29278280 -- env PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin SNAPCRAFT_MANAGED_MODE=1 getent hosts snapcraft.io
2023-05-02 16:31:14.791 Interrupted.
2023-05-02 16:31:14.792 Traceback (most recent call last):
2023-05-02 16:31:14.792   File "/snap/snapcraft/8931/lib/python3.8/site-packages/snapcraft/cli.py", line 243, in run
2023-05-02 16:31:14.792     _run_dispatcher(dispatcher)
2023-05-02 16:31:14.792   File "/snap/snapcraft/8931/lib/python3.8/site-packages/snapcraft/cli.py", line 219, in _run_dispatcher
2023-05-02 16:31:14.792     dispatcher.run()
2023-05-02 16:31:14.792   File "/snap/snapcraft/8931/lib/python3.8/site-packages/craft_cli/dispatcher.py", line 448, in run
2023-05-02 16:31:14.792     return self._loaded_command.run(self._parsed_command_args)
2023-05-02 16:31:14.792   File "/snap/snapcraft/8931/lib/python3.8/site-packages/snapcraft/commands/lifecycle.py", line 259, in run
2023-05-02 16:31:14.792     super().run(parsed_args)
2023-05-02 16:31:14.792   File "/snap/snapcraft/8931/lib/python3.8/site-packages/snapcraft/commands/lifecycle.py", line 132, in run
2023-05-02 16:31:14.792     parts_lifecycle.run(self.name, parsed_args)
2023-05-02 16:31:14.792   File "/snap/snapcraft/8931/lib/python3.8/site-packages/snapcraft/parts/lifecycle.py", line 215, in run
2023-05-02 16:31:14.792     _run_command(
2023-05-02 16:31:14.793   File "/snap/snapcraft/8931/lib/python3.8/site-packages/snapcraft/parts/lifecycle.py", line 256, in _run_command
2023-05-02 16:31:14.793     _run_in_provider(project, command_name, parsed_args)
2023-05-02 16:31:14.793   File "/snap/snapcraft/8931/lib/python3.8/site-packages/snapcraft/parts/lifecycle.py", line 540, in _run_in_provider
2023-05-02 16:31:14.793     with provider.launched_environment(
2023-05-02 16:31:14.793   File "/snap/snapcraft/8931/usr/lib/python3.8/contextlib.py", line 113, in __enter__
2023-05-02 16:31:14.793     return next(self.gen)
2023-05-02 16:31:14.793   File "/snap/snapcraft/8931/lib/python3.8/site-packages/craft_providers/lxd/lxd_provider.py", line 126, in launched_environment
2023-05-02 16:31:14.793     instance = launch(
2023-05-02 16:31:14.793   File "/snap/snapcraft/8931/lib/python3.8/site-packages/craft_providers/lxd/launcher.py", line 524, in launch
2023-05-02 16:31:14.793     _create_instance(
2023-05-02 16:31:14.793   File "/snap/snapcraft/8931/lib/python3.8/site-packages/craft_providers/lxd/launcher.py", line 74, in _create_instance
2023-05-02 16:31:14.793     base_configuration.setup(executor=instance)
2023-05-02 16:31:14.793   File "/snap/snapcraft/8931/lib/python3.8/site-packages/craft_providers/bases/buildd.py", line 407, in setup
2023-05-02 16:31:14.793     self._setup_wait_for_network(
2023-05-02 16:31:14.793   File "/snap/snapcraft/8931/lib/python3.8/site-packages/craft_providers/bases/buildd.py", line 877, in _setup_wait_for_network
2023-05-02 16:31:14.793     sleep(retry_wait)
2023-05-02 16:31:14.793 KeyboardInterrupt
2023-05-02 16:31:14.793 Full execution log: '/home/baa/.local/state/snapcraft/log/snapcraft-20230502-162424.092448.log'

It looks like the LXD container’s networking isn’t getting set up. If you start your own lxd container (e.g. lxc launch ubuntu:22.04 u1) does networking work in that container?

Building on @lengau’s suggestion, if Docker is installed on your host, it may be causing the network connectivity issues. See these links for more information from craft-providers, lxd, and docker.

We have two issues in the craft-providers library to improve this user experience. One for detecting Docker-related network conflicts and another for adding a time-out to the container setup.

2 Likes

I think it’s launched ok:

baa@Tiles-PC:~$ lxc launch ubuntu:22.04 u1
Creating u1
Starting u1                                 
baa@Tiles-PC:~$ lxc list 
+------+---------+------+-----------------------------------------------+-----------+-----------+
| NAME |  STATE  | IPV4 |                     IPV6                      |   TYPE    | SNAPSHOTS |
+------+---------+------+-----------------------------------------------+-----------+-----------+
| u1   | RUNNING |      | fd42:2824:1dc8:3216:216:3eff:fe26:ef0e (eth0) | CONTAINER | 0         |
+------+---------+------+-----------------------------------------------+-----------+-----------+

It seems to have only a local ipv6 address. If you shell into that container (lxc shell u1) and try to make any network connections (e.g. ping snapcraft.io) it should complain about not being able to find the network. The Linux containers forum has some posts about this. Going back to @mr_cal’s suggestion - do you have Docker installed on this machine?

1 Like

I did have docker installed but I’ve now purged it, sadly the issue remains :frowning: You’re right inside the container it can’t ping externally, complains about DNS resolution failure.

Those threads mention changes to IP Tables that docker makes, so I’ve run iptables -F and now it’s working :smiley:

Thanks for your help

Just a note for anyone else, flushing iptables made UFW quite unhappy and all packets started getting blocked when I re-enabled it so I ran this to reset UFW to defaults:

sudo ufw reset
sudo ufw disable
sudo iptables -X
sudo systemctl restart ufw
sudo ufw enable
1 Like

wait a minute it’s stopped again

Nevermind I think it is fine, it just takes longer than I thought

1 Like

Glad you got it working!

1 Like