-
Notifications
You must be signed in to change notification settings - Fork 88
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
Implement volume health monitoring feature to detect abnormal volumes #819
base: master
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -120,23 +120,28 @@ type VolumeConditionType string | |
|
||
// Enum value of VolumeConditionType type. | ||
const ( | ||
VolumeConditionTypeLost VolumeConditionType = "Lost" | ||
VolumeConditionTypeLost VolumeConditionType = "Lost" | ||
VolumeConditionTypeError VolumeConditionType = "Error" | ||
) | ||
|
||
// VolumeConditionReason denotes volume reason. Allows maximum upto 1024 chars. | ||
type VolumeConditionReason string | ||
|
||
// Enum values of VolumeConditionReason type. | ||
const ( | ||
VolumeConditionReasonDriveLost VolumeConditionReason = "DriveLost" | ||
VolumeConditionReasonDriveLost VolumeConditionReason = "DriveLost" | ||
VolumeConditionReasonNotMounted VolumeConditionReason = "NotMounted" | ||
VolumeConditionReasonNoError VolumeConditionReason = "NoError" | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This looks odd. Can't we infer There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The reason in a condition cannot be empty. So, "normal" volumes will have the reason "NoError" in its condition. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
For example,
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Kubernetes uses positive reasons in conditions, but we use negative reasons. It looks odd for |
||
) | ||
|
||
// VolumeConditionMessage denotes drive message. Allows maximum upto 32768 chars. | ||
type VolumeConditionMessage string | ||
|
||
// Enum values of VolumeConditionMessage type. | ||
const ( | ||
VolumeConditionMessageDriveLost VolumeConditionMessage = "Associated drive was removed. Refer https://github.com/minio/directpv/blob/master/docs/troubleshooting.md" | ||
VolumeConditionMessageDriveLost VolumeConditionMessage = "Associated drive was removed. Refer https://github.com/minio/directpv/blob/master/docs/troubleshooting.md" | ||
VolumeConditionMessageStagingPathNotMounted VolumeConditionMessage = "Staging path is umounted from the host. Please restart the workload" | ||
VolumeConditionMessageTargetPathNotMounted VolumeConditionMessage = "Target path is umounted from the host. Please restart the workload" | ||
) | ||
|
||
// DriveConditionType denotes drive condition. Allows maximum upto 316 chars. | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Volume health monitoring is not enabled by default, so, for a fresh installation we don't need this image. Users need this image only when they enable volume health monitoring
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Users make common mistakes to miss pulling this image when enabling it. There is no problem to have unused image of
csi-external-health-monitor-controller
. When health monitoring is enabled, it works seamlessly than failures.