** Description changed: [ Impact ] * If the LXD is not pre-created and/or the primary user isn't member of it, lxd-installer will fail to install LXD with a cryptic permission denied error. [ Test Plan ] Create a test instance: $ lxc launch ubuntu-minimal-daily:24.04 u1 Make sure LXD snap is not installed: $ ! lxc exec u1 -- snap list lxd || false error: no matching snaps installed Remove the LXD group: $ lxc exec u1 -- delgroup lxd warn: The group `lxd' does not exist. Check lxd-installer version (update to -proposed package if needed): $ lxc exec u1 -- dpkg -l | grep lxd-installer ii lxd-installer 4 all Wrapper to install lxd snap on demand Trigger lxd-installer as the regular user not a member of the lxd group: $ lxc exec --user 1000 --group 1000 --env HOME=/home/ubuntu u1 -- lxc list Installing LXD snap, please be patient. Traceback (most recent call last): - File "<string>", line 1, in <module> + File "<string>", line 1, in <module> PermissionError: [Errno 13] Permission denied /usr/sbin/lxc: 12: exec: /snap/bin/lxc: not found Error: Command not found + + The output above is the cryptic error that should not be displayed if the updated package is installed. Instead, a user not in the lxd group triggers the lxd-installer, it should receive this nicer error message: + + $ lxc exec --user 1000 --group 1000 --env HOME=/home/ubuntu u1 -- lxc list + Unable to trigger the installation of the LXD snap. + Please make sure you're a member of the 'lxd' system group. + + And the return code should be 1 to indicate an error. + [ Where problems could occur ] - TODO + The proposed fix is to check if the /run/lxd-installer.socket socket is + writable and if not, report a nicer error and exist with an error before + trying to do the installation and eventually error out. + + It is possible for this socket to either be missing or not be writable + for a reason different than the invoking user not being in the lxd + group. + + If that's the case, the hint to very the group membership would be + misleading. + [Original description] On a fresh install of 24.04 server on Raspberry Pi, I ran 'lxc list' without having the lxd snap installed already. There was an attempt to install the snap, but it failed, and the snap needed to be manually installed: nr@pi5:~$ lxc list Installing LXD snap, please be patient. Traceback (most recent call last): File "<string>", line 1, in <module> PermissionError: [Errno 13] Permission denied /usr/sbin/lxc: 12: exec: /snap/bin/lxc: not found More details: nr@pi5:~$ cat /etc/os-release PRETTY_NAME="Ubuntu Noble Numbat (development branch)" NAME="Ubuntu" VERSION_ID="24.04" VERSION="24.04 LTS (Noble Numbat)" VERSION_CODENAME=noble ID=ubuntu ID_LIKE=debian HOME_URL="https://www.ubuntu.com/" SUPPORT_URL="https://help.ubuntu.com/" BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/" PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy" UBUNTU_CODENAME=noble LOGO=ubuntu-logo nr@pi5:~$ apt policy lxd-installer lxd-installer: Installed: 4 Candidate: 4 Version table: *** 4 500 500 http://ports.ubuntu.com/ubuntu-ports noble/main arm64 Packages 100 /var/lib/dpkg/status
** Description changed: [ Impact ] * If the LXD is not pre-created and/or the primary user isn't member of it, lxd-installer will fail to install LXD with a cryptic permission denied error. [ Test Plan ] Create a test instance: $ lxc launch ubuntu-minimal-daily:24.04 u1 Make sure LXD snap is not installed: $ ! lxc exec u1 -- snap list lxd || false error: no matching snaps installed Remove the LXD group: $ lxc exec u1 -- delgroup lxd warn: The group `lxd' does not exist. Check lxd-installer version (update to -proposed package if needed): $ lxc exec u1 -- dpkg -l | grep lxd-installer ii lxd-installer 4 all Wrapper to install lxd snap on demand Trigger lxd-installer as the regular user not a member of the lxd group: $ lxc exec --user 1000 --group 1000 --env HOME=/home/ubuntu u1 -- lxc list Installing LXD snap, please be patient. Traceback (most recent call last): File "<string>", line 1, in <module> PermissionError: [Errno 13] Permission denied /usr/sbin/lxc: 12: exec: /snap/bin/lxc: not found Error: Command not found - - The output above is the cryptic error that should not be displayed if the updated package is installed. Instead, a user not in the lxd group triggers the lxd-installer, it should receive this nicer error message: + The output above is the cryptic error that should not be displayed if + the updated package is installed. Instead, a user not in the lxd group + that would trigger the lxd-installer, should immediately receive this + nicer error message: $ lxc exec --user 1000 --group 1000 --env HOME=/home/ubuntu u1 -- lxc list Unable to trigger the installation of the LXD snap. Please make sure you're a member of the 'lxd' system group. And the return code should be 1 to indicate an error. [ Where problems could occur ] The proposed fix is to check if the /run/lxd-installer.socket socket is writable and if not, report a nicer error and exist with an error before trying to do the installation and eventually error out. It is possible for this socket to either be missing or not be writable for a reason different than the invoking user not being in the lxd group. - If that's the case, the hint to very the group membership would be + If that's the case, the hint to verify the group membership would be misleading. - [Original description] On a fresh install of 24.04 server on Raspberry Pi, I ran 'lxc list' without having the lxd snap installed already. There was an attempt to install the snap, but it failed, and the snap needed to be manually installed: nr@pi5:~$ lxc list Installing LXD snap, please be patient. Traceback (most recent call last): File "<string>", line 1, in <module> PermissionError: [Errno 13] Permission denied /usr/sbin/lxc: 12: exec: /snap/bin/lxc: not found More details: nr@pi5:~$ cat /etc/os-release PRETTY_NAME="Ubuntu Noble Numbat (development branch)" NAME="Ubuntu" VERSION_ID="24.04" VERSION="24.04 LTS (Noble Numbat)" VERSION_CODENAME=noble ID=ubuntu ID_LIKE=debian HOME_URL="https://www.ubuntu.com/" SUPPORT_URL="https://help.ubuntu.com/" BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/" PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy" UBUNTU_CODENAME=noble LOGO=ubuntu-logo nr@pi5:~$ apt policy lxd-installer lxd-installer: Installed: 4 Candidate: 4 Version table: *** 4 500 500 http://ports.ubuntu.com/ubuntu-ports noble/main arm64 Packages 100 /var/lib/dpkg/status -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/2061017 Title: lxd-installer: permission error not handled and lxd snap not installed To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/lxd-installer/+bug/2061017/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs