Driver CSI in Go per Pure Storage FlashArray su iSCSI: snapshot, cloni, espansione, blocco RWX per KubeVirt. Prototipo.
Go FlashArray su iSCSIopenkeel-csi-pure
Il modulo
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).
Estratto da openkeel-csi-pure/README.md (in inglese).
Come viene testata la compatibilità
Il driver Pure Storage FlashArray è un driver CSI, quindi viene verificato rispetto alla specifica CSI e alla conformità dello storage Kubernetes anziché rispetto a Cinder.
Contratto client
csi-sanity in-process
Il driver rispetta il contratto CSI (kubernetes-csi csi-sanity, csi-test v5), GroupController incluso, con simulatori in memoria di array e nodo.
Esecuzione
make test o make sanity.
Ultimo risultato 79 spec superate; le spec saltate riguardano capacità non dichiarate. Nessun test di iSCSI, multipath o mount reali.
Fonte: openkeel-csi-pure/docs/TESTING.md
Test unitari e golden test
Test unitari su array simulati
Gli snapshot di gruppo, l'idempotenza di ogni chiamata, le dimensioni, il ripristino e la clonazione, la pubblicazione, i client REST 2.x e REST 1.x e la ricerca dei percorsi iSCSI si comportano come specificato.
Esecuzione
make test (go test -race ./...) con array HTTPS simulati e un sysfs simulato.
Fonte: openkeel-csi-pure/docs/TESTING.md
Scenario
csi-sanity ed e2e su un array reale
Strutture delle richieste REST su una versione reale di Purity, poi la suite e2e di storage esterno di Kubernetes su nodi reali.
Esecuzione
make sanity-real su un nodo, poi make e2e pilotato da test/e2e/pure-iscsi.yaml.
Ultimo risultato Non ancora eseguito su un FlashArray reale.
Fonte: openkeel-csi-pure/README.md
Scenario
Catalogo di scenari di csi-tester
Scenari realistici: modalità di accesso, espansione, snapshot, cloni, I/O durante l'eliminazione dei pod, drain, residui, con esito superato, fallito o saltato.
Esecuzione
openkeel-csi-tester nel cluster; csi-tester run --suite=all --allow-disruptive.
Ultimo risultato 18 scenari superati sul cluster simulato nei test unitari; non ancora eseguiti su un driver CSI reale.