Skip to content

Conversation

@yachmenevas
Copy link
Contributor

Description

Add a minimal nested SDS E2E on top of the skeleton.
Preserves triggers, dependencies, and ordering; replaces Ceph-only parts with SDS enablement (source: deckhouse) and nested replicated storage setup.

Why do we need it, and what problem does it solve?

Validate triggers/dependencies and SDS profile flow inside nested clusters before introducing full tests/notifications.

What is the expected result?

Workflow runs on schedule/dispatch/PR, boots a nested cluster, enables SDS modules, creates LVMVolumeGroups + ReplicatedStoragePool + ReplicatedStorageClass, and proceeds to E2E gates.

Checklist

  • The code is covered by unit tests.
  • e2e tests passed.
  • Documentation updated according to the changes.
  • Changes were tested in the Kubernetes cluster manually (workflow_dispatch).

Changelog entries

section: ci
type: chore
summary: "Add nested SDS E2E on top of skeleton (deckhouse source)."

@yachmenevas yachmenevas added this to the v1.2.0 milestone Nov 13, 2025
@yachmenevas yachmenevas changed the base branch from main to chore/ci/e2e-matrix-skeleton November 13, 2025 12:40
@yachmenevas yachmenevas force-pushed the ci-e2e-nested-sds branch 9 times, most recently from 14c8ee7 to 20ca878 Compare November 14, 2025 08:09
…ort; restore jump-host; stabilize SDS bring-up (MPO + explicit ModuleConfigs + CRD‑compatible LVG + safe default SC patch)

Signed-off-by: Anton Yachmenev <[email protected]>
…scripts; HTTPS-only ingress; param cleanup wait\n\n- remove report scripts and local tests task\n- drop unused values (storageProfiles, infra/virtualDisks/security, extra features)\n- add build_parent_kubeconfig.sh + inject_registry_cfg.sh and use them in workflow\n- call task nested:storage:sds directly from workflow; remove wrapper\n- trim logs (no lsblk, no set -x); keep concise status\n- ingress: drop 80/wildcard-http; keep HTTPS passthrough only\n- cleanup: param prefix + wait for namespace deletion

Signed-off-by: Anton Yachmenev <[email protected]>
- use DEV_REGISTRY_DOCKER_CFG only; inject into values; login via docker cfg
- fix GitHub Actions 'if' expressions (no secrets.* in if; use env)
- add Apache-2.0 headers to helper scripts (dmtlint)
- format ci/dvp-e2e/Taskfile.yaml with repo Prettier (prettier)
- trim push triggers to ci-e2e-nested-sds only; remove noisy comments
- keep setup/prepare/cleanup only (tests/report moved to next PR)

Signed-off-by: Anton Yachmenev <[email protected]>
…oncurrency + unified job concurrency (head_ref||ref_name) to prevent duplicate runs\n- use DEV_REGISTRY_DOCKER_CFG only; inject into values; login via docker cfg\n- fix Actions 'if' expressions (no secrets.* in if; use env)\n- add Apache-2.0 headers to helper scripts (dmtlint)\n- format ci/dvp-e2e/Taskfile.yaml with repo Prettier (prettier)\n- trim push triggers to ci-e2e-nested-sds only; remove noisy comments

Signed-off-by: Anton Yachmenev <[email protected]>
…laced by infra:attach-storage-disks-hotplug)

Signed-off-by: Anton Yachmenev <[email protected]>
… and drop deckhouse.kubernetesVersion from values

Signed-off-by: Anton Yachmenev <[email protected]>
…espaces) and call it from workflow; prefix stays configurable

Signed-off-by: Anton Yachmenev <[email protected]>
…e (parent:kubeconfig, values:inject-registry); workflow calls tasks; keep params minimal

Signed-off-by: Anton Yachmenev <[email protected]>
…(caused unmatched 'done'); ensure Task installed before calling tasks in cleanup

Signed-off-by: Anton Yachmenev <[email protected]>
@yachmenevas yachmenevas force-pushed the ci-e2e-nested-sds branch 3 times, most recently from 4f950d9 to a03cd85 Compare November 18, 2025 14:51
- Remove duplicates: kubeconfig in cleanup, run_id outputs, Install Task
- Remove hardcoded storage class values, use profile variables
- Simplify REGISTRY_DOCKER_CFG usage (direct secret access)
- Remove USE_GH_SSH_KEYS variable (always import from GitHub)
- Remove fetch-depth: 0 (unused)
- Remove unused nfs config from cluster-config/values
- Add profile to setup-nested-envs outputs
- Replace d8 installation with werf/trdl/actions/[email protected]
- Remove PASSWORD_FILE variable (local only)
- Change default SSH_FILE_NAME to id_ed
- Create unified task install:nested:env for complete setup
- Add Docker registry auth via config.json
- Ensure nested dir exists before creating kubeconfig
@yachmenevas yachmenevas force-pushed the ci-e2e-nested-sds branch 17 times, most recently from 730c3d1 to c318912 Compare November 19, 2025 07:08
PARENT_STORAGE_CLASS: ${{ env.PARENT_STORAGE_CLASS }}
IMAGE_STORAGE_CLASS: ${{ env.IMAGE_STORAGE_CLASS }}
ATTACH_DISK_SIZE: ${{ env.ATTACH_DISK_SIZE }}
DATA_DISK_COUNT: ${{ env.DATA_DISK_COUNT }}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we use matrix.data_disk_count here, instead of env.DATA_DISK_COUNT?

@yachmenevas yachmenevas mentioned this pull request Nov 19, 2025
4 tasks
@Isteb4k Isteb4k modified the milestones: v1.2.0, v1.3.0 Nov 26, 2025
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.

4 participants