
Изолированная среда выполнения
:Исходный код: https://github.com/F-Secure/see :Документация: https://see.readthedocs.io :Загрузка: 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: Статус сборки .. |docs badge| image:: https://readthedocs.org/projects/see/badge/?version=latest :target: http://see.readthedocs.io/en/latest/?badge=latest :alt: Статус документации
Изолированная среда выполнения (SEE) — это фреймворк для создания автоматизации тестирования в защищенных средах.
Песочницы, предоставляемые через libvirt, настраиваемы, что обеспечивает высокую степень гибкости. Для запуска тестовых сред могут использоваться различные типы гипервизоров (Qemu, VirtualBox, LXC).
В тестовую среду могут быть добавлены плагины, которые предоставляют механизм синхронизации событий для их взаимодействия. Пользователи могут включать и настраивать плагины через JSON-файл конфигурации.
SEE предназначен для автоматизации тестирования неизвестного, опасного или нестабильного программного обеспечения с отслеживанием его активности во время выполнения.
SEE хорошо подходит для создания модульных тестовых платформ или управления исполняемым кодом с высокой степенью изоляции.
SEE позволяет писать тесты в изолированной среде как для быстрого прототипирования, так и для работы в производственной среде.
SEE доступен в виде пакета Python в Python Package Index (PyPI).
Установка и настройка гипервизоров, которыми предполагается управлять с помощью SEE, а также возможных зависимостей и подсистем, используемых выбранными провайдерами образов, возлагается на пользователя.
Обратитесь к документации, чтобы узнать, как установить и настроить каждый гипервизор.
SEE построен на основе API libvirt, поэтому все гипервизоры, поддерживаемые libvirt, могут управляться через SEE.
SEE включает базовую поддержку QEMU, VirtualBox и LXC; чтобы добавить больше гипервизоров или настроить базовые, обратитесь к коду в see/context.
SEE использует систему подключаемых провайдеров для получения образов дисков из произвольных источников и предоставления их SEE.
SEE включает провайдеров для пулов хранения LibVirt <https://libvirt.org/storage.html>_ и OpenStack Glance <https://docs.openstack.org/developer/glance/>_, а также реализацию фиктивного провайдера; чтобы добавить больше провайдеров, обратитесь к коду в see/image_providers.
SEE — это управляемый событиями, основанный на плагинах провайдер песочниц для синхронного и асинхронного управления потоком тестов.
::
+----------+
| |
+-------| SEE Hook |
| | |
| +----------+
+---------+-------+ +---------+ | +----------+
| | | | | | |
User -------> | SEE Environment |-------| Sandbox |-------+-------| SEE Hook |
| | | | | | |
+-----------------+ +---------+ | +----------+
| +----------+
| | |
+-------| SEE Hook |
| |
+----------+
Среда SEE инкапсулирует все необходимые ресурсы, выступая в роли обработчика для пользователя. Песочница управляется хуками (Hooks), которые действуют как плагины; хуки общаются и координируются друг с другом через события (Events).
Каждый хук имеет прямой доступ к песочнице, которая предоставляет простой API для управления ею, а также API libvirt для более тонкого управления.
Страница проекта Libvirt.
Презентация на PyCon Finland 2015.