Repository navigation
Improve default workshop configuration - #1111
jonathan-conder wants to merge 10 commits into
Conversation
There was a problem hiding this comment.
🟡 Changes recommended
Refreshing expanded VM disks requests an unsupported shrink, and VM snapshot expectations omit the new resource defaults.
2 open issues
What changed in this PR
Improves Workshop’s LXD defaults and resource checks, including suppressing automatic updates that can interfere with SDK setup.
Changes:
- Masks unwanted services and enables host image reuse.
- Sets VM resource defaults and adds memory and storage checks.
- Optimizes SDK metadata extraction and updates tests.
| File | Description |
|---|---|
| internal/workshop/lxd/tests/integration/snapshot-format-vm.yaml | Records VM image-access configuration. |
| internal/workshop/lxd/tests/integration/snapshot-format-container.yaml | Records container image-access configuration. |
| internal/workshop/lxd/tests/integration/snapshot_test.go | Excludes variable logrotate state. |
| internal/workshop/lxd/lxd_backend.go | Updates resource defaults and capacity checks. |
| internal/workshop/lxd/lxd_backend_test.go | Tests defaults and resource thresholds. |
| internal/workshop/lxd/lxd_backend_snapshots.go | Bumps snapshot format revision. |
| internal/workshop/lxd/lxd_backend_sdk.go | Checks storage before SDK imports. |
| internal/workshop/lxd/export_test.go | Exposes helpers for testing. |
| internal/workshop/lxd/cloudconfig.go | Masks update services and console getty. |
| internal/overlord/sdkstate/handlers.go | Stops extraction after finding SDK metadata. |
| internal/osutil/meminfo.go | Reads host memory availability. |
| internal/osutil/meminfo_test.go | Tests memory information parsing. |
| .github/workflows/spread.yaml | Enables image reuse for Spread VMs. |
Review effort: Balanced
6e32f5a to
019aa2d
Compare
019aa2d to
9fd7060
Compare
9fd7060 to
868b739
Compare
| } | ||
|
|
||
| if res.Space.Total == 0 { | ||
| return checkPoolSpace(res.Space.Total, res.Space.Used, 0) |
1d42c75 to
23e8652
Compare
23e8652 to
3b82a29
Compare
There was a problem hiding this comment.
🟡 Changes recommended
Host-image reuse remains disabled because the shared workshop configuration omits security.devlxd.images, and the storage documentation still describes the obsolete 90%-full degraded-mode threshold.
4 open issues
Review effort: Balanced
There was a problem hiding this comment.
🔵 Needs a closer look
The configuration omits security.devlxd.images, leaving nested LXD image reuse disabled, and the storage documentation still describes the obsolete 90% threshold instead of the new reserve and operation-specific checks.
2 open issues
2 resolved since last review
Review effort: Balanced
There was a problem hiding this comment.
🟡 Changes recommended
The Spread cache key can reuse an unpatched binary with the old 8GB limit, and the linked storage documentation still describes the obsolete 90% degraded-mode threshold.
2 open issues
1 resolved since last review
Review effort: Balanced
993b878 to
5e16ec3
Compare
There was a problem hiding this comment.
🔵 Needs a closer look
The storage reference still documents a 90% degraded-mode threshold instead of the new 256 MiB reserve and separate operation-specific space checks, leaving recovery guidance outdated.
1 resolved since last review
Review effort: Balanced



Description
Fixes
workshop refreshfor that, and these services can interfere with other things. Fixes Should suppress or wait for unattended-upgrades #1027.degraded) in 26.04 workshops.Optimisations
extractSdkYAMLto stop looking once it findsmeta/sdk.yaml. Companion PR: Place meta/sdk.yaml at the beginning of the SDK tarball sdkcraft#301.Resources
10GB. Since most data is stored in SDK volumes and other mounts, this should be enough for most use cases. It matches the LXD default, but previously users could override it with profiles. Now VM block devices will be consistent among snapshots, but users are free to expand the disk post-launch if they want to.4GiB. Among other things this should be enough to run nested VMs.Self-review quick check
Docs
Procedure:
Content:
tutorial/andhow-to/sections).docs/.coverage.yamlupdated, coverage tags added (.. artefact).Or: