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.