OpenKeel: die souveräne französische Cloud-Lösung mit europäischer Reichweite der inherent-Gruppe inherent entdecken

Komponenten · Speicher

Pure Storage CSI

Go-CSI-Treiber für Pure Storage FlashArray über iSCSI: Snapshots, Klone, Erweiterung, Block-RWX für KubeVirt. Prototyp.

Go FlashArray über iSCSIopenkeel-csi-pure

Das Modul

CSI driver in Go for Pure Storage FlashArray over iSCSI. It is a real driver, not a wrapper around another one: it maps CSI calls to array operations and attaches LUNs with csi-lib-iscsi. The standard sidecars (external-provisioner, attacher, snapshotter, resizer) do the rest, which gives VolumeSnapshot, cloning and expansion.

  • Go module: github.com/openkeel/openkeel-csi-pure, binary pure-csi, image openkeel/openkeel-csi-pure
  • Driver name: pure-iscsi.csi.openkeel.io
  • Array backends: rest2 (FlashArray REST 2.x, in-house client, the default) and pugo (REST 1.x through the community SDK github.com/devans10/pugo/flasharray), behind one interface (internal/array).

Auszug aus openkeel-csi-pure/README.md (auf Englisch).

Wie die Kompatibilität getestet wird

Der Pure Storage FlashArray-Treiber ist ein CSI-Treiber und wird daher gegen die CSI-Spezifikation und die Kubernetes-Speicherkonformität geprüft statt gegen Cinder.

Client-Vertrag

csi-sanity im Prozess

Der Treiber erfüllt den CSI-Vertrag (kubernetes-csi csi-sanity, csi-test v5), einschließlich GroupController, mit In-Memory-Fakes für Array und Knoten.

Ausführung

make test oder make sanity.

Letztes Ergebnis 79 Specs bestanden; übersprungene Specs betreffen nicht angekündigte Fähigkeiten. Weder iSCSI noch Multipath oder echte Mounts geprüft.

Quelle: openkeel-csi-pure/docs/TESTING.md

Unit- und Golden Tests

Unit-Tests auf simulierten Arrays

Gruppen-Snapshots, Idempotenz jedes Aufrufs, Größen, Wiederherstellung und Klonen, Veröffentlichung, REST-2.x- und REST-1.x-Clients sowie die iSCSI-Pfadsuche verhalten sich wie spezifiziert.

Ausführung

make test (go test -race ./...) mit simulierten HTTPS-Arrays und einem Fake-sysfs.

Quelle: openkeel-csi-pure/docs/TESTING.md

Szenario

csi-sanity und e2e auf einem echten Array

REST-Anfragestrukturen gegen eine echte Purity-Version, danach die Kubernetes-e2e-Suite für externen Speicher auf echten Knoten.

Ausführung

make sanity-real auf einem Knoten, danach make e2e, gesteuert durch test/e2e/pure-iscsi.yaml.

Letztes Ergebnis Noch nicht gegen ein echtes FlashArray ausgeführt.

Quelle: openkeel-csi-pure/README.md

Szenario

Szenariokatalog von csi-tester

Realistische Szenarien: Zugriffsmodi, Erweiterung, Snapshots, Klone, E/A während des Löschens von Pods, Drains, Überreste, mit den Ergebnissen bestanden, fehlgeschlagen oder übersprungen.

Ausführung

openkeel-csi-tester im Cluster; csi-tester run --suite=all --allow-disruptive.

Letztes Ergebnis 18 Szenarien bestehen gegen den simulierten Cluster in Unit-Tests; noch nicht gegen einen echten CSI-Treiber ausgeführt.

Quelle: openkeel-csi-tester/README.md