Entorno de ejecución de espacio aislado: un marco para crear la automatización de pruebas en entornos seguros

El entorno de ejecución de espacio aislado (SEE) es un marco para crear la automatización de pruebas en entornos seguros.

Las cajas de arena, entregadas a través de libvirt, son personalizables, lo que permite un alto grado de flexibilidad. Se pueden usar diferentes tipos de hipervisores (Qemu, VirtualBox, LXC) para ejecutar los entornos de prueba.

Los complementos se pueden agregar a un entorno de prueba que proporciona sincronización del mecanismo de eventos para su interacción. Los usuarios pueden habilitar y configurar complementos a través de un archivo de configuración JSON.

Índice de contenidos

    Público

    SEE es para automatizar pruebas contra software desconocido, peligroso o inestable que monitorea su actividad mientras se está ejecutando.

    SEE es adecuado para construir plataformas de prueba modulares o administrar código ejecutable con un buen grado de aislamiento.

    SEE le permite escribir pruebas en espacio aislado tanto para la creación rápida de prototipos como para la ejecución en un entorno de producción.

    Instalación

    SEE está disponible como un paquete de Python en el índice de paquetes de Python (PyPI).

    Es responsabilidad del usuario instalar y configurar los hipervisores destinados a ser controlados con SEE y las posibles dependencias y subsistemas utilizados por los proveedores de imágenes seleccionados.

    Consulte la documentación para ver cómo instalar y configurar cada hipervisor.

    Hipervisores compatibles

    SEE se basa en la API de libvirt, por lo que todos los hipervisores compatibles con libvirt se pueden controlar a través de SEE.

    SEE viene con soporte básico para QEMU, VirtualBox y LXC, para agregar más hipervisores o personalizar los básicos vea el código contenido en ver / context.

    Proveedores de imágenes

    SEE utiliza un sistema de proveedor conectable para recuperar imágenes de disco de fuentes arbitrarias y ponerlas a disposición de SEE.

    Paquete de proveedores SEE para grupos de almacenamiento LibVirt y OpenStack Glance, así como una implementación ficticia de proveedores, para agregar más proveedores, vea el código contenido en see / image_providers.

    Principios

    SEE es un proveedor de espacio aislado basado en eventos y plug-in para el control de flujo de prueba sincrónico y asincrónico.

                                                                      +----------+
                                                                      |          |
                                                              +-------| SEE Hook |
                                                              |       |          |
                                                              |       +----------+
                  +---------+-------+       +---------+       |       +----------+
                  |                 |       |         |       |       |          |
    User -------> | SEE Environment |-------| Sandbox |-------+-------| SEE Hook |
                  |                 |       |         |       |       |          |
                  +-----------------+       +---------+       |       +----------+
                                                              |       +----------+
                                                              |       |          |
                                                              +-------| SEE Hook |
                                                                      |          |
                                                                      +----------+
    
    

    Un entorno SEE encapsula todos los recursos necesarios actuando como administrador para el usuario. El Sandbox está controlado por Hooks que actúan como complementos, Hooks se comunican y coordinan a través de Eventos.

    Cada Hook tiene acceso directo al Sandbox que expone una API simple para su control y la API libvirt para un control más detallado.

    Deja una respuesta

    Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

    Subir