forked from ceph/ceph-csi
-
Notifications
You must be signed in to change notification settings - Fork 1
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
Syncing latest changes from upstream devel for ceph-csi #276
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add GROUP_CONTROLLER_SERVICE capabilities to the GetPluginCapabilities of the cephFS plugin. Signed-off-by: Madhu Rajanna <[email protected]>
Advertise VOLUME_GROUP_SNAPSHOT capability from the cephfs driver. Signed-off-by: Madhu Rajanna <[email protected]>
Same group jounral config need to be reused for multiple connection where different monitors and users are used, for that reason create a unique connection each time. Signed-off-by: Madhu Rajanna <[email protected]>
added validateCreateVolumeGroupSnapshotRequest to validate the CreateVolumeGroupSnapshotRequest request and ensure that all the requirement options are set. if not, reject the RPC request. Signed-off-by: Madhu Rajanna <[email protected]>
initialize VolumeGroupJournal which is required for volumegroup rados communication Signed-off-by: Madhu Rajanna <[email protected]>
register the group controller service for the cephfs. Signed-off-by: Madhu Rajanna <[email protected]>
added required ceph_preview tag to the GO_TAGS_LIST in Makefile which is required for FSQuiesce API. Signed-off-by: Madhu Rajanna <[email protected]>
Adding a lock for the volumegroup so that we can take care of serializing the same requests to ensure same requests are not served in parallel. Signed-off-by: Madhu Rajanna <[email protected]>
added ErrInProgress to indicate the the quiesce operation is in progress. Signed-off-by: Madhu Rajanna <[email protected]>
added helper function which calls the go-ceph API for the quiesce operations. Signed-off-by: Madhu Rajanna <[email protected]>
added helper function to extract basic details from the parameters related to volume options. Signed-off-by: Madhu Rajanna <[email protected]>
volumegroup.go holders all the helpers to extra the group details from the request and also to extra group details from the groupID. This also provide helpers to reserve group for the request Name and also an undo function incase if somethings goes wrong and we need to cleanup the reserved omap entries. Signed-off-by: Madhu Rajanna <[email protected]>
implemented CreateVolumeGroupSnapshot RPC which does below operations * Basic request validation * Reserve the UUID for the group name * Quiesce the filesystem for all the subvolumes from the input volumeId's * Take the snapshot for all the input volumeId's * Add the mapping between volumeId's and snapshot Id's in omap * Release the quiesce for the filesystem for all the subvolumes from the input volumeId's Undo all the operations if anything fails. Signed-off-by: Madhu Rajanna <[email protected]>
implemented DeleteVolumeGroupSnapshot RPC which does below operations * Basic request validation * Get the snapshotId's and volumeId's mapping reserved for the UUID * Delete snapshot and remove its mapping from the omap * Repeat above steps until all the mapping are removed * Remove the reserved uuid from the omap * Reset the filesystem quiesce, This might be required as cephfs doesnt provide any options to remove the quiesce, if we get any request with same ID again we can reuse the quiesce API for same set-id * Return success if the received error is Pool not found or key not found. Signed-off-by: Madhu Rajanna <[email protected]>
adding UnimplementedGroupControllerServer to the DefaultControllerServer struct to avoid build errors when some non mandatory RPC's are not implemented. Signed-off-by: Madhu Rajanna <[email protected]>
Added unit test for validateVolumeGroupSnapshotRequest API which validates the input VolumeGroupSnapshotRequest request Signed-off-by: Madhu Rajanna <[email protected]>
updating go-ceph to latest commit to pull the changes required for ceph fs quiesce. This is also updating aws sdk dependency. Signed-off-by: Madhu Rajanna <[email protected]>
/lgtm |
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: df-build-team, Madhu-1 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 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
PR containing the latest commits from upstream devel branch