OpenKeel: la solución Cloud soberana, francesa y de alcance europeo, del grupo inherent Descubrir inherent

Componentes · Almacenamiento

CSI de Pure Storage

Driver CSI en Go para Pure Storage FlashArray sobre iSCSI: snapshots, clones, ampliación, bloque RWX para KubeVirt. Prototipo.

Go FlashArray sobre iSCSIopenkeel-csi-pure

El módulo

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

Extracto de openkeel-csi-pure/README.md (en inglés).

Cómo se prueba la compatibilidad

El driver Pure Storage FlashArray es un driver CSI, por lo que se verifica frente a la especificación CSI y la conformidad de almacenamiento de Kubernetes en lugar de frente a Cinder.

Contrato de cliente

csi-sanity en proceso

El driver cumple el contrato CSI (kubernetes-csi csi-sanity, csi-test v5), GroupController incluido, con simulaciones en memoria de cabina y de nodo.

Ejecución

make test o make sanity.

Último resultado 79 specs superadas; las specs omitidas cubren capacidades no anunciadas. No se ejercitan iSCSI, multipath ni montajes reales.

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

Tests unitarios y golden tests

Tests unitarios sobre cabinas simuladas

Los snapshots de grupo, la idempotencia de cada llamada, los tamaños, la restauración y la clonación, la publicación, los clientes REST 2.x y REST 1.x y la búsqueda de rutas iSCSI se comportan según lo especificado.

Ejecución

make test (go test -race ./...) con cabinas HTTPS simuladas y un sysfs simulado.

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

Escenario

csi-sanity y e2e en una cabina real

Estructuras de peticiones REST contra una versión real de Purity, y luego la suite e2e de almacenamiento externo de Kubernetes en nodos reales.

Ejecución

make sanity-real en un nodo, y luego make e2e dirigido por test/e2e/pure-iscsi.yaml.

Último resultado Aún no ejecutado contra una FlashArray real.

Fuente: openkeel-csi-pure/README.md

Escenario

Catálogo de escenarios de csi-tester

Escenarios realistas: modos de acceso, ampliación, snapshots, clones, E/S durante la eliminación de pods, drains, residuos, con veredictos superado, fallido u omitido.

Ejecución

openkeel-csi-tester en el clúster; csi-tester run --suite=all --allow-disruptive.

Último resultado 18 escenarios superados contra el clúster simulado en tests unitarios; aún no ejecutados contra un driver CSI real.

Fuente: openkeel-csi-tester/README.md