Skip to content

Tests: General improvements to make tests work with WFFC #13954

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 3 commits into from
Apr 1, 2025

Conversation

alromeros
Copy link
Contributor

@alromeros alromeros commented Feb 14, 2025

What this PR does

Volume Hotplug tests are failing in clusters with node affinity constraints due to forced PVC binding, rendering the hotplug pod unschedulable.

This Pull Request aims to remove force-binding for volume hotplug tests, allowing the scheduler to do its job.

It also increases some timeouts and changes DV phase expectations in a couple of tests so they can pass with WFFC.

Fixes #

Release note

NONE

@kubevirt-bot
Copy link
Contributor

Skipping CI for Draft Pull Request.
If you want CI signal for your change, please convert it to an actual PR.
You can still manually trigger a test run with /test all

@kubevirt-bot kubevirt-bot added do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. release-note-none Denotes a PR that doesn't merit a release note. labels Feb 14, 2025
@kubevirt-bot kubevirt-bot added the dco-signoff: yes Indicates the PR's author has DCO signed all their commits. label Feb 14, 2025
@kubevirt-bot kubevirt-bot requested a review from awels February 14, 2025 17:35
@alromeros
Copy link
Contributor Author

/test pull-kubevirt-e2e-k8s-1.32-sig-storage
/test pull-kubevirt-e2e-k8s-1.31-sig-storage

@alromeros alromeros force-pushed the stop-forcebind-hotplug branch from fcbcf60 to 149dd07 Compare February 17, 2025 16:22
@alromeros
Copy link
Contributor Author

/test pull-kubevirt-e2e-k8s-1.32-sig-storage
/test pull-kubevirt-e2e-k8s-1.31-sig-storage

@alromeros alromeros force-pushed the stop-forcebind-hotplug branch from 149dd07 to 0e18196 Compare February 18, 2025 09:25
@alromeros
Copy link
Contributor Author

/test pull-kubevirt-e2e-k8s-1.32-sig-storage
/test pull-kubevirt-e2e-k8s-1.31-sig-storage

@alromeros alromeros marked this pull request as ready for review February 18, 2025 19:27
@kubevirt-bot kubevirt-bot removed the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Feb 18, 2025
@dosubot dosubot bot added kind/failing-test Categorizes issue or PR as related to a failing test. sig/testing labels Feb 18, 2025
@alromeros
Copy link
Contributor Author

/retest-required

Copy link
Contributor

@akalenyu akalenyu left a comment

Choose a reason for hiding this comment

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

seems fine! just worried this could break day-2 wffc testing. I believe it should be testable if you slightly edit the ceph test config fields to all point at ceph-wffc

{
"storageClassRhel": "rook-ceph-block",
"storageClassWindows": "rook-ceph-block",
"storageRWXFileSystem": "nfs-csi",
"storageRWXBlock": "rook-ceph-block",
"storageRWOFileSystem": "local",
"storageRWOBlock": "rook-ceph-block",
"storageSnapshot": "rook-ceph-block",
"storageVMState": "rook-ceph-block"
}

(maybe except rwxfs)

@@ -476,12 +476,11 @@ var _ = SIGDescribe("Hotplug", func() {
libdv.StorageWithAccessMode(accessMode),
libdv.StorageWithVolumeMode(volumeMode),
),
libdv.WithForceBindAnnotation(),
Copy link
Contributor

Choose a reason for hiding this comment

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

createDataVolumeAndWaitForImport is used a lot throughout this suite, does this really not break anything?
any chance you could run the hotplug suite against rook-ceph-wffc?

Copy link
Contributor

Choose a reason for hiding this comment

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

+1

@alromeros alromeros marked this pull request as draft February 19, 2025 10:40
@kubevirt-bot kubevirt-bot added do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. size/S and removed size/XS labels Feb 19, 2025
@alromeros
Copy link
Contributor Author

/test pull-kubevirt-e2e-k8s-1.32-sig-storage

@alromeros alromeros force-pushed the stop-forcebind-hotplug branch from 3e7b38e to fb5f213 Compare February 19, 2025 17:47
@alromeros
Copy link
Contributor Author

/test pull-kubevirt-e2e-k8s-1.32-sig-storage
/test pull-kubevirt-e2e-k8s-1.31-sig-storage

@alromeros alromeros force-pushed the stop-forcebind-hotplug branch from b634150 to 810c3f6 Compare February 20, 2025 12:08
@alromeros
Copy link
Contributor Author

/test pull-kubevirt-e2e-k8s-1.31-sig-storage

@alromeros
Copy link
Contributor Author

/test pull-kubevirt-e2e-k8s-1.32-sig-storage
/test pull-kubevirt-e2e-k8s-1.31-sig-storage

@@ -239,6 +239,9 @@ var _ = Describe(SIG("Hotplug", func() {
for _, volumeName := range volumeNames {
nameMap[volumeName] = true
}
defaultSecs := 180
// timeout is calculated based on the number of volumes to be attached
timeout := time.Duration(defaultSecs+(len(volumeNames)/25)*defaultSecs) * time.Second
Copy link
Contributor

Choose a reason for hiding this comment

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

Do you still need this?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I considered removing it but still think it could be benefitial in WFFC clusters that meet the storage pool requirements. Can remove it if preferred.

Copy link
Contributor

Choose a reason for hiding this comment

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

Yeah this is seems too complex to me

Copy link
Contributor Author

Choose a reason for hiding this comment

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

gotcha

Comment on lines +1285 to +1283
libdv.StorageWithVolumeSize("500Mi"),
libdv.StorageWithVolumeMode(k8sv1.PersistentVolumeFilesystem),
Copy link
Contributor

Choose a reason for hiding this comment

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

Same question about this?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Yeah I'd say we do, better to be more imperative with the volume mode here since we want FS for this DV.

Copy link
Contributor

Choose a reason for hiding this comment

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

We do? I think @awels intention is to use whatever is available in the test config (block/fs)

Copy link
Contributor Author

Choose a reason for hiding this comment

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

We need to rename the disk image from this DV, so at least based on how the test is structured, it needs to be FS to access it and rename it. That's why we use the storage class from GetRWOFileSystemStorageClass, assuming the default volume mode will be FS.

Copy link
Contributor

Choose a reason for hiding this comment

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

Was looking at the wrong test 🤦‍♂️

@kubevirt-bot
Copy link
Contributor

kubevirt-bot commented Mar 31, 2025

@alromeros: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name Commit Details Required Rerun command
pull-kubevirt-e2e-k8s-1.31-sig-compute-migrations 0e18196 link true /test pull-kubevirt-e2e-k8s-1.31-sig-compute-migrations

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here.

@alromeros alromeros requested a review from akalenyu April 1, 2025 07:45
Volume Hotplug tests are failing in clusters with node affinity constraints due to forced PVC binding, rendering the hotplug pod unschedulable.

This change removes force-binding for volume hotplug tests, allowing the scheduler to do its job.

Signed-off-by: Alvaro Romero <alromero@redhat.com>
Signed-off-by: Alvaro Romero <alromero@redhat.com>
@alromeros alromeros force-pushed the stop-forcebind-hotplug branch from 2e01c1c to 5ffba05 Compare April 1, 2025 08:01
@kubevirt-bot kubevirt-bot added size/S and removed size/M labels Apr 1, 2025
Copy link
Contributor

@akalenyu akalenyu left a comment

Choose a reason for hiding this comment

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

/approve
/lgtm

/cc @0xFelix
for formal approval over decorators

@kubevirt-bot kubevirt-bot requested a review from 0xFelix April 1, 2025 08:13
@kubevirt-bot kubevirt-bot added the lgtm Indicates that a PR is ready to be merged. label Apr 1, 2025
Copy link
Member

@0xFelix 0xFelix left a comment

Choose a reason for hiding this comment

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

/approve

Giving a chance to address the nit

/hold


// LargeStoragePoolrequired indicates that the test may fail in a cluster with a low storage pool capacity.
// This decorator can be used to skip the test as the failure might not indicate a functional problem.
LargeStoragePoolrequired = Label("large-storage-pool-required")
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
LargeStoragePoolrequired = Label("large-storage-pool-required")
LargeStoragePoolRequired = Label("large-storage-pool-required")

nit

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Good catch! ack

@kubevirt-bot kubevirt-bot added the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label Apr 1, 2025
@kubevirt-bot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: 0xFelix, akalenyu

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@kubevirt-bot kubevirt-bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Apr 1, 2025
@kubevirt-commenter-bot
Copy link

Required labels detected, running phase 2 presubmits:
/test pull-kubevirt-e2e-windows2016
/test pull-kubevirt-e2e-kind-1.30-vgpu
/test pull-kubevirt-e2e-kind-sriov
/test pull-kubevirt-e2e-k8s-1.32-ipv6-sig-network
/test pull-kubevirt-e2e-k8s-1.30-sig-network
/test pull-kubevirt-e2e-k8s-1.30-sig-storage
/test pull-kubevirt-e2e-k8s-1.30-sig-compute
/test pull-kubevirt-e2e-k8s-1.30-sig-operator
/test pull-kubevirt-e2e-k8s-1.31-sig-network
/test pull-kubevirt-e2e-k8s-1.31-sig-storage
/test pull-kubevirt-e2e-k8s-1.31-sig-compute
/test pull-kubevirt-e2e-k8s-1.31-sig-operator

Signed-off-by: Alvaro Romero <alromero@redhat.com>
@alromeros alromeros force-pushed the stop-forcebind-hotplug branch from 5ffba05 to deb3152 Compare April 1, 2025 09:07
@kubevirt-bot kubevirt-bot removed the lgtm Indicates that a PR is ready to be merged. label Apr 1, 2025
@kubevirt-bot kubevirt-bot added the lgtm Indicates that a PR is ready to be merged. label Apr 1, 2025
@kubevirt-commenter-bot
Copy link

Required labels detected, running phase 2 presubmits:
/test pull-kubevirt-e2e-windows2016
/test pull-kubevirt-e2e-kind-1.30-vgpu
/test pull-kubevirt-e2e-kind-sriov
/test pull-kubevirt-e2e-k8s-1.32-ipv6-sig-network
/test pull-kubevirt-e2e-k8s-1.30-sig-network
/test pull-kubevirt-e2e-k8s-1.30-sig-storage
/test pull-kubevirt-e2e-k8s-1.30-sig-compute
/test pull-kubevirt-e2e-k8s-1.30-sig-operator
/test pull-kubevirt-e2e-k8s-1.31-sig-network
/test pull-kubevirt-e2e-k8s-1.31-sig-storage
/test pull-kubevirt-e2e-k8s-1.31-sig-compute
/test pull-kubevirt-e2e-k8s-1.31-sig-operator

@0xFelix
Copy link
Member

0xFelix commented Apr 1, 2025

/hold cancel

@kubevirt-bot kubevirt-bot removed the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label Apr 1, 2025
@kubevirt-bot kubevirt-bot merged commit db3f011 into kubevirt:main Apr 1, 2025
38 checks passed
@alromeros
Copy link
Contributor Author

/cherry-pick release-1.5

@kubevirt-bot
Copy link
Contributor

@alromeros: new pull request created: #14410

In response to this:

/cherry-pick release-1.5

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
approved Indicates a PR has been approved by an approver from all required OWNERS files. dco-signoff: yes Indicates the PR's author has DCO signed all their commits. kind/failing-test Categorizes issue or PR as related to a failing test. lgtm Indicates that a PR is ready to be merged. release-note-none Denotes a PR that doesn't merit a release note. sig/storage sig/testing size/S
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

7 participants