Skip to content
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

Feature/power scale changes for resiliency #77

Merged
merged 19 commits into from
May 17, 2022

Conversation

randeepdell
Copy link
Contributor

Description

This PR enables resiliency for csi-powerscale driver.
Below are the changes.

common/constants/consts.go - added default values
common/constants/envvars.go - added env variable constants

helm/csi-isilon/values.yaml - specifies API port and arrayConnectivityPollRate
helm/csi-isilon/templates/controller.yaml - read the arrayConnectivityPollRate specified in podmon
helm/csi-isilon/templates/node.yaml - read the arrayConnectivityPollRate specified in podmon

As there is no Isilon platform support to test connecitivity, the below files poll the array from the k8s node and expose an API to test the connecitivity using probes.
service/controllerNodeToArrayConnectivity.go - forms the url and queries worker node for connecitity to array
service/nodeConnectivityChecker.go - periodically runs probe and returns the status when API is called.
service/service.go - starts the API connecitivity check

service/csi_extension_server.go - implements csi extension to enable podmon

service/isiService.go - calls API using gopowerscale lib to fetch active clients running IOs

GitHub Issues

dell/csm#262

GitHub Issue #

Checklist:

  • I have performed a self-review of my own code to ensure there are no formatting, vetting, linting, or security issues
  • I have verified that new and existing unit tests pass locally with my changes
  • I have not allowed coverage numbers to degenerate
  • I have maintained at least 90% code coverage
  • I have commented my code, particularly in hard-to-understand areas
  • I have made corresponding changes to the documentation
  • I have added tests that prove my fix is effective or that my feature works
  • Backward compatibility is not broken

How Has This Been Tested?

Please describe the tests that you ran to verify your changes. Please also list any relevant details for your test configuration

  • Built the changes and tested the regular flow with podmon disabled.
  • When podmon is enabled, able to see taint applied if k8s node goes down.
  • When podmon is enabled, able to connectivity probe being run in logs.
  • When podmon is enabled, able to check IOs being detected in logs.

meggm
meggm previously approved these changes May 4, 2022
Copy link
Contributor

@meggm meggm left a comment

Choose a reason for hiding this comment

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

Some checks are failing

@randeepdell
Copy link
Contributor Author

Some checks are failing

Resolved.

@randeepdell randeepdell requested a review from ameer-jabbar May 5, 2022 10:59
Copy link
Contributor Author

@randeepdell randeepdell left a comment

Choose a reason for hiding this comment

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

Need reviewers to take a look at it.

@randeepdell randeepdell merged commit 81b09a3 into main May 17, 2022
@randeepdell randeepdell deleted the feature/powerScale-changes-for-resiliency branch May 17, 2022 04:56
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