← Back to issue list

build providers: wait for systemd and better nameserver setup on LXD

View original Github issue

Metadata

Project
snapcraft
Number
#3052
Type
pull request
State
merged
Author
sergiusens
Labels
Created
Updated
Closed

Current evaluation

Merged. Updated LXD build provider to handle systemd degraded state, enable core20 tests, and configure nameserver resolution via systemd-resolved with env var override. Approved, passed CI, +154/-50 lines across 8 files.

Suggested action:

No scores available.

Issue body

systemd has a sub-command "is-system-running", we care about two results: - running: which is implied with exit code 0 - degraded: which exits with code 1, for which we need to parse the output. The reason to parse for degraded is that LXD containers usually work with systemd in a degraded state. Additionally enable the build-provider test suite for core20, also using the common make-hello instead of the in "suite" one (symlinked). when systemd-resolved is running on the system, it will write the actual resolv.conf in a prescribed location, which is now picked up as the default to use the best local-to-host nameserver. The use of the environment variable still overrides any setting for the cases where it may be needed. Signed-off-by: Sergio Schvezov <sergio.schvezov@canonical.com> - [ ] Have you followed the [guidelines for contributing](https://github.com/snapcore/snapcraft/blob/master/CONTRIBUTING.md)? - [ ] Have you signed the [CLA](http://www.ubuntu.com/legal/contributors/)? - [ ] Have you successfully run `./runtests.sh static`? - [ ] Have you successfully run `./runtests.sh tests/unit`? -----

Evaluation history

Date Model Scores Action Summary
qwen/qwen3.6-35b-a3b Merged. Updated LXD build provider to handle systemd degraded state, enable core20 tests, and configure nameserver resolution via systemd-resolved with env var override. Approved, passed CI, +154/-50 lines across 8 files.
qwen3.6-35b-a3b-mtp-q6 Merged updates to build providers that handle systemd's degraded state on LXD, improve nameserver configuration via systemd-resolved, and enable the core20 test suite.
qwen3.6-35b-a3b-mtp-q6 Merged build provider updates that wait for systemd, handle LXD's degraded state, and improve nameserver setup via systemd-resolved. Also enables the core20 test suite.

Update history

No update history recorded yet.

Related issues

Issue Project State Summary Similarity
#3141 build providers: use LXD-provided DNS by default snapcraft merged Merged into master. Configures the host to use systemd-resolved for DNS resolution, leveraging LXD-provided DNS by default. Approved with passing CI checks and 100% diff coverage across two files.
80%
#2966 build providers: move to buildd images snapcraft merged Merged. Moves build providers to buildd images, enabling multi-architecture and core20 support for LXD. Approved, passed CI, and addressed reviewer feedback on network wait logic.
79%
#3281 build providers: hide systemd setup for LXD snapcraft merged Merged to hide verbose systemd setup output for LXD build providers. Approved by one reviewer, passed CI, and modified two files to streamline console output while preserving internal debug visibility.
79%
#2647 build providers: catch LXD socket error snapcraft merged Merged to catch LXD socket errors in build providers, resolving SNAPCRAFT-WA. Approved by reviewer, passed CI checks, and integrated with a 14-line addition and 6-line deletion across three files. Minor test coverage decrease noted but did not block merge.
74%
#2964 build providers: remove LXD specific env setup snapcraft merged Merged. Removes LXD-specific environment setup from build providers since Provider._get_env_command already handles it. Approved by reviewer, passed CI, and successfully integrated.
74%
#5519 Docs: Multiple errors related to build provider installation snapcraft closed Documentation updates applied to correct sudo usage and LXD configuration steps. Hardware capacity tips and tutorial LXD instructions were abandoned after maintainers confirmed core22+ build providers lack support for those configurations. Issue closed.
73%
#3098 build providers: bootstrap with dirmngr snapcraft merged Merged following approval and CI checks. Adds dirmngr to core20 bootstrapping requirements and switches package repositories to use lxd explicitly for a minimalist build environment. Modified 3 files with a +6/-3 line diff.
73%
#3271 build providers: use the releases endpoint for LXD snapcraft merged Merged a two-file change switching the simplestreams endpoint from daily to releases for LXD image retrieval. Approved by one reviewer, passed CI checks, and completed despite noted unrelated test failures.
73%
#2631 spread tests: enable LXD build provider tests snapcraft merged Merged into master. Enabled LXD build provider tests by relocating setup to the early prepare phase to reduce overhead and consolidating declarations from task.yaml to spread.yaml. Approved, passed CI, and increased coverage by 0.01%.
72%
#3521 build providers: set hostname for lxd snapcraft merged Merged. Fixes LXD build provider hostname configuration by running hostname -F to notify the kernel after updating /etc/hostname. Approved by reviewers, passed CI, and achieved 100% coverage.
71%