OpenKeel : la solution Cloud souveraine, française à portée européenne du groupe inherent Découvrir inherent

Composants · Stockage

CSI Pure Storage

Driver CSI en Go pour Pure Storage FlashArray en iSCSI : snapshots, clones, extension, RWX bloc pour KubeVirt. Prototype.

Go FlashArray en iSCSIopenkeel-csi-pure

Le module

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).

Extrait de openkeel-csi-pure/README.md (en anglais).

Comment la compatibilité est testée

Le pilote Pure Storage FlashArray est un pilote CSI ; il est donc vérifié par rapport à la spécification CSI et à la conformité de stockage Kubernetes plutôt que par rapport à Cinder.

Contrat client

csi-sanity en processus

Le pilote respecte le contrat CSI (kubernetes-csi csi-sanity, csi-test v5), GroupController compris, avec des simulacres en mémoire de baie et de nœud.

Exécution

make test ou make sanity.

Dernier résultat 79 specs réussies ; les specs ignorées couvrent des capacités non annoncées. Ni iSCSI, ni multipath, ni montages réels exercés.

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

Tests unitaires et golden tests

Tests unitaires sur baies simulées

Les instantanés de groupe, l'idempotence de chaque appel, les tailles, la restauration et le clonage, la publication, les clients REST 2.x et REST 1.x et la recherche de chemin iSCSI se comportent comme spécifié.

Exécution

make test (go test -race ./...) avec des baies HTTPS simulées et un faux sysfs.

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

Scénario

csi-sanity et e2e sur une vraie baie

Formes de requêtes REST contre une vraie version de Purity, puis la suite e2e de stockage externe Kubernetes sur de vrais nœuds.

Exécution

make sanity-real sur un nœud, puis make e2e piloté par test/e2e/pure-iscsi.yaml.

Dernier résultat Pas encore exécuté contre une vraie FlashArray.

Source : openkeel-csi-pure/README.md

Scénario

Catalogue de scénarios csi-tester

Scénarios réalistes : modes d'accès, extension, instantanés, clones, E/S pendant la suppression de pod, drains, résidus, avec des verdicts réussi, échec ou ignoré.

Exécution

openkeel-csi-tester dans le cluster ; csi-tester run --suite=all --allow-disruptive.

Dernier résultat 18 scénarios réussis contre le cluster simulé en tests unitaires ; pas encore exécutés contre un vrai pilote CSI.

Source : openkeel-csi-tester/README.md