Skip to content

e2e: add block device shrink and manual BlockDevice tests#215

Open
viktor-karpochev wants to merge 30 commits into
mainfrom
e2e/vkarpochev-blockdevice-shrink-and-manual-create
Open

e2e: add block device shrink and manual BlockDevice tests#215
viktor-karpochev wants to merge 30 commits into
mainfrom
e2e/vkarpochev-blockdevice-shrink-and-manual-create

Conversation

@viktor-karpochev

Copy link
Copy Markdown
Contributor

Add three new e2e test scenarios for sds-node-configurator:

  • Block device size reduction: verifies LVMVolumeGroup degrades to NotReady when the backing device is replaced with a smaller one
  • Manual BlockDevice creation: verifies the agent deletes a fake BlockDevice that doesn't correspond to a real device on the node
  • Manual BlockDevice modification: verifies the agent reverts manually changed status.size back to the real value on the next discovery scan

Also fix review findings: validate Forbidden/Invalid errors match manual management protection (not RBAC/schema), and check size reverts to the exact original value (not just != fakeSize).

Made-with: Cursor

Description

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

What is the expected result?

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.

@github-actions

github-actions Bot commented Apr 6, 2026

Copy link
Copy Markdown
Contributor

E2E Smoke Tests Results ❌

Module: sds-node-configurator
Framework: storage-e2e
Namespace: e2e-sds-node-configurator-pr215-24039266431
Status: Tests failed

View Details

Tests were executed via storage-e2e (BlockDevice discovery, LVMVolumeGroup).

Artifacts: Test logs are available in workflow artifacts.

@github-actions

github-actions Bot commented Apr 6, 2026

Copy link
Copy Markdown
Contributor

E2E Smoke Tests Results ❌

Module: sds-node-configurator
Framework: storage-e2e
Namespace: e2e-sds-node-configurator-pr215-24040704043
Status: Tests failed

View Details

Tests were executed via storage-e2e (BlockDevice discovery, LVMVolumeGroup).

Artifacts: Test logs are available in workflow artifacts.

@github-actions

github-actions Bot commented Apr 7, 2026

Copy link
Copy Markdown
Contributor

E2E Smoke Tests Results ❌

Module: sds-node-configurator
Framework: storage-e2e
Namespace: e2e-sds-node-configurator-pr215-24066228539
Status: Tests failed

View Details

Tests were executed via storage-e2e (BlockDevice discovery, LVMVolumeGroup).

Artifacts: Test logs are available in workflow artifacts.

@github-actions

github-actions Bot commented Apr 7, 2026

Copy link
Copy Markdown
Contributor

E2E Smoke Tests Results ❌

Module: sds-node-configurator
Framework: storage-e2e
Namespace: e2e-sds-node-configurator-pr215-24070232206
Status: Tests failed

View Details

Tests were executed via storage-e2e (BlockDevice discovery, LVMVolumeGroup).

Artifacts: Test logs are available in workflow artifacts.

@github-actions

github-actions Bot commented Apr 7, 2026

Copy link
Copy Markdown
Contributor

E2E Smoke Tests Results ❌

Module: sds-node-configurator
Framework: storage-e2e
Namespace: undefined
Status: Tests failed

View Details

Tests were executed via storage-e2e (BlockDevice discovery, LVMVolumeGroup).

Artifacts: Test logs are available in workflow artifacts.

@github-actions

github-actions Bot commented Apr 8, 2026

Copy link
Copy Markdown
Contributor

E2E Smoke Tests Results ❌

Module: sds-node-configurator
Framework: storage-e2e
Namespace: e2e-sds-node-configurator-pr215-24124607925
Status: Tests failed

View Details

Tests were executed via storage-e2e (BlockDevice discovery, LVMVolumeGroup).

Artifacts: Test logs are available in workflow artifacts.

@github-actions

github-actions Bot commented Apr 8, 2026

Copy link
Copy Markdown
Contributor

E2E Smoke Tests Results ❌

Module: sds-node-configurator
Framework: storage-e2e
Namespace: e2e-sds-node-configurator-pr215-24125133441
Status: Tests failed

View Details

Tests were executed via storage-e2e (BlockDevice discovery, LVMVolumeGroup).

Artifacts: Test logs are available in workflow artifacts.

Add three new e2e test scenarios for sds-node-configurator:
- Block device size reduction: verifies LVMVolumeGroup degrades to NotReady
  when the backing device is replaced with a smaller one
- Manual BlockDevice creation: verifies the agent deletes a fake BlockDevice
  that doesn't correspond to a real device on the node
- Manual BlockDevice modification: verifies the agent reverts manually changed
  status.size back to the real value on the next discovery scan

Also fix review findings: validate Forbidden/Invalid errors match manual
management protection (not RBAC/schema), and check size reverts to the exact
original value (not just != fakeSize).

Made-with: Cursor
Signed-off-by: Viktor Karpochev <viktor.karpochev@flant.com>
Cover the case when a disk disappears after discovery by asserting the
corresponding BlockDevice is removed after detach and rescan.

Also reuse a shared helper for restarting sds-node-configurator agents in
e2e scenarios that need an immediate BlockDevice rescan.

Signed-off-by: Viktor Karpochev <viktor.karpochev@flant.com>
Made-with: Cursor
Signed-off-by: Viktor Karpochev <viktor.karpochev@flant.com>
Temporarily disable one worker node in the e2e test cluster definition to
reduce CI resource usage and improve cluster bootstrap stability.

Signed-off-by: Viktor Karpochev <viktor.karpochev@flant.com>
Made-with: Cursor
Signed-off-by: Viktor Karpochev <viktor.karpochev@flant.com>
Port the e2e CI hardening from ndemchuk-common-scheduler-e2e-tests,
including writable Go caches, early API SSH tunnel setup, storage-e2e
bootstrap fixes, reconnect-after-add-nodes patch, and supporting e2e
manifests/docs.

Adapt the workflow to keep running TestSdsNodeConfigurator in this branch
instead of the shared TestE2E entrypoint from the source branch.

Signed-off-by: Viktor Karpochev <viktor.karpochev@flant.com>
Made-with: Cursor
Signed-off-by: Viktor Karpochev <viktor.karpochev@flant.com>
…-create

Pull the latest main into the e2e branch so CI and tests run on top of the
current product changes.

Signed-off-by: Viktor Karpochev <viktor.karpochev@flant.com>
@viktor-karpochev viktor-karpochev force-pushed the e2e/vkarpochev-blockdevice-shrink-and-manual-create branch from fc63188 to 8b4e3df Compare April 8, 2026 08:31
@github-actions

github-actions Bot commented Apr 8, 2026

Copy link
Copy Markdown
Contributor

E2E Smoke Tests Results ❌

Module: sds-node-configurator
Framework: storage-e2e
Namespace: undefined
Status: Tests failed

View Details

Tests were executed via storage-e2e (TestSdsNodeConfigurator).

Artifacts: Test logs are available in workflow artifacts.

@github-actions

github-actions Bot commented Apr 8, 2026

Copy link
Copy Markdown
Contributor

E2E Smoke Tests Results ❌

Module: sds-node-configurator
Framework: storage-e2e
Namespace: undefined
Status: Tests failed

View Details

Tests were executed via storage-e2e (TestSdsNodeConfigurator).

Artifacts: Test logs are available in workflow artifacts.

Ensure the BlockDevice discovery smoke test creates its Kubernetes client before cleanup and node diagnostics so the spec does not panic on a nil client.

Made-with: Cursor
@github-actions

Copy link
Copy Markdown
Contributor

E2E Smoke Tests Results ❌

Module: sds-node-configurator
Framework: storage-e2e
Namespace: e2e-sds-node-configurator-pr215-24392070146
Status: Tests failed

View Details

Tests were executed via storage-e2e (TestSdsNodeConfigurator).

Artifacts: Test logs are available in workflow artifacts.

Retry cluster creation when storage-e2e times out waiting for VMs to reach Running so smoke runs are less sensitive to slow nested virtualization startup.

Made-with: Cursor
@github-actions

Copy link
Copy Markdown
Contributor

E2E Smoke Tests Results ❌

Module: sds-node-configurator
Framework: storage-e2e
Namespace: e2e-sds-node-configurator-pr215-24393204948
Status: Tests failed

View Details

Tests were executed via storage-e2e (TestSdsNodeConfigurator).

Artifacts: Test logs are available in workflow artifacts.

@github-actions

Copy link
Copy Markdown
Contributor

E2E Smoke Tests Results ❌

Module: sds-node-configurator
Framework: storage-e2e
Namespace: e2e-sds-node-configurator-pr215-24397891021
Status: Tests failed

View Details

Tests were executed via storage-e2e (TestSdsNodeConfigurator).

Artifacts: Test logs are available in workflow artifacts.

The smoke tests now validate that manual BlockDevice changes are actually deleted or reverted without depending on an event that the agent does not emit.

Signed-off-by: Viktor Karpochev <viktor.karpochev@flant.com>
Made-with: Cursor
@github-actions

Copy link
Copy Markdown
Contributor

E2E Smoke Tests Results ❌

Module: sds-node-configurator
Framework: storage-e2e
Namespace: e2e-sds-node-configurator-pr215-24404495433
Status: Tests failed

View Details

Tests were executed via storage-e2e (TestSdsNodeConfigurator).

Artifacts: Test logs are available in workflow artifacts.

Wait for the base-cluster namespace to be fully deleted after cleanup so CreateTestCluster retries do not race with a terminating namespace.

Made-with: Cursor
@github-actions

Copy link
Copy Markdown
Contributor

E2E Smoke Tests Results ❌

Module: sds-node-configurator
Framework: storage-e2e
Namespace: e2e-sds-node-configurator-pr215-24411988103
Status: Tests failed

View Details

Tests were executed via storage-e2e (TestSdsNodeConfigurator).

Artifacts: Test logs are available in workflow artifacts.

@github-actions

Copy link
Copy Markdown
Contributor

E2E Smoke Tests Results ❌

Module: sds-node-configurator
Framework: storage-e2e
Namespace: e2e-sds-node-configurator-pr215-24412559126
Status: Tests failed

View Details

Tests were executed via storage-e2e (TestSdsNodeConfigurator).

Artifacts: Test logs are available in workflow artifacts.

Allow the storage-e2e smoke suite to survive a full retry of nested cluster creation instead of being killed by the global 60 minute go test timeout just before modules become ready.

Made-with: Cursor
@github-actions

Copy link
Copy Markdown
Contributor

E2E Smoke Tests Results ❌

Module: sds-node-configurator
Framework: storage-e2e
Namespace: e2e-sds-node-configurator-pr215-24416229530
Status: Tests failed

View Details

Tests were executed via storage-e2e (TestSdsNodeConfigurator).

Artifacts: Test logs are available in workflow artifacts.

Allow the Ginkgo suite to outlive repeated CreateTestCluster retries so the smoke job can use the longer go test timeout instead of failing after the default one-hour suite limit.

Made-with: Cursor
@github-actions

Copy link
Copy Markdown
Contributor

E2E Smoke Tests Results ❌

Module: sds-node-configurator
Framework: storage-e2e
Namespace: e2e-sds-node-configurator-pr215-24419369464
Status: Tests failed

View Details

Tests were executed via storage-e2e (TestSdsNodeConfigurator).

Artifacts: Test logs are available in workflow artifacts.

Let the shared nested cluster client reattempt BlockDevice REST discovery so transient API EOFs between ordered suites do not fail the smoke run after cluster creation already succeeded.

Made-with: Cursor
@github-actions

Copy link
Copy Markdown
Contributor

E2E Smoke Tests Results ❌

Module: sds-node-configurator
Framework: storage-e2e
Namespace: e2e-sds-node-configurator-pr215-24422950743
Status: Tests failed

View Details

Tests were executed via storage-e2e (TestSdsNodeConfigurator).

Artifacts: Test logs are available in workflow artifacts.

Give the shrink scenario more time for the initial LVMVolumeGroup to reach Ready on loaded CI clusters and dump its state if it still stalls in Pending.

Made-with: Cursor
@github-actions

Copy link
Copy Markdown
Contributor

E2E Smoke Tests Results ❌

Module: sds-node-configurator
Framework: storage-e2e
Namespace: e2e-sds-node-configurator-pr215-24425482239
Status: Tests failed

View Details

Tests were executed via storage-e2e (TestSdsNodeConfigurator).

Artifacts: Test logs are available in workflow artifacts.

@github-actions

Copy link
Copy Markdown
Contributor

E2E Smoke Tests Results ✅

Module: sds-node-configurator
Framework: storage-e2e
Namespace: e2e-sds-node-configurator-pr215-24425629454
Status: Tests passed

View Details

Tests were executed via storage-e2e (TestSdsNodeConfigurator).

Artifacts: Test logs are available in workflow artifacts.

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