← Back to issue list

lxd: Use user in container when mounting remote via sshfs

View original Github issue

Metadata

Project
snapcraft
Number
#1847
Type
pull request
State
merged
Author
kalikiana
Labels
—
Created
Updated
Closed

Current evaluation

Merged as commit e7d73a365: snapcraft now creates a user in the LXD container for remote sshfs builds so project files aren't left root-owned, fixing LP bug #1741082.

Resolution: closed resolved

Reason: PR #1847 was merged (review approved by 2 reviewers) landing commit e7d73a365, which sets up an LXD container user when the project directory is mounted over sshfs, correcting file ownership and fixing the Launchpad bug #1741082 it declares a fix for.

Evaluated by: mr-cal-bot

No scores available.

Issue body

- [x] Have you followed the [guidelines for contributing](https://github.com/snapcore/snapcraft/blob/master/CONTRIBUTING.md)? - [x] Have you signed the [CLA](http://www.ubuntu.com/legal/contributors/)? - [x] If this is a bugfix. Have you checked that there is a bug report open for the issue you are trying to fix on [bug reports](https://bugs.launchpad.net/snapcraft)? - [x] If this is a new feature. Have you discussed the design on the [forum](https://forum.snapcraft.io)? - [x] Have you successfully run `./runtests.sh static`? - [x] Have you successfully run `./runtests.sh unit`? ----- Based on the proof of concept #1484 I'm proposing setting up a user in the LXD container specifically when sshfs is used to mount the project folder into a remote instance of LXD to [ensure correct file ownership](https://bugs.launchpad.net/snapcraft/+bug/1741082). Fixes: [LP: #1741082](https://bugs.launchpad.net/snapcraft/+bug/1741082 )

Evaluation history

Date Model Scores Action Summary
stealth/space-bunny-alpha — closed resolved Merged as commit e7d73a365: snapcraft now creates a user in the LXD container for remote sshfs builds so project files aren't left root-owned, fixing LP bug #1741082.
stealth/space-bunny-alpha — closed resolved Merged in canonical/snapcraft#1847 (e7d73a365), setting up an LXD container user for remote sshfs mounts to correct project-file ownership.
stealth/space-bunny-alpha — closed resolved Merged in snapcore/snapcraft#1847 (commit e7d73a365), configuring an LXD container user for remote sshfs mounts to fix LP #1741082 file ownership.
stealth/space-bunny-alpha — closed resolved Merged in PR #1847 via commit e7d73a365, configuring an LXD container user for remote sshfs project mounts to fix file ownership in LP #1741082.
qwen/qwen3.6-35b-a3b — — Merged. Configures LXD containers to use a specific user when mounting remote projects via sshfs, resolving file ownership issues in LP: #1741082. Review comments were addressed, CI passed, and the changes were approved and merged.
qwen3.6-35b-a3b-mtp-q6 — — Merged a fix for LXD sshfs mounting that configures a container user to resolve file ownership issues. Addresses Launchpad bug #1741082, updates sudo to preserve environment variables, and adds corresponding tests.

Update history

No update history recorded yet.

Related work

  • Superseded By: snapcraft#1484 (confidence 88%)

    The earlier proof-of-concept PR 'lxd: configure user in container' was closed unmerged; #1847 delivered the narrower sshfs-scoped version of that idea.

  • Related To: snapcraft#1461 (confidence 72%)

    The upstream request for non-root builds in LXD; this PR only addresses ownership for remote sshfs mounts, not full non-root builds.

Related issues

Issue Project State Summary Similarity
#1484 lxd: configure user in container snapcraft closed Closed unmerged; PR #1847 superseded this proof of concept with narrower LXD remote-sshfs user support, merged as e7d73a365.
79%
#1741082 sshfs breaks with serving user files to root in LXD snapcraft (launchpad) closed Fixed by merged PR canonical/snapcraft#1847 (commit e7d73a365), creating a matching user for remote LXD sshfs builds so project files are not left root-owned.
78%
#1703642 Containers should use the current user where possible snapcraft (launchpad) closed Root-owned LXD build artifacts were fixed by corrected UID mapping in merged canonical/snapcraft#1904 (commit 6bd4c9e59).
76%
#1302 lxd: mount project folder via sshfs in case of a remote snapcraft merged PR #1302 merged as commit 0e89c85ba, mounting the project folder into remote LXD containers over SSHFS/sftp; fixes #1457. Feature later improved by #1847 (e7d73a365) and removed by #2089 (a3bafbb7c).
72%
#1739 lxd: refresh remote container snapcraft merged Merged #1739 as 2f9265f23, fixing snapcraft refresh to honor the LXD remote named by SNAPCRAFT_CONTAINER_BUILDS instead of using a local container.
71%
#1461 build as a user in container snapcraft closed Broad non-root LXD builds remained unimplemented: PR #1484 was closed unmerged after design concerns; PR #1847 merged e7d73a365 only for remote sshfs mount ownership.
71%