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

Despliegue

Isofuncionalidad y pruebas

Todo está probado y validado funcionalmente frente al componente original.

Isofuncional: nada cambia para el ecosistema

Misma API REST

  • Rutas, parámetros, códigos de estado HTTP
  • Cuerpos de error y microversiones
  • Políticas idénticas

Misma base de datos

  • Mismas tablas y columnas
  • Mismas migraciones de esquema
  • Datos existentes reutilizables

Mismos mensajes RabbitMQ

  • sobres de oslo.messaging
  • Mismos RPC y topics
  • Notificaciones versionadas

Cinco niveles de pruebas

  1. Tempest

    Suites y plugins oficiales (neutron, cinder, keystone, octavia, barbican, designate, heat, manila…) frente al laboratorio

  2. CLI diferencial

    ok y openstack se ejecutan en paralelo: mismas peticiones HTTP, mismas salidas, mismos códigos de salida

  3. e2e replay

    Intercambios grabados frente al servicio Python y reproducidos frente al servicio Go (make e2e, report.json)

  4. Galera

    Pruebas de integración frente a un clúster MariaDB Galera real

  5. Unitarias

    go vet, go test -race -cover; clientes Kubernetes y Helm simulados

Las diferencias conocidas de cada servicio con su original se enumeran en openkeel-<service>/docs/CONFORMANCE.md.

Compatibilidad, módulo por módulo

Para cada módulo: cuántas operaciones de la API original sirve y los métodos que verifican que sigue siendo compatible. Cada línea lleva a los tests del módulo y a su tabla de API completa.

MóduloOperaciones implementadasMétodos de prueba
Placement37 / 37Replay de los intercambios grabados, Tests unitarios y golden tests, Test diferencial, Concurrencia en Galera
Nova141 / 273Replay de los intercambios grabados, Tests unitarios y golden tests, Concurrencia en Galera, De extremo a extremo en un laboratorio, Escenario
Zun69 / 73Replay de los intercambios grabados, Tests unitarios y golden tests
Masakari21 / 21Replay de los intercambios grabados, Contrato de cliente, Tests unitarios y golden tests, Concurrencia en Galera
Ironic131 / 131De extremo a extremo en un laboratorio, Escenario
Cinder147 / 218Replay de los intercambios grabados, Contrato de cliente, Tests unitarios y golden tests, Concurrencia en Galera
Glance76 / 83Replay de los intercambios grabados, Contrato de cliente, Concurrencia en Galera, Tests unitarios y golden tests
Manila132 / 258Replay de los intercambios grabados, Contrato de cliente, De extremo a extremo en un laboratorio
Swift y S3—De extremo a extremo en un laboratorio
CSI de Pure Storage—Contrato de cliente, Tests unitarios y golden tests, Escenario
Neutron138 / 368Replay de los intercambios grabados, Contrato de cliente, Concurrencia en Galera, De extremo a extremo en un laboratorio
Octavia (OVN)297 / 297Test diferencial, Tests unitarios y golden tests, Tempest, De extremo a extremo en un laboratorio
Neutron-FWaaS23 / 23Replay de los intercambios grabados, Test diferencial, Tests unitarios y golden tests, Concurrencia en Galera, De extremo a extremo en un laboratorio
Neutron-VPNaaS35 / 35Replay de los intercambios grabados, Tests unitarios y golden tests, Escenario, Concurrencia en Galera
OVN-BGP-Agent—Tests unitarios y golden tests, Escenario
Keystone163 / 259Replay de los intercambios grabados, Tests unitarios y golden tests, Contrato de cliente, De extremo a extremo en un laboratorio
Barbican57 / 57Replay de los intercambios grabados, Contrato de cliente, Test diferencial, Tests unitarios y golden tests, Concurrencia en Galera
Designate78 / 78Replay de los intercambios grabados, Tests unitarios y golden tests, Contrato de cliente
CloudKitty66 / 66Replay de los intercambios grabados, Tests unitarios y golden tests, De extremo a extremo en un laboratorio
API EC2100 / 100Replay de los intercambios grabados, Escenario, Contrato de cliente, Concurrencia en Galera
Skyline26 / 30Replay de los intercambios grabados, Tests unitarios y golden tests, Contrato de cliente, De extremo a extremo en un laboratorio, Concurrencia en Galera
ok (CLI)—Test diferencial, Tests unitarios y golden tests, De extremo a extremo en un laboratorio
okadm—Tests unitarios y golden tests, De extremo a extremo en un laboratorio, Contrato de cliente

Los recuentos de operaciones proceden del docs/PLAN.md de cada módulo (Keystone: de su router en Go) y los métodos de prueba de su docs/CONFORMANCE.md; un método previsto por el módulo pero aún no ejecutado no se cuenta aquí y se muestra como tal en la página del módulo.