Интеграция OpenQA с Proxmox Virtual Environment (Сергей Иванов, OSSDEVCONF-2023) — различия между версиями

Материал из 0x1.tv

 
(не показаны 2 промежуточные версии этого же участника)
;{{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. В докладе рассматривается как сам процесс интеграции, так и работа данных компонентов на примерах тестирования дистрибутивов и пакетов.

Видео

on youtube

Презентация

Интеграция OpenQA с Proxmox Virtual Environment (Сергей Иванов, OSSDEVCONF-2023).pdf Интеграция OpenQA с Proxmox Virtual Environment (Сергей Иванов, OSSDEVCONF-2023).pdf Интеграция OpenQA с Proxmox Virtual Environment (Сергей Иванов, OSSDEVCONF-2023).pdf Интеграция OpenQA с Proxmox Virtual Environment (Сергей Иванов, OSSDEVCONF-2023).pdf Интеграция OpenQA с Proxmox Virtual Environment (Сергей Иванов, OSSDEVCONF-2023).pdf Интеграция OpenQA с Proxmox Virtual Environment (Сергей Иванов, OSSDEVCONF-2023).pdf Интеграция OpenQA с Proxmox Virtual Environment (Сергей Иванов, OSSDEVCONF-2023).pdf Интеграция OpenQA с Proxmox Virtual Environment (Сергей Иванов, OSSDEVCONF-2023).pdf Интеграция OpenQA с Proxmox Virtual Environment (Сергей Иванов, OSSDEVCONF-2023).pdf Интеграция OpenQA с Proxmox Virtual Environment (Сергей Иванов, OSSDEVCONF-2023).pdf Интеграция OpenQA с Proxmox Virtual Environment (Сергей Иванов, OSSDEVCONF-2023).pdf Интеграция OpenQA с Proxmox Virtual Environment (Сергей Иванов, OSSDEVCONF-2023).pdf Интеграция OpenQA с Proxmox Virtual Environment (Сергей Иванов, OSSDEVCONF-2023).pdf Интеграция OpenQA с Proxmox Virtual Environment (Сергей Иванов, OSSDEVCONF-2023).pdf Интеграция OpenQA с Proxmox Virtual Environment (Сергей Иванов, OSSDEVCONF-2023).pdf Интеграция OpenQA с Proxmox Virtual Environment (Сергей Иванов, OSSDEVCONF-2023).pdf

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сылки


Интеграция OpenQA с Proxmox Virtual Environment (Сергей Иванов, OSSDEVCONF-2023)!.jpg

Примечания и ссылки