Skip to content

Enhance bootstrap functionality and node joining process#41

Open
fastrapier wants to merge 4 commits into
pr3-dvp-installfrom
pr4-dvp-modules-compose
Open

Enhance bootstrap functionality and node joining process#41
fastrapier wants to merge 4 commits into
pr3-dvp-installfrom
pr4-dvp-modules-compose

Conversation

@fastrapier

Copy link
Copy Markdown
Member

This pull request introduces significant enhancements to the DVP (Deckhouse Virtualization Platform) provider in the storage-e2e project, focusing on improved SSH/tunnel orchestration, cluster bootstrap automation, and configuration flexibility. The main changes include the addition of new environment variables for DVP scenarios, implementation of SSH tunneling and kubeconfig fetching from master nodes, and a robust, automated Deckhouse cluster bootstrap process via dhctl. These updates improve modularity, maintainability, and testability of the DVP provider.

DVP provider enhancements:

  • Added several new files to the DVP provider: dhctl.go (Deckhouse bootstrap orchestration and helpers), nodes.go, modules.go, and install.go, expanding the functionality for VM orchestration, module management, and post-install checks. Updated the architecture documentation to reflect these additions. [1] [2]
  • Introduced new environment variables (E2E_DVP_VM_SSH_USER, E2E_DVP_DKP_LICENSE_KEY, E2E_DVP_REGISTRY_DOCKER_CFG) for controlling VM SSH user, DKP license, and registry configuration, including documentation and wiring into the DVP config struct. [1] [2]

SSH and connection improvements:

  • Implemented openTunnelToVM and connectToMaster methods in dvpConnector to establish SSH tunnels to VMs and fetch/rewrite kubeconfigs from master nodes, supporting secure API server access and dynamic kubeconfig adaptation.
  • Refactored the VM executor logic to use the configurable SSH user from DVP config instead of a hardcoded value.
  • Added a new seam (masterConnector) to the DVP dependency injection, isolating master API connection logic for improved modularity and testability. [1] [2]

Documentation and minor fixes:

  • Fixed table formatting and updated variable descriptions in the architecture documentation for clarity and completeness. [1] [2]
  • Added a constant for the kubeconfig fetch command and improved comments/documentation across new and modified files.

These changes collectively provide a more robust, flexible, and maintainable framework for DVP-based cluster provisioning and testing.

…ider

Signed-off-by: Daniil Studenikin <daniil.studenikin@flant.ru>
@fastrapier fastrapier added the e2e/run Label to run e2e pipeline label Jul 1, 2026
@github-code-quality

github-code-quality Bot commented Jul 1, 2026

Copy link
Copy Markdown

Code Coverage Overview

Languages: Go

Go / code-coverage/go

The overall coverage in the branch is 20%. The coverage in the branch is 18%.

Show a code coverage summary of the most impacted files.
File b212665 3bb4638 +/-
internal/provis...dvp/provider.go 73% 50% -23%
internal/infras...sh/v2/tunnel.go 84% 83% -1%
internal/provis...g/dvp/config.go 84% 85% +1%
internal/provis...p/kubeconfig.go 81% 82% +1%
internal/provis.../dvp/modules.go 0% 67% +67%
internal/provis.../dvp/install.go 0% 67% +67%
internal/provis...ng/dvp/nodes.go 0% 72% +72%
internal/provis...ng/dvp/dhctl.go 0% 75% +75%

Updated July 01, 2026 14:39 UTC
Code Coverage is in Public Preview. Learn more and provide us with your feedback.

Signed-off-by: Daniil Studenikin <daniil.studenikin@flant.ru>
@fastrapier fastrapier changed the base branch from main to pr3-dvp-install July 1, 2026 14:34
…nfiguration

Signed-off-by: Daniil Studenikin <daniil.studenikin@flant.ru>
Signed-off-by: Daniil Studenikin <daniil.studenikin@flant.ru>
@github-actions

github-actions Bot commented Jul 1, 2026

Copy link
Copy Markdown

Code Coverage

Package Line Rate Health
github.com/deckhouse/storage-e2e/internal/cluster 0%
github.com/deckhouse/storage-e2e/internal/config 51%
github.com/deckhouse/storage-e2e/internal/infrastructure/ssh 0%
github.com/deckhouse/storage-e2e/internal/infrastructure/ssh/v2 80%
github.com/deckhouse/storage-e2e/internal/kubernetes/commander 48%
github.com/deckhouse/storage-e2e/internal/kubernetes/deckhouse 0%
github.com/deckhouse/storage-e2e/internal/kubernetes/storage 0%
github.com/deckhouse/storage-e2e/internal/kubernetes/virtualization 0%
github.com/deckhouse/storage-e2e/internal/logger 52%
github.com/deckhouse/storage-e2e/internal/provisioning/commander 39%
github.com/deckhouse/storage-e2e/internal/provisioning/dvp 61%
github.com/deckhouse/storage-e2e/internal/provisioning/dvp/vm 78%
github.com/deckhouse/storage-e2e/pkg/cluster 4%
github.com/deckhouse/storage-e2e/pkg/clusterprovider 89%
github.com/deckhouse/storage-e2e/pkg/clusterprovider/registry 100%
github.com/deckhouse/storage-e2e/pkg/kubernetes 5%
github.com/deckhouse/storage-e2e/pkg/retry 94%
github.com/deckhouse/storage-e2e/pkg/storage-e2e 0%
github.com/deckhouse/storage-e2e/pkg/testkit 4%
Summary 20% (3003 / 14866)

@fastrapier fastrapier added e2e/run Label to run e2e pipeline and removed e2e/run Label to run e2e pipeline labels Jul 1, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

e2e/run Label to run e2e pipeline

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant