fix(testkit): honor SDS module pull override env on StorageClass enable#49
Open
AleksZimin wants to merge 3 commits into
Open
fix(testkit): honor SDS module pull override env on StorageClass enable#49AleksZimin wants to merge 3 commits into
AleksZimin wants to merge 3 commits into
Conversation
CreateDefaultStorageClass re-enables sds-node-configurator and sds-local-volume to provision the default StorageClass. It passed no ModulePullOverride, so on a dev registry configureModulePullOverride reset their MPO to "main" on the first provision, clobbering any pr<N>/mr<N> image a suite pinned at bring-up via SDS_*_MODULE_PULL_OVERRIDE. Read each module's per-module <MODULE>_MODULE_PULL_OVERRIDE env var (new moduleImageTagFromEnv helper) so the runtime tag stays consistent with the bring-up tag; an unset var yields "" (the existing "main" default), a no-op. Signed-off-by: Aleksandr Zimin <alexandr.zimin@flant.com>
Code Coverage OverviewLanguages: Go Go / code-coverage/goThe overall coverage remains at 22%, unchanged from the branch. Updated |
AleksZimin
marked this pull request as ready for review
July 10, 2026 06:24
The worklog rule (.cursor/rules/worklog.mdc) and docs/WORKLOG.md were removed; clean up the remaining dangling references so no rule still points at a worklog that no longer exists: - todo-command: remove the "append a worklog entry" step - backward-compatibility: record the [Possible compatibility break] flag in the commit message / PR description instead of the worklog Signed-off-by: Aleksandr Zimin <alexandr.zimin@flant.com>
The setup VM is named "<DefaultSetupVM.Hostname><unix-ts>" via plain concatenation (CreateVirtualMachines), i.e. "bootstrap-node<ts>" with no separator. The cloud-init selector matched the prefix "bootstrap-node-" (trailing hyphen), so it never matched and the setup node was provisioned with the regular node cloud-init (no docker.io). Step 9 (Wait for Docker on setup node) then failed with 'sudo: docker: command not found', breaking alwaysCreateNew bootstrap. Match "bootstrap-node" (no hyphen). Signed-off-by: Aleksandr Zimin <alexandr.zimin@flant.com>
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
pkg/testkit.CreateDefaultStorageClassre-enablessds-node-configuratorandsds-local-volumeto provision the default StorageClass. It passed noModulePullOverride, so on a dev registryconfigureModulePullOverrideresettheir
ModulePullOverridetomainon the first provision — clobbering anypr<N>/mr<N>image a suite had pinned at bring-up viaSDS_LOCAL_VOLUME_MODULE_PULL_OVERRIDE/SDS_NODE_CONFIGURATOR_MODULE_PULL_OVERRIDE.This wires each backend's per-module
<MODULE>_MODULE_PULL_OVERRIDEenv var intothe runtime enable (new unexported helper
moduleImageTagFromEnv, delegating toconfig.EnvKeyForModulePullOverride), so the runtime tag stays consistent withthe bring-up tag. The
<MODULE>_MODULE_PULL_OVERRIDEcontract now holdsend-to-end for the SDS storage backends, whether they are enabled in
cluster_config.ymlor enabled lazily byCreateDefaultStorageClass.Why
The generic
<MODULE>_MODULE_PULL_OVERRIDEchannel already lets suites pin amodule image at config load. But for the two SDS backends that testkit enables
at runtime, that pinned tag was silently overwritten with
mainthe moment theStorageClass was provisioned — the env override only half-worked. This is the
missing half so a suite (e.g. state-snapshotter e2e) can actually run its
volume-data flow against a
pr<N>sds-local-volume image.Behavior
"", i.e. the pre-existingmaindefault.No behavior change for existing suites (pure no-op).
re-enable, so no clobber.
function's internal wiring);
docs/ARCHITECTURE.mdenv-var table updated.