
Ambiente de Execução em Sandbox
:Fonte: https://github.com/F-Secure/see :Documentação: https://see.readthedocs.io :Download: https://pypi.python.org/pypi/python-see
|travis badge| |docs badge|
.. |travis badge| image:: https://travis-ci.org/F-Secure/see.svg?branch=master :target: https://travis-ci.org/F-Secure/see :alt: Build Status .. |docs badge| image:: https://readthedocs.org/projects/see/badge/?version=latest :target: http://see.readthedocs.io/en/latest/?badge=latest :alt: Documentation Status
O Ambiente de Execução em Sandbox (SEE) é um framework para construir automação de testes em ambientes seguros.
Os Sandboxes, fornecidos via libvirt, são personalizáveis permitindo um alto grau de flexibilidade. Diferentes tipos de Hypervisors (Qemu, VirtualBox, LXC) podem ser usados para executar os Ambientes de Teste.
Plugins podem ser adicionados a um Ambiente de Teste que fornece um mecanismo de sincronização de Eventos para sua interação. Os usuários podem habilitar e configurar os plugins através de um arquivo de configuração JSON.
SEE é para automatizar testes contra software desconhecido, perigoso ou instável, acompanhando sua atividade durante a execução.
SEE é adequado para construir plataformas de teste modulares ou gerenciar código executável com um bom grau de isolamento.
SEE permite escrever testes em sandbox tanto para prototipagem rápida quanto para execução em ambiente de produção.
SEE está disponível como pacote Python no Python Package Index (PyPI).
É responsabilidade do usuário instalar e configurar os hypervisors que serão controlados com SEE e as possíveis dependências e subsistemas usados pelos provedores de imagem selecionados.
Consulte a documentação para saber como configurar cada hypervisor.
SEE é construído sobre as APIs do libvirt, portanto todos os hypervisors suportados pelo libvirt podem ser controlados através do SEE.
SEE vem com suporte básico para QEMU, VirtualBox e LXC. Para adicionar mais hypervisors ou personalizar os básicos, veja o código contido em see/context.
SEE usa um sistema de provedores plugáveis para recuperar imagens de disco de fontes arbitrárias e disponibilizá-las para o SEE.
SEE inclui provedores para pools de armazenamento do LibVirt <https://libvirt.org/storage.html>_ e OpenStack Glance <https://docs.openstack.org/developer/glance/>_, bem como uma implementação de provedor dummy. Para adicionar mais provedores, veja o código contido em see/image_providers.
SEE é um provedor de sandbox orientado a eventos e baseado em plugins para controle de fluxo de teste síncrono e assíncrono.
::
+----------+
| |
+-------| SEE Hook |
| | |
| +----------+
+---------+-------+ +---------+ | +----------+
| | | | | | |
User -------> | SEE Environment |-------| Sandbox |-------+-------| SEE Hook |
| | | | | | |
+-----------------+ +---------+ | +----------+
| +----------+
| | |
+-------| SEE Hook |
| |
+----------+
Um Ambiente SEE encapsula todos os recursos necessários atuando como um manipulador para o Usuário. O Sandbox é controlado pelos Hooks que atuam como plugins. Os Hooks se comunicam e se coordenam através de Eventos.
Cada Hook tem acesso direto ao Sandbox, que expõe uma API simples para seu controle e as APIs do libvirt para um controle mais granular.
Página do projeto Libvirt.
Apresentação no PyCon Finlândia 2015.