Skip to content

[internal] add e2e tests to CI#196

Merged
NikolayDemchuk merged 64 commits intomainfrom
ndemchuk-e2e-tests
Mar 25, 2026
Merged

[internal] add e2e tests to CI#196
NikolayDemchuk merged 64 commits intomainfrom
ndemchuk-e2e-tests

Conversation

@NikolayDemchuk
Copy link
Copy Markdown
Contributor

@NikolayDemchuk NikolayDemchuk commented Feb 17, 2026

Description

Add E2E smoke tests for sds-node-configurator using storage-e2e framework. Tests cover BlockDevice discovery and LVMVolumeGroup creation.

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

These tests validate core functionality on real clusters, triggered via e2e-smoke-test PR label.

What is the expected result?

Adding e2e-smoke-test label to PR triggers E2E job. Results posted as PR comment with pass/fail status and link to logs.

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.

Signed-off-by: Nikolay Demchuk <nikolay.demchuk@flant.com>
Signed-off-by: Nikolay Demchuk <nikolay.demchuk@flant.com>
Signed-off-by: Nikolay Demchuk <nikolay.demchuk@flant.com>
Signed-off-by: Nikolay Demchuk <nikolay.demchuk@flant.com>
Signed-off-by: Nikolay Demchuk <nikolay.demchuk@flant.com>
Signed-off-by: Nikolay Demchuk <nikolay.demchuk@flant.com>
Signed-off-by: Nikolay Demchuk <nikolay.demchuk@flant.com>
Signed-off-by: Nikolay Demchuk <nikolay.demchuk@flant.com>
Signed-off-by: Nikolay Demchuk <nikolay.demchuk@flant.com>
Signed-off-by: Nikolay Demchuk <nikolay.demchuk@flant.com>
Signed-off-by: Nikolay Demchuk <nikolay.demchuk@flant.com>
Signed-off-by: Nikolay Demchuk <nikolay.demchuk@flant.com>
Signed-off-by: Nikolay Demchuk <nikolay.demchuk@flant.com>
Signed-off-by: Nikolay Demchuk <nikolay.demchuk@flant.com>
Signed-off-by: Nikolay Demchuk <nikolay.demchuk@flant.com>
Signed-off-by: Nikolay Demchuk <nikolay.demchuk@flant.com>
Signed-off-by: Nikolay Demchuk <nikolay.demchuk@flant.com>
…ging initialization. Update go.mod to include storage-e2e module.
Signed-off-by: Nikolay Demchuk <nikolay.demchuk@flant.com>
Signed-off-by: Nikolay Demchuk <nikolay.demchuk@flant.com>
Signed-off-by: Nikolay Demchuk <nikolay.demchuk@flant.com>
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Mar 6, 2026

E2E Smoke Tests Results ✅

Module: sds-node-configurator
Framework: storage-e2e
Namespace: e2e-sds-node-configurator-pr196-22763042077
Status: Tests passed

View Details

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

Artifacts: Test logs are available in workflow artifacts.

Signed-off-by: Nikolay Demchuk <nikolay.demchuk@flant.com>
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Mar 6, 2026

E2E Smoke Tests Results ✅

Module: sds-node-configurator
Framework: storage-e2e
Namespace: e2e-sds-node-configurator-pr196-22764407083
Status: Tests passed

View Details

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

Artifacts: Test logs are available in workflow artifacts.

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Mar 6, 2026

E2E Smoke Tests Results ✅

Module: sds-node-configurator
Framework: storage-e2e
Namespace: e2e-sds-node-configurator-pr196-22764407178
Status: Tests passed

View Details

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

Artifacts: Test logs are available in workflow artifacts.

Signed-off-by: Nikolay Demchuk <nikolay.demchuk@flant.com>
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Mar 6, 2026

E2E Smoke Tests Results ✅

Module: sds-node-configurator
Framework: storage-e2e
Namespace: e2e-sds-node-configurator-pr196-22765679745
Status: Tests passed

View Details

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

Artifacts: Test logs are available in workflow artifacts.

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Mar 6, 2026

E2E Smoke Tests Results ✅

Module: sds-node-configurator
Framework: storage-e2e
Namespace: e2e-sds-node-configurator-pr196-22765679782
Status: Tests passed

View Details

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

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: undefined
Status: Tests failed

View Details

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

Artifacts: Test logs are available in workflow artifacts.

Signed-off-by: Nikolay Demchuk <nikolay.demchuk@flant.com>
@github-actions
Copy link
Copy Markdown
Contributor

E2E Smoke Tests Results ✅

Module: sds-node-configurator
Framework: storage-e2e
Namespace: e2e-sds-node-configurator-pr196-23007008138
Status: Tests passed

View Details

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

Artifacts: Test logs are available in workflow artifacts.

Signed-off-by: Nikolay Demchuk <nikolay.demchuk@flant.com>
@github-actions
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
Copy link
Copy Markdown
Contributor

E2E Smoke Tests Results ✅

Module: sds-node-configurator
Framework: storage-e2e
Namespace: e2e-sds-node-configurator-pr196-23010080820
Status: Tests passed

View Details

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

Artifacts: Test logs are available in workflow artifacts.

Signed-off-by: Nikolay Demchuk <nikolay.demchuk@flant.com>
@github-actions
Copy link
Copy Markdown
Contributor

E2E Smoke Tests Results ✅

Module: sds-node-configurator
Framework: storage-e2e
Namespace: e2e-sds-node-configurator-pr196-23136544110
Status: Tests passed

View Details

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

Artifacts: Test logs are available in workflow artifacts.

Signed-off-by: Nikolay Demchuk <nikolay.demchuk@flant.com>
Comment thread .github/workflows/build_dev.yml
Comment thread .github/workflows/build_dev.yml Outdated
Comment thread .github/workflows/build_dev.yml Outdated
Comment thread .github/workflows/build_dev.yml Outdated
Comment thread .github/workflows/build_dev.yml Outdated
Comment thread .github/workflows/go_checks.yaml
Comment thread e2e/tests/cluster_config.yml
Comment thread e2e/Dockerfile Outdated
Comment thread e2e/Makefile Outdated
Signed-off-by: Nikolay Demchuk <nikolay.demchuk@flant.com>
Signed-off-by: Nikolay Demchuk <nikolay.demchuk@flant.com>
Signed-off-by: Nikolay Demchuk <nikolay.demchuk@flant.com>
Signed-off-by: Nikolay Demchuk <nikolay.demchuk@flant.com>
Signed-off-by: Nikolay Demchuk <nikolay.demchuk@flant.com>
Signed-off-by: Nikolay Demchuk <nikolay.demchuk@flant.com>
@NikolayDemchuk NikolayDemchuk added the enhancement New feature or request label Mar 25, 2026
@NikolayDemchuk NikolayDemchuk changed the title Ndemchuk e2e tests [internal] add e2e tests to CI Mar 25, 2026
@NikolayDemchuk NikolayDemchuk marked this pull request as ready for review March 25, 2026 11:25
@duckhawk duckhawk self-requested a review March 25, 2026 11:26
@NikolayDemchuk NikolayDemchuk merged commit a87764d into main Mar 25, 2026
27 of 30 checks passed
NikolayDemchuk added a commit that referenced this pull request Mar 26, 2026
* added E2E test
Signed-off-by: Nikolay Demchuk <nikolay.demchuk@flant.com>

---------

Signed-off-by: Nikolay Demchuk <nikolay.demchuk@flant.com>
NikolayDemchuk added a commit that referenced this pull request Mar 27, 2026
* added E2E test
Signed-off-by: Nikolay Demchuk <nikolay.demchuk@flant.com>

---------

Signed-off-by: Nikolay Demchuk <nikolay.demchuk@flant.com>
NikolayDemchuk added a commit that referenced this pull request Apr 3, 2026
* added E2E test
Signed-off-by: Nikolay Demchuk <nikolay.demchuk@flant.com>

---------

Signed-off-by: Nikolay Demchuk <nikolay.demchuk@flant.com>
NikolayDemchuk added a commit that referenced this pull request Apr 12, 2026
* added E2E test
Signed-off-by: Nikolay Demchuk <nikolay.demchuk@flant.com>

---------

Signed-off-by: Nikolay Demchuk <nikolay.demchuk@flant.com>
NikolayDemchuk added a commit that referenced this pull request Apr 13, 2026
* added E2E test
Signed-off-by: Nikolay Demchuk <nikolay.demchuk@flant.com>

---------

Signed-off-by: Nikolay Demchuk <nikolay.demchuk@flant.com>
NikolayDemchuk added a commit that referenced this pull request Apr 13, 2026
* [agent] Use GetLV instead of cache after LVM mutations to avoid delays

After lvcreate and lvextend, the in-memory cache contains stale data
until the scanner runs. This caused unnecessary 5s requeues and
blocking busy-wait loops.

- LLV create: replace getLVActualSize with commands.GetLV after lvcreate
- LLV resize: replace getLVActualSize with commands.GetLV after lvextend
- LLV extender: replace FindLV busy-wait loop with GetLV after lvextend
- LLVS snapshot: use GetLV after CreateThinLogicalVolumeSnapshot instead
  of requeueing for cache discovery

Signed-off-by: Aleksandr Zimin <alexandr.zimin@flant.com>

* [agent] Fix BlockDeviceFilter crash on In/NotIn with empty values

BlockDeviceFilter resources with In/NotIn matchExpressions and nil/empty
values caused metav1.LabelSelectorAsSelector to fail, breaking the
entire block device reconciliation loop.

Add sanitizeLabelSelector() that drops such vacuous expressions before
parsing. Add tests for nil values, empty values, and mixed cases.

Signed-off-by: Aleksandr Zimin <alexandr.zimin@flant.com>

* tests
Signed-off-by: Nikolay Demchuk <nikolay.demchuk@flant.com>

* test added
Signed-off-by: Nikolay Demchuk <nikolay.demchuk@flant.com>

* fix
Signed-off-by: Nikolay Demchuk <nikolay.demchuk@flant.com>

* [internal] add e2e tests to CI (#196)

* added E2E test
Signed-off-by: Nikolay Demchuk <nikolay.demchuk@flant.com>

---------

Signed-off-by: Nikolay Demchuk <nikolay.demchuk@flant.com>

* [agent] Use GetLV instead of cache after LVM mutations to avoid delays

After lvcreate and lvextend, the in-memory cache contains stale data
until the scanner runs. This caused unnecessary 5s requeues and
blocking busy-wait loops.

- LLV create: replace getLVActualSize with commands.GetLV after lvcreate
- LLV resize: replace getLVActualSize with commands.GetLV after lvextend
- LLV extender: replace FindLV busy-wait loop with GetLV after lvextend
- LLVS snapshot: use GetLV after CreateThinLogicalVolumeSnapshot instead
  of requeueing for cache discovery

Signed-off-by: Aleksandr Zimin <alexandr.zimin@flant.com>

* tests
Signed-off-by: Nikolay Demchuk <nikolay.demchuk@flant.com>

* fix
Signed-off-by: Nikolay Demchuk <nikolay.demchuk@flant.com>

* fixed duplicate consts and such
Signed-off-by: Nikolay Demchuk <nikolay.demchuk@flant.com>

* fix
Signed-off-by: Nikolay Demchuk <nikolay.demchuk@flant.com>

* added docs
Signed-off-by: Nikolay Demchuk <nikolay.demchuk@flant.com>

* fix
Signed-off-by: Nikolay Demchuk <nikolay.demchuk@flant.com>

* fix

Signed-off-by: Nikolay Demchuk <nikolay.demchuk@flant.com>

* fix
Signed-off-by: Nikolay Demchuk <nikolay.demchuk@flant.com>

* fix
Signed-off-by: Nikolay Demchuk <nikolay.demchuk@flant.com>

* fix
Signed-off-by: Nikolay Demchuk <nikolay.demchuk@flant.com>

* fix
Signed-off-by: Nikolay Demchuk <nikolay.demchuk@flant.com>

* fix
Signed-off-by: Nikolay Demchuk <nikolay.demchuk@flant.com>

* fix
Signed-off-by: Nikolay Demchuk <nikolay.demchuk@flant.com>

* fix
Signed-off-by: Nikolay Demchuk <nikolay.demchuk@flant.com>

* fix
Signed-off-by: Nikolay Demchuk <nikolay.demchuk@flant.com>

* fix: remove accidental merge conflict markers in .gitignore and reconciler

Made-with: Cursor

* fix

Signed-off-by: Nikolay Demchuk <nikolay.demchuk@flant.com>

* fix duplicates
Signed-off-by: Nikolay Demchuk <nikolay.demchuk@flant.com>

* fix
Signed-off-by: Nikolay Demchuk <nikolay.demchuk@flant.com>

* fix
Signed-off-by: Nikolay Demchuk <nikolay.demchuk@flant.com>

* fix
Signed-off-by: Nikolay Demchuk <nikolay.demchuk@flant.com>

* fix
Signed-off-by: Nikolay Demchuk <nikolay.demchuk@flant.com>

* fix
Signed-off-by: Nikolay Demchuk <nikolay.demchuk@flant.com>

---------

Signed-off-by: Aleksandr Zimin <alexandr.zimin@flant.com>
Signed-off-by: Nikolay Demchuk <nikolay.demchuk@flant.com>
Co-authored-by: Aleksandr Zimin <alexandr.zimin@flant.com>
@NikolayDemchuk NikolayDemchuk deleted the ndemchuk-e2e-tests branch April 13, 2026 16:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants