OpenKeel: la soluzione Cloud sovrana, francese e di portata europea, del gruppo inherent Scopri inherent

Componenti · Storage

CSI Pure Storage

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.

Fonte: openkeel-csi-tester/README.md