← Back to issue list

test(spread): use LXD provider for spread tests

View original Github issue

Metadata

Project
imagecraft
Number
#467
Type
pull request
State
closed
Author
lengau
Labels
—
Created
Updated
Closed

Current evaluation

PR closed without merge; spread LXD provider changes were implemented across follow-up PRs (#483, #485, #486, #487, #488, #495)

Resolution: closed superseded

Reason: PR #467 was closed without being merged. The spread LXD provider changes were subsequently implemented across multiple follow-up PRs: #483 (enable lxd for snap-preseed), #485 (test uc-prepare in lxd), #486 (clean up plugin prep/restore), #487 (run simple pack test in all providers), #488 (test sector writing in all providers), and #495 (run spread on all systems).

Evaluated by: mr-cal-bot

No scores available.

Issue body

Closes https://github.com/canonical/imagecraft/issues/253 ### Summary - Set `CRAFT_BUILD_ENVIRONMENT: lxd` in `spread.yaml`. - Remove `--destructive-mode` from `imagecraft pack` and `imagecraft clean` across spread tasks. - Add `openstack-local` backend with fallback to `~/.openstack-spread-creds`. - Sync openstack systems (`ubuntu-20.04-64`) with `craft-application` (with `ubuntu-26.10-64` commented out). - Adopt dynamic LXD channel selection in spread prepare script matching `craft-application`. - Add `simple` test variants (`lxd`, `host`, `destructive`). - Add dedicated `simple-multipass` task enabled on supported systems (`ubuntu-22.04-64` and `ubuntu-24.04-64`) with per-task multipass installation and cleanup. - Mount images in tests before checking target contents inside partitions.

Evaluation history

Date Model Scores Action Summary
qwen/qwen3.6-35b-a3b — closed superseded PR closed without merge; spread LXD provider changes were implemented across follow-up PRs (#483, #485, #486, #487, #488, #495)
~deepseek/deepseek-pro-latest
Impact: 45
Quick Win: 8
Complexity: 55
Confidence: 60
Actionability: 40
keep open Switches spread tests from destructive host mode to LXD provider, adds openstack-local backend, simple/multipass variants, and image mounting; one CI failure and 2 unresolved review comments.
~deepseek/deepseek-pro-latest
Impact: 40
Quick Win: 8
Complexity: 50
Confidence: 65
Actionability: 40
keep open Switches spread tests to LXD provider: sets CRAFT_BUILD_ENVIRONMENT=lxd, removes destructive-mode flags, adds openstack-local backend, dynamic LXD channel selection, simple variants, and multipass task. One CI test failing; 2 unresolved review comments.
~deepseek/deepseek-pro-latest
Impact: 45
Quick Win: 6
Complexity: 55
Confidence: 62
Actionability: 30
keep open Switches spread tests from destructive host mode to LXD provider, adds openstack-local backend, simple variants, multipass task, and image mounting; CI failing on ubuntu-24.04 and 2 review comments unresolved.
~deepseek/deepseek-pro-latest
Impact: 50
Quick Win: 14
Complexity: 55
Confidence: 70
Actionability: 60
needs review Switches spread tests to LXD provider: sets CRAFT_BUILD_ENVIRONMENT=lxd, removes --destructive-mode, adds openstack-local backend, dynamic LXD channel, simple variants, multipass task, and image mounting. CI green; 2 unresolved review comments.
~deepseek/deepseek-pro-latest
Impact: 45
Quick Win: 9
Complexity: 55
Confidence: 55
Actionability: 45
keep open Switches spread tests to LXD provider: sets CRAFT_BUILD_ENVIRONMENT=lxd, removes --destructive-mode, adds openstack-local backend, dynamic LXD channel, simple variants, multipass task, and image mounting. CI green; 2 unresolved review comments.
~deepseek/deepseek-pro-latest
Impact: 40
Quick Win: 5
Complexity: 55
Confidence: 65
Actionability: 30
keep open Switches spread tests from destructive host mode to LXD provider, adds openstack-local backend and simple variants, syncs systems with craft-application. Spread CI failing and 2 unresolved review comments.
~deepseek/deepseek-pro-latest
Impact: 40
Quick Win: 10
Complexity: 50
Confidence: 65
Actionability: 50
needs review Switches spread tests from destructive mode to LXD provider, adds openstack-local backend, dynamic LXD channel selection, simple variants, multipass task, and partition mount checks. CI green except pending snap builds; 2 unresolved review comments.
~deepseek/deepseek-pro-latest
Impact: 45
Quick Win: 12
Complexity: 55
Confidence: 70
Actionability: 60
needs review Switches spread tests from destructive mode to LXD provider: sets CRAFT_BUILD_ENVIRONMENT=lxd, removes --destructive-mode, adds openstack-local backend, simple variants, multipass task. CI green; spread pending; 2 unresolved review comments.
~deepseek/deepseek-pro-latest
Impact: 35
Quick Win: 11
Complexity: 45
Confidence: 55
Actionability: 55
needs review Switches spread tests from destructive-mode to LXD provider: sets CRAFT_BUILD_ENVIRONMENT=lxd, drops --destructive-mode, adds openstack-local backend, dynamic LXD channel selection, simple test variants, and a multipass task. CI green; 2 unresolved review comments.
~deepseek/deepseek-pro-latest
Impact: 45
Quick Win: 10
Complexity: 55
Confidence: 65
Actionability: 50
needs review Switches spread tests to LXD provider, removes destructive-mode flags, adds openstack-local backend and simple test variants, syncs systems with craft-application; pending review with 2 unresolved comments.
~deepseek/deepseek-pro-latest
Impact: 45
Quick Win: 14
Complexity: 50
Confidence: 65
Actionability: 60
needs review Switches spread tests from destructive mode to LXD provider, adds openstack-local backend, simple variants, multipass task, and image mounting; CI green except pending snap builds.
~deepseek/deepseek-pro-latest
Impact: 45
Quick Win: 15
Complexity: 50
Confidence: 70
Actionability: 65
needs review Switches spread tests to LXD provider: sets CRAFT_BUILD_ENVIRONMENT=lxd, removes --destructive-mode, adds openstack-local backend and simple variants, syncs systems and LXD channel selection. CI green except pending snap builds.
~deepseek/deepseek-pro-latest
Impact: 45
Quick Win: 9
Complexity: 45
Confidence: 60
Actionability: 35
keep open Switches spread tests to LXD provider: sets CRAFT_BUILD_ENVIRONMENT=lxd, removes --destructive-mode, adds openstack-local backend, simple variants, and simple-multipass task. CI mostly passing; 11 unresolved review comments.
~deepseek/deepseek-pro-latest
Impact: 40
Quick Win: 13
Complexity: 50
Confidence: 60
Actionability: 65
needs review Switches spread tests from destructive mode to LXD provider; adds openstack-local backend, dynamic LXD channel selection, simple variants, and a multipass task. CI passing, pending review.

Update history

Date Change
closed
updated
updated
updated
updated
updated
updated
updated
updated
updated
updated
updated
updated
created

Related work

  • Superseded By: imagecraft#483 (confidence 85%)

    Enable LXD for snap-preseed on all OS, part of the LXD provider migration

  • Superseded By: imagecraft#485 (confidence 85%)

    Test uc-prepare in LXD, part of the LXD provider migration

  • Superseded By: imagecraft#487 (confidence 85%)

    Run simple pack test in all providers, part of the LXD provider migration

  • Superseded By: imagecraft#495 (confidence 85%)

    Run spread on all systems, part of the LXD provider migration

Related issues

Issue Project State Summary Similarity
#2631 spread tests: enable LXD build provider tests snapcraft merged Merged PR #2631 enabled LXD build-provider spread tests and reused early-prepared LXD setup, reducing repeated setup and image-download overhead.
87%
#2983 tests: add LXD spread test snapcraft merged Merged PR #2983 as 4b8522a14, adding spread coverage that builds the LXD package with LXD and destructive/host providers; installation checks were deferred.
85%
#694 tests(spread): use LXD from `5.21/candidate` rockcraft merged Merged PR #694 in commit 90bc9b34, pinning spread tests to LXD 5.21/candidate to restore main and strengthen LTS regression coverage.
82%
#487 test(spread): run the simple pack test in all providers imagecraft merged Merged PR #487 adds variants of the simple pack test to run across LXD, multipass, and host/destructive providers, fixing #480.
81%
#2682 tests: change default spread provider to lxd outside of travis snapcraft merged Merged PR #2682 (commit 8b41444a3) refactored runtests.sh, defaulted Spread to LXD outside Travis, and configured Travis to use google:.
80%
#5856 fix(spread): pack with lxd for core20 base tests snapcraft merged Merged PR #5856 (commit 66b9ae9f4) updated Spread core20-base tests to pack with LXD.
79%
#269 tests: add initial spread testing fetch-service merged Merged PR #269 (commit 8fe0091) added initial Spread integration tests to fetch-service: spread.yaml plus snap-config, basic-inspection, update-config and upgrade-revert suites; all 10 lxd-vm tasks passed, resolving #226.
79%
#302 test(spread): switch to testing in destructive mode imagecraft merged Merged PR #302 as commit f6aae5e, switching spread tests to destructive mode while LXD lacks required loop-device support.
78%
#1133 test(spread): make LXD refresh in prepare more reliable craft-application closed Closed unmerged; its LXD auto-refresh race fix was superseded by merged PR #1170 (commit fea3e835), which waits for active snap refreshes during spread prepare.
77%
#485 test(spread): test uc-prepare in lxd imagecraft merged Merged PR adding spread tests for uc-prepare on LXD across core22, core24, and core26 base images.
77%