chore(ci): harden nested e2e module setup#2349
Open
universal-itengineer wants to merge 1 commit into
Open
Conversation
ee9c69b to
87f3829
Compare
Signed-off-by: Nikita Korolev <nikita.korolev@flant.com>
87f3829 to
8d247a6
Compare
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.
Description
This PR hardens the nested e2e setup flow by moving module setup logic from the reusable workflow into dedicated bash helpers under
.github/scripts/bash/e2e.The new helpers cover:
enable-sdn.sh: SDN ModuleConfig creation, module readiness, workloads, and SDN admission endpoint readiness.apply-clusternetworks.sh: retry wrapper for ClusterNetwork apply while SDN admission becomes ready.configure-virtualization.sh: ModuleSource creation, Deckhouse queue waits,deckhouse-devsource propagation, and Virtualization ModuleConfig/ModulePullOverride apply.common.shanddeckhouse.sh: shared error/env handling and Deckhouse diagnostics/queue wait helpers.Shell scripts are checked with
shellcheck -xandbash -n.Why do we need it, and what problem does it solve?
Nested e2e setup can fail while Deckhouse is still processing module changes after bootstrap. One observed failure happened when
virtualizationwas configured withsource: deckhouse-devbefore that source was available for the module.Another failure mode is invalid registry credentials for
deckhouse-dev: Deckhouse reports a registry authentication problem inModuleSource.status.message, and the later admission failure can look like an unavailable source. The new script checksModuleSourcestate first and reports a safe401 Unauthorizedclassification without printing the full status message ordockerCfgcontents.What is the expected result?
Rerunning the nested e2e workflow should be more stable during module setup:
deckhouse-devModuleSource, empty Deckhouse queue, and source propagation before applying the module config.Checklist
Changelog entries