-
Notifications
You must be signed in to change notification settings - Fork 22
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
[CSI driver] Implementation of staged mount for vhost block and FS volumes in VM mode #1982
[CSI driver] Implementation of staged mount for vhost block and FS volumes in VM mode #1982
Commits on Sep 23, 2024
-
Direct comparison can fail for wrapped errors, use errors.Is(err, target) instead. Signed-off-by: Anton Kuchin <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 386ab7e - Browse repository at this point
Copy the full SHA 386ab7eView commit details -
cleanup: Removed unused function arguments
This way it is more obvious that they are unused and makes the linter happy. Signed-off-by: Anton Kuchin <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 8d3b571 - Browse repository at this point
Copy the full SHA 8d3b571View commit details -
cleanup: Fix potential nil pointer dereference
This is an impossible code path now but someday this can change and otherwise function is ready to have nil mnt, so fix one more condition. Signed-off-by: Anton Kuchin <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for f351ec0 - Browse repository at this point
Copy the full SHA f351ec0View commit details
Commits on Sep 25, 2024
-
cleanup: Use import alias to avoid name collision with variable
Signed-off-by: Anton Kuchin <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 4b0d3ec - Browse repository at this point
Copy the full SHA 4b0d3ecView commit details -
cleanup: Explicitly ignore errors that doesn't matter
Some errors are expected or don't matter, so ignore them explicitly. Signed-off-by: Anton Kuchin <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for f6e5fb8 - Browse repository at this point
Copy the full SHA f6e5fb8View commit details -
cleanup: Extract disk.img file creation in separate function
Signed-off-by: Anton Kuchin <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 8c4ab66 - Browse repository at this point
Copy the full SHA 8c4ab66View commit details -
CSI staged mount: Separate start endpoint for vhost and NBD
This will be required later to add staged mount for vhost endpoints Signed-off-by: Anton Kuchin <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 76aa3b2 - Browse repository at this point
Copy the full SHA 76aa3b2View commit details -
csi tests: extract values from test calls to variables
Volume context and capabilities should be reused in Stage and Publish Move most of other constants from arguments to variables. Signed-off-by: Anton Kuchin <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for f06fa6b - Browse repository at this point
Copy the full SHA f06fa6bView commit details -
staged csi: move dummy img file craation from mount to callers
This will be used later when part of NodePublish logic for vhost endpoints will be moved to NodeStage. Signed-off-by: Anton Kuchin <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 6f3878a - Browse repository at this point
Copy the full SHA 6f3878aView commit details -
staged csi: rename getPodId to getInstanceOrPodId
Before we assumed that pod ID is always present and can be used as a part of mount path, but if endpoint is started in NodePublish podId is not known. For such cases return staging directory name where endpoint will be started. Signed-off-by: Anton Kuchin <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 6488bba - Browse repository at this point
Copy the full SHA 6488bbaView commit details
Commits on Sep 27, 2024
-
staged csi: split endpoint start and mount for volumes that have inst…
…anceId attribute Signed-off-by: Anton Kuchin <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for d93baa5 - Browse repository at this point
Copy the full SHA d93baa5View commit details -
staged csi: extract staging path construction to function
Also rename all socketDir variables to endpointDir for conststency. Signed-off-by: Anton Kuchin <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 6feb1e1 - Browse repository at this point
Copy the full SHA 6feb1e1View commit details -
staged csi: remove endpointDir construction from mount function
In most callsites we already know endpointDir, so just accept it as an argument instead of rebuilding every time. Signed-off-by: Anton Kuchin <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for e9c5faf - Browse repository at this point
Copy the full SHA e9c5fafView commit details -
staged csi: split mounts with old publish scheme and new staged ones
This keeps apart codepaths that require podId separate from ones that rely on instanceID. It also allows to remove temporary hack from getInstanceOrPodId and rename it back to getPodId. Signed-off-by: Anton Kuchin <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 6205172 - Browse repository at this point
Copy the full SHA 6205172View commit details -
staged csi: make NodeStageVolume logic a little more explicit
This way instanceId variable can be used only if it is not empty and error handling happens only if any of stage functions was called. Signed-off-by: Anton Kuchin <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 34e63f1 - Browse repository at this point
Copy the full SHA 34e63f1View commit details -
staged csi: save volume parameters as json file in stagingTargetPath
We will need these parameters later to properly stop endpoints during NodeUnstage. This also allows to skip unnecessary calls in unstage of old volumes. Signed-off-by: Anton Kuchin <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for f134a8a - Browse repository at this point
Copy the full SHA f134a8aView commit details -
staged csi: use per-instance staging directory
We had all staged disk on the node to be in shared staging directory, but now we have all necessary information in stage record to get instanceId in NodeUnstage so we can group disks in instance directory. Old path looked like: /...NBS.../sockets/${POD_ID}/${VOLUME_ID}/[nbs,nfs].sock Intermediate path looked like: /...NBS.../sockets/staging/${VOLUME_ID}/[nbs,nfs].sock New path will look like: /...NBS.../sockets/${INSTANCE_ID}/${VOLUME_ID}/[nbs,nfs].sock Signed-off-by: Anton Kuchin <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for e3ec3d8 - Browse repository at this point
Copy the full SHA e3ec3d8View commit details -
staged csi: add comment to remember enable check later
According to spec target directory must be removed after NodeUnstage but now mounter mock doesn't delete it during mount point cleanup. If directory deletion is enabled then other test breaks because it relies on previous tests leaving temoprary directories. This will be fixed separately form this PR. Signed-off-by: Anton Kuchin <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 0adefc7 - Browse repository at this point
Copy the full SHA 0adefc7View commit details -
staged csi: explain how NodeUnpublishVolume works for staged volumes
We use the same code for all types of volumes in NodeUnpublish because we have no good way to get their type. Add comment to explain why StopEndpoint calls in NodeUnpublishVolume has no effect for staged disks. Signed-off-by: Anton Kuchin <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for e7c8ad8 - Browse repository at this point
Copy the full SHA e7c8ad8View commit details