Интеграция OpenQA с Proxmox Virtual Environment (Сергей Иванов, OSSDEVCONF-2023) — различия между версиями
Материал из 0x1.tv
StasFomin (обсуждение | вклад) (Новая страница: «;{{SpeakerInfo}}: {{Speaker|Сергей Иванов}} <blockquote> </blockquote> {{VideoSection}} {{vimeoembed||800|450}} {{youtubelink|}} {{SlidesSection}}…») |
StasFomin (обсуждение | вклад) |
||
(не показаны 3 промежуточные версии этого же участника) | |||
;{{SpeakerInfo}}: {{Speaker|Сергей Иванов}} <blockquote> Доклад посвящён интеграции фреймворка автоматического тестирования OpenQA с системой виртуализации Proxmox Virtual Environment. В докладе рассматривается как сам процесс интеграции, так и работа данных компонентов на примерах тестирования дистрибутивов и пакетов. </blockquote> {{VideoSection}} {{vimeoembed|896266125|800|450}} {{youtubelink|}} |UHSt9-DLLTY}} {{SlidesSection}} [[File:Интеграция OpenQA с Proxmox Virtual Environment (Сергей Иванов, OSSDEVCONF-2023).pdf|left|page=-|300px]] {{----}} == Thesis == * https://gitlab.basealt.space/snowmix/openqa-via-pve Доклад посвящён интеграции фреймворка автоматического тестирования OpenQA с системой виртуализации Proxmox Virtual Environment. В докладе рассматривается как сам процесс интеграции, так и работа данных компонентов на примерах тестирования дистрибутивов и пакетов. Отдел тестирования компании «Базальт СПО» занимается различными видами проверок, в том числе тестированием дистрибутивов и сборочных заданий для стабильных репозиториев. Тестовые сценарии постоянно улучшаются, их количество разрастается, расширяется тестовое покрытие. Этот процесс ведёт к увеличению трудозатрат на тестирование и повышает вероятность появления ошибки со стороны тестировщика (так называемый «человеческий фактор»). Самым оптимальным решением в данной ситуации является автоматизация части рутинных тестовых сценариев. В отделе тестирования уже разработана инфраструктура для автоматической проверки сборочных заданий, что помогает сократить время выполнения задач. О данном решении было рассказано на прошлой конференции в рамках доклада «Автоматизация процессов в рамках тестирования сборочных заданий для стабильных репозиториев ОС ALT Linux». Однако в разработанной инфраструктуре присутствует недостаток: система не способна тестировать графические приложения. Автоматизировано лишь тестирование приложений, работу которых можно проверить через консоль. Данный недостаток решается использованием такого инструмента как OpenQA — открытого фреймворка, позволяющего в полностью автоматическом режиме проводить тестирование различных компонентов операционной системы. Данный фреймворк уже используется в отделе тестирования для проверки установки дистрибутивов (про это было также рассказано на конференции в 2022 году). Кроме того, OpenQA задействуется для проверки сборочных заданий, содержащих пакеты, связанные с установщиком системы. В настоящий момент активно идёт внедрение возможностей OpenQA для тестирования остального функционала сборочных заданий, а не только компонентов, касающихся установки. OpenQA состоит из нескольких компонентов, одним из который является OpenQA-Worker. По умолчанию OpenQA запускает тестируемый образ на виртуальных машинах qemu, на которых выполняются различные тесты. В свою очередь, каждая виртуальная машина имеет свои характеристики, (по умолчанию это 25GB HDD, 2GB RAM). Запуск большого количества параллельно работающих тестов вынуждает использовать под OpenQA-Worker отдельный высокопроизводительный сервер. Кроме того, в случае возникновения каких-либо ошибок в процессе выполнения OpenQA-тестов виртуальные машины, на которых упали тесты, удаляются. Это вынуждает вручную разворачивать машины для воспроизведения / исправления возникших ошибок. Обозначенные проблемы можно решить использованием системы виртуализации Proxmox Virtual Environment вместо отдельного сервера. В OpenQA, помимо бекендов, работающих напрямую со средствами виртуализации (qemu, libvirt, hyperv, virtualbox), существуют бекенды, подключающиеся по VNC / SSH к уже существующим виртуальным / реальным машинам, но не осуществляющие их менеджмент (создание, удаление, настройка и т. п.). Вследствие этого необходима разработка программной обвязки, осуществляющая создание виртуальных машин на PVE и запуск OpenQA-тестов, которые будут подключаться к созданным машинам и работать с ними, так, как если бы использовался бекенд qemu. Подробности данной интеграции будет рассмотрены в текущем докладе. === Cсылки === * [https://pve.proxmox.com/pve-docs/api-viewer Документация Proxmox VE API] * [https://open.qa/docs/ Документация openQA] * [https://github.com/os-autoinst/os-autoinst/tree/master/doc Документация os-autoinst] {{----}} [[File:{{#setmainimage:Интеграция OpenQA с Proxmox Virtual Environment (Сергей Иванов, OSSDEVCONF-2023)!.jpg}}|center|640px]] {{LinksSection}} <!-- <blockquote>[©]</blockquote> --> <references/> [[Категория:OSSDEVCONF-2023]] [[Категория:Open-source projects]] [[Категория:Draft]] |
Текущая версия на 20:12, 2 апреля 2024
- Докладчик
- Сергей Иванов
Доклад посвящён интеграции фреймворка автоматического тестирования OpenQA с системой виртуализации Proxmox Virtual Environment. В докладе рассматривается как сам процесс интеграции, так и работа данных компонентов на примерах тестирования дистрибутивов и пакетов.
Содержание
Видео
Презентация
Thesis
Доклад посвящён интеграции фреймворка автоматического тестирования OpenQA с системой виртуализации Proxmox Virtual Environment. В докладе рассматривается как сам процесс интеграции, так и работа данных компонентов на примерах тестирования дистрибутивов и пакетов.
Отдел тестирования компании «Базальт СПО» занимается различными видами проверок, в том числе тестированием дистрибутивов и сборочных заданий для стабильных репозиториев. Тестовые сценарии постоянно улучшаются, их количество разрастается, расширяется тестовое покрытие. Этот процесс ведёт к увеличению трудозатрат на тестирование и повышает вероятность появления ошибки со стороны тестировщика (так называемый «человеческий фактор»). Самым оптимальным решением в данной ситуации является автоматизация части рутинных тестовых сценариев.
В отделе тестирования уже разработана инфраструктура для автоматической проверки сборочных заданий, что помогает сократить время выполнения задач. О данном решении было рассказано на прошлой конференции в рамках доклада «Автоматизация процессов в рамках тестирования сборочных заданий для стабильных репозиториев ОС ALT Linux». Однако в разработанной инфраструктуре присутствует недостаток: система не способна тестировать графические приложения. Автоматизировано лишь тестирование приложений, работу которых можно проверить через консоль.
Данный недостаток решается использованием такого инструмента как OpenQA — открытого фреймворка, позволяющего в полностью автоматическом режиме проводить тестирование различных компонентов операционной системы. Данный фреймворк уже используется в отделе тестирования для проверки установки дистрибутивов (про это было также рассказано на конференции в 2022 году). Кроме того, OpenQA задействуется для проверки сборочных заданий, содержащих пакеты, связанные с установщиком системы. В настоящий момент активно идёт внедрение возможностей OpenQA для тестирования остального функционала сборочных заданий, а не только компонентов, касающихся установки.
OpenQA состоит из нескольких компонентов, одним из который является OpenQA-Worker. По умолчанию OpenQA запускает тестируемый образ на виртуальных машинах qemu, на которых выполняются различные тесты.
В свою очередь, каждая виртуальная машина имеет свои характеристики, (по умолчанию это 25GB HDD, 2GB RAM).
Запуск большого количества параллельно работающих тестов вынуждает использовать под OpenQA-Worker отдельный высокопроизводительный сервер.
Кроме того, в случае возникновения каких-либо ошибок в процессе выполнения OpenQA-тестов виртуальные машины, на которых упали тесты, удаляются. Это вынуждает вручную разворачивать машины для воспроизведения / исправления возникших ошибок.
Обозначенные проблемы можно решить использованием системы виртуализации Proxmox Virtual Environment вместо отдельного сервера. В OpenQA, помимо бекендов, работающих напрямую со средствами виртуализации (qemu, libvirt, hyperv, virtualbox), существуют бекенды, подключающиеся по VNC / SSH к уже существующим виртуальным / реальным машинам, но не осуществляющие их менеджмент (создание, удаление, настройка и т. п.).
Вследствие этого необходима разработка программной обвязки, осуществляющая создание виртуальных машин на PVE и запуск
OpenQA-тестов, которые будут подключаться к созданным машинам и работать с ними, так, как если бы использовался бекенд
qemu.
Подробности данной интеграции будет рассмотрены в текущем докладе.
Cсылки