Skip to content

default data cache enabled to false #2112

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 1 commit into from
Jul 23, 2025

Conversation

Sneha-at
Copy link
Contributor

What type of PR is this?

Uncomment only one /kind <> line, hit enter to put that in a new line, and remove leading whitespaces from that line:

/kind bug

What this PR does / why we need it:
We recently had an issue where data cache related watcher was running on non-data cache nodes as we were defaulting to true so updating the default values here to false
Which issue(s) this PR fixes:

Fixes #

Special notes for your reviewer:

Does this PR introduce a user-facing change?:

Disabling data cache watcher by default if node details are not available.

@k8s-ci-robot k8s-ci-robot added the release-note Denotes a PR that will be considered when it comes time to generate release notes. label Jun 12, 2025
@k8s-ci-robot k8s-ci-robot requested a review from julianKatz June 12, 2025 18:20
@k8s-ci-robot k8s-ci-robot added the cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. label Jun 12, 2025
@k8s-ci-robot k8s-ci-robot requested a review from pwschuurman June 12, 2025 18:20
@k8s-ci-robot k8s-ci-robot added the size/XS Denotes a PR that changes 0-9 lines, ignoring generated files. label Jun 12, 2025
@@ -382,7 +382,7 @@ func isDataCacheEnabledNodePool(ctx context.Context, nodeName string) (bool, err
dataCacheLSSDCount, err := driver.GetDataCacheCountFromNodeLabel(ctx, nodeName)
return dataCacheLSSDCount != 0, err
}
return true, nil
return false, nil
Copy link
Contributor

@sunnylovestiramisu sunnylovestiramisu Jun 12, 2025

Choose a reason for hiding this comment

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

Should we also add *enableDataCacheFlag and len(nodeName) > 0 && nodeName != common.TestNode above?

This logic does not seem correct for gating component versions with the enableDataCacheFlag.

Should we have some unit tests for this coverage?

Copy link
Contributor

Choose a reason for hiding this comment

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

Actually expanded the code above the flag check was ahead.

Copy link
Contributor

Choose a reason for hiding this comment

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

Any other possibility that the nodeName maybe empty other than the bug that we already knew?

Copy link
Contributor

Choose a reason for hiding this comment

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

Don't we want data cache to be enabled for E2E testing? I think there's 3 scenarios here:

  • nodeName empty (false)
  • nodeName is testnode (true)
  • nodeName is set (check LSSD from label)

Also, would it be good to consolidate the enable/disable logic somewhere (eg: in a feature flags class), so that all codepaths are routed through the same enablement behavior? I'm thinking about the NodeUnstage case, where we aren't checking if this is a data cache enabled node.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Moved the function to utils and added some unit test case. I have also added logic to perform this check during UnStageVolume

@k8s-ci-robot
Copy link
Contributor

k8s-ci-robot commented Jun 12, 2025

@Sneha-at: The following tests 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-gcp-compute-persistent-disk-csi-driver-e2e-windows-2022 0710ba6 link false /test pull-gcp-compute-persistent-disk-csi-driver-e2e-windows-2022
pull-gcp-compute-persistent-disk-csi-driver-e2e-windows-2019 0710ba6 link false /test pull-gcp-compute-persistent-disk-csi-driver-e2e-windows-2019

Full PR test history. Your PR dashboard. Please help us cut down on flakes by linking to an open issue when you hit one in your PR.

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.

@Sneha-at Sneha-at force-pushed the fix_data_cache_bug branch 2 times, most recently from df290e7 to bf80a6c Compare July 23, 2025 18:58
@k8s-ci-robot k8s-ci-robot added size/M Denotes a PR that changes 30-99 lines, ignoring generated files. and removed size/XS Denotes a PR that changes 0-9 lines, ignoring generated files. labels Jul 23, 2025
if nodeName == common.TestNode {
return true, nil
}
if len(nodeName) > 0 { // disregard logic below when E2E testing.
Copy link
Contributor

Choose a reason for hiding this comment

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

Is this comment still applicable here? It seems like it should be moved up to line 347.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Thanks! Done.

@k8s-ci-robot k8s-ci-robot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Jul 23, 2025
@Sneha-at Sneha-at force-pushed the fix_data_cache_bug branch from bf80a6c to d6e553a Compare July 23, 2025 19:03
@pwschuurman
Copy link
Contributor

/lgtm

@k8s-ci-robot k8s-ci-robot added the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Jul 23, 2025
@sunnylovestiramisu
Copy link
Contributor

/approve

@k8s-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: pwschuurman, Sneha-at, sunnylovestiramisu

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:
  • OWNERS [pwschuurman,sunnylovestiramisu]

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

@k8s-ci-robot k8s-ci-robot merged commit 0c47cf9 into kubernetes-sigs:master Jul 23, 2025
7 of 9 checks passed
@Sneha-at
Copy link
Contributor Author

/cherry-pick release-1.20

@k8s-infra-cherrypick-robot

@Sneha-at: new pull request created: #2135

In response to this:

/cherry-pick release-1.20

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.

@Sneha-at
Copy link
Contributor Author

Sneha-at commented Aug 6, 2025

/cherry-pick release-1.17

@k8s-infra-cherrypick-robot

@Sneha-at: new pull request created: #2143

In response to this:

/cherry-pick release-1.17

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. cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. lgtm "Looks good to me", indicates that a PR is ready to be merged. release-note Denotes a PR that will be considered when it comes time to generate release notes. size/M Denotes a PR that changes 30-99 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants