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

Storage: Deduplicate logic between PureStorage and PowerFlex storage drivers #14700

Draft
wants to merge 60 commits into
base: main
Choose a base branch
from

Conversation

MusicDin
Copy link
Member

@MusicDin MusicDin commented Dec 19, 2024

This PR introduces storage connectors. The aim of the connector is to handle connections with the target storage. Currently, connectors support NVMe, iSCSI, and SDC.

NVMe and iSCSI were tested on Pure Storage. Powerflex and SDC have yet to be tested and improved.


Empty functions that satisfy storage pool interface.

Signed-off-by: Din Music <[email protected]>
…umeUUID

Option PopulateParentVolumeUUID ensures the volumes get parent UUID always populated.
In case of Pure Storage we always need to know the volume UUID as snapshots are linked to parent
volume (snapshots are not independent volumes).

Signed-off-by: Din Music <[email protected]>
Adds support for creating and deleting Pure Storage storage pools (pods).

Signed-off-by: Din Music <[email protected]>
Pure Storage does not allow mounting snapshots directly, therefore
we have to create a new volume from it before mounting it.

Signed-off-by: Din Music <[email protected]>
Currently, Pure Storage driver does not support recovery. Mainly bacuse the storage volume names
are encoded, which would result in indistinguishable storage volume names after the recovery.

Signed-off-by: Din Music <[email protected]>
Signed-off-by: Din Music <[email protected]>
Signed-off-by: Din Music <[email protected]>
@github-actions github-actions bot added the Documentation Documentation needs updating label Dec 19, 2024
@MusicDin MusicDin changed the title storage: Deduplicate logic between PureStorage and PowerFlex storage drivers Storage: Deduplicate logic between PureStorage and PowerFlex storage drivers Dec 19, 2024
if snapVol.IsVMBlock() {
fsVol := snapVol.NewVMBlockFilesystemVolume()
fsVol.SetParentUUID(snapVol.parentUUID)

Check failure

Code scanning / CodeQL

Uncontrolled data used in path expression High

This path depends on a
user-provided value
.
This path depends on a
user-provided value
.
This path depends on a
user-provided value
.
This path depends on a
user-provided value
.
…system

Use storage connector and also do not use "disconnect-all" for NVMe to prevent
disconnecting volumes from other storage pools or drivers that rely on the NVMe
connector.

Signed-off-by: Din Music <[email protected]>
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.

1 participant