-
Notifications
You must be signed in to change notification settings - Fork 373
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
Add force detach #477
base: master
Are you sure you want to change the base?
Add force detach #477
Changes from 1 commit
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
Add new controller capability: * UNPUBLISH_FENCE Add new node capabilitiy: * FORCE_UNPUBLISH
- Loading branch information
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -788,6 +788,17 @@ message ControllerUnpublishVolumeRequest { | |
// This field is OPTIONAL. Refer to the `Secrets Requirements` | ||
// section on how to use this field. | ||
map<string, string> secrets = 3 [(csi_secret) = true]; | ||
|
||
// Indicates SP MUST make the volume inacessible to the node or nodes | ||
// it is being unpublished from. Any attempt to read or write data | ||
// to a volume from a node that has been fenced MUST NOT succeed, | ||
// even if the volume remains staged and/or published on the node. | ||
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. If there are a couple of pods accessing the volume on same node, we would have a state where 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. Yes the normal set of NodeUnpublish and NodeUnstage calls still have to be made for each volume on each node to return to the original state. The trigger for the quarantined state is the ControllerUnpublish call with the fence flag. The above statement just means that, without communicating with the node, the SP is expected to render the volume inaccessible to the node regardless of the node's state, and the node will be forced to clean up under conditions where it can't access the volume. The only way the node will be able to access the volume again is for the node-side cleanup to complete and then for a subsequent ControllerPublish to happen for that node again. |
||
// CO MUST NOT set this field to true unless SP has the | ||
// UNPUBLISH_FENCE controller capability. | ||
// The SP MAY make the volume inaccessible even when this field is | ||
// false. | ||
// This is an OPTIONAL field. | ||
bool fence = 4; | ||
} | ||
|
||
message ControllerUnpublishVolumeResponse { | ||
|
@@ -1316,6 +1327,13 @@ message NodeUnstageVolumeRequest { | |
// system/filesystem, but, at a minimum, SP MUST accept a max path | ||
// length of at least 128 bytes. | ||
string staging_target_path = 2; | ||
|
||
// Indicates that the SP should prefer to successfully unstage the | ||
// volume, even if data loss would occur as a result. | ||
// CO MUST NOT set this field to true unless SP has the | ||
// FORCE_UNPUBLISH node capability. | ||
// This in an OPTIONAL field. | ||
bool force = 3; | ||
} | ||
|
||
message NodeUnstageVolumeResponse { | ||
|
@@ -1400,6 +1418,13 @@ message NodeUnpublishVolumeRequest { | |
// system/filesystem, but, at a minimum, SP MUST accept a max path | ||
// length of at least 128 bytes. | ||
string target_path = 2; | ||
|
||
// Indicates that the SP should prefer to successfully unpublish the | ||
// volume, even if data loss would occur as a result. | ||
// CO MUST NOT set this field to true unless SP has the | ||
// FORCE_UNPUBLISH node capability. | ||
// This in an OPTIONAL field. | ||
bool force = 3; | ||
} | ||
|
||
message NodeUnpublishVolumeResponse { | ||
|
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.
s/inacessible/inaccessible
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.
@bswartz may be you missed this ? :)