Skip to content

feat(migration): add chunked lane (zstd:chunked + unified storage)#187

Closed
castrojo wants to merge 1 commit into
mainfrom
feat/chunked-migration-lane
Closed

feat(migration): add chunked lane (zstd:chunked + unified storage)#187
castrojo wants to merge 1 commit into
mainfrom
feat/chunked-migration-lane

Conversation

@castrojo
Copy link
Copy Markdown
Collaborator

@castrojo castrojo commented Jun 3, 2026

What

Adds a third lane to rechunk-to-chunkah-migration.yaml that tests the target end-state: migrating from ublue-os/bluefin (gzip) → projectbluefin/bluefin with zstd:chunked compression + unified bootc storage.

Why

The existing two lanes cover gzip (default storage) and gzip (unified storage). This adds the missing zstd:chunked scenario which is the format we expect to ship long-term.

How

Parameter Default Purpose
chunked-enabled "true" Set to "false" to disable all chunked steps centrally
chunkah-image-chunked 192.168.1.102:5000/bluefin Local zot destination
chunkah-image-tag-chunked zstd-chunked Tag for the re-pushed image

New steps (all gated by chunked-enabled)

  • prepare-chunked-image — skopeo-copies the published chunkah gzip image to local zot with --dest-compress-format=zstd:chunked before any VMs are provisioned
  • provision-chunked — spins up a fresh VM from the legacy golden disk
  • migration-chunked — runs the full forward+backward migration sequence with storage-variant: experimental-unified-storage targeting the local zot
  • teardown-chunked — cleans up the VM on exit

Backports from zstd-migration-test.yaml

  • inspect-image-compression: tls_flag detection for local HTTP registries (--tls-verify=false)
  • run-bootc-switch: local registry trust injection (registries.conf.d + policy.json patch, reachability probe) when switching to 192.168.1.102:5000/*

Disabling

argo submit argo/rechunk-to-chunkah-migration.yaml -n argo -p chunked-enabled=false

Add a third migration lane to rechunk-to-chunkah-migration.yaml that
tests the target end-state: switching from ublue-os/bluefin (gzip) to a
zstd:chunked projectbluefin/bluefin image with unified bootc storage.

Changes:
- chunked-enabled parameter (default 'true') gates all chunked steps;
  set to 'false' to disable the lane without touching anything else
- chunkah-image-chunked / chunkah-image-tag-chunked parameters point at
  the local zot (192.168.1.102:5000/bluefin:zstd-chunked)
- prepare-chunked-image template: skopeo-copies the chunkah gzip image
  to local zot with --dest-compress-format=zstd:chunked before any VM
  provisioning runs
- provision-chunked + migration-chunked lanes wired into the matrix,
  both gated by chunked-enabled; teardown-chunked added to cleanup
- Backport tls_flag fix to inspect-image-compression (local HTTP
  registry needs --tls-verify=false in skopeo inspect)
- Backport local registry trust injection to run-bootc-switch: when
  switching to 192.168.1.102:5000/* injects registries.conf.d entry +
  policy.json patch and drops --enforce-container-sigpolicy; verifies
  registry is reachable before attempting the switch

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@castrojo
Copy link
Copy Markdown
Collaborator Author

castrojo commented Jun 3, 2026

Wrong repo — zstd:chunked test coverage belongs in projectbluefin/testsuite, not here. Closing.

@castrojo castrojo closed this Jun 3, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant