Bachelor's Thesis

Optimisation of Testing Environment Allocation in Testing Farm Service

Final Thesis 1.69 MB

Author of thesis: Bc. Daniel Šimko

Acad. year: 2022/2023

Supervisor: RNDr. Marek Rychlý, Ph.D.

Reviewer: doc. Ing. Radek Burget, Ph.D.

Abstract:

The aim of this thesis is to implement shelving, and pre-provisioning of guest virtual machines as optimizations in the VM provisioning component of a test pipeline. This work describes the process of provisioning of virtual machines in the context of the Artemis service, and the Testing Farm service environment, and modifications made to the provisioning pipeline in order to decrease the time between making a new provisioning request and receiving a fully-provisioned mechine.

Keywords:

Virtual machine, Provisioning, Cache, Pre-provisioning, Continuous Integration, Artemis, Python

Date of defence

13.06.2023

Result of the defence

Defended (thesis was successfully defended)

znamkaBznamka

Grading

B

Process of defence

Student nejprve prezentoval výsledky, kterých dosáhl v rámci své práce. Komise se poté seznámila s hodnocením vedoucího a posudkem oponenta práce. Student následně odpověděl na otázky oponenta a na další otázky přítomných, např. ohledně statistických vlastností prezentovaných experimentálních výsledků. Komise se na základě posudku oponenta, hodnocení vedoucího, přednesené prezentace a odpovědí studenta na položené otázky rozhodla práci hodnotit stupněm velmi dobře / B.

Topics for thesis defence

  1. V textu práce opakovaně zmiňujete, že se vytváří sada kompatibilních virtuálních strojů. Co se rozumí kompatibilitou v tomto kontextu? Jakých vlastností virtuálních strojů se týká?

Language of thesis

English

Faculty

Department

Study programme

Information Technology (BIT)

Composition of Committee

doc. Ing. Vladimír Janoušek, Ph.D. (předseda)
doc. Ing. Lukáš Burget, Ph.D. (člen)
prof. Ing. Jan M. Honzík, CSc. (člen)
Ing. Vojtěch Mrázek, Ph.D. (člen)
Ing. Radek Kočí, Ph.D. (člen)

Supervisor’s report
RNDr. Marek Rychlý, Ph.D.

Student řešil práci samostatně a aktivně se zaměřoval na praktické uplatnění výsledku. Přístup studenta k řešení považuji za standardní a navrhuji hodnotit práci stupněm dobře (C).

Evaluation criteria Verbal classification
Informace k zadání

Cílem práce bylo pomocí různých metod navrhnout vylepšení přípravy a spuštění virtuálních strojů službou Artemis pro testování software. Obtížnou částí práce byla návaznost na existující projekt Artemis a nutnost vypořádat se s praktickými požadavky testovacích scénářů. Zadání považuji za splněné.

Práce s literaturou

V průběhu řešení student samostatně vyhledal a nastudoval vhodnou literaturu.

Aktivita během řešení, konzultace, komunikace

Během řešení pracoval student samostatně, důležité milníky v postupu řešení však konzultoval. Na konzultacích byl aktivní, prezentoval vlastní řešení a případné připomínky vyřešil v dohodnutých termínech. Průběh práce byl konzultován s firmou Red Hat Czech s.r.o., kde bylo řešení nasazeno.

Aktivita při dokončování

Práce byla dokončena včas a technická zpráva byla konzultována. Připomínky byly zapracovány.

Publikační činnost, ocenění

Bez publikací či ocenění. Řešení je součástí open-source projektu Artemis.

Points proposed by supervisor: 75

Grade proposed by supervisor: C

Reviewer’s report
doc. Ing. Radek Burget, Ph.D.

Pan Šimko detailně nastudoval architekturu existujícího nástroje a implementoval jeho rozšíření, které je poměrně rozsáhlé, dobře navržené a plně funkční. Technické zprávě mohlo být věnováno trochu více pozornosti a mám některé připomínky spíše formálního charakteru, celkově hodnotím práci jako velmi dobrou a navrhuji hodnocení stupněm B.

Evaluation criteria Verbal classification Points
Náročnost zadání

Evaluation level: obtížnější zadání

Zadání považuji za mírně obtížnější, protože student se musel detailně seznámit s detaily a implementací rozsáhlejšího softwarového projektu, který je v aktivním vývoji a navrhnout a implementovat změny zajišťující požadovanou funkčnost.

Rozsah splnění požadavků zadání

Evaluation level: zadání splněno

Zadání považuji za splněné bez výhrad.

Rozsah technické zprávy

Evaluation level: je v obvyklém rozmezí

Technická zpráva se svým rozsahem pohybuje spíše na spodní hranici rozmezí obvyklého pro bakalářskou práci. Zejména některé části platformy Artemis jsou popsány poněkud stručně, stejně jako testování vytvořeného řešení. Návrh a implementace vlastního řešení jsou však zdokumentovány dostatečně.

Prezentační úroveň technické zprávy

Struktura technické zprávy je srozumitelná a odráží jak stav, ze kterého student vycházel, tak i vlastní návrh a implementaci. Některé kapitoly jsou až příliš stručné (např. 3.5.4), celkově je ale obsah dobře srozumitelný a relevantní k řešené problematice.

72
Formální úprava technické zprávy

Po jazykové stránce je práce standardní, typografii místy mohlo být věnováno více pozornosti, např. u sazby ukázek zdrojových kódů a nadpisů.

72
Práce s literaturou

Seznam použité literatury je přiměřeně rozsáhlý a obsahuje relevantní zdroje, které jsou v textu práce řádně citovány.

80
Realizační výstup

Realizačním výstupem je rozšíření nástroje Artemis o možnost odkládat předem vytvořené virtuální stroje na tzv. "poličkách" (shelving) s možností jejich rychlého použití a dále pak předem vytvářet tyto virtuální stroje (pre-provisioning). Student musel detailně pochopit implementační detaily existujícího projektu a doimplementovat svá rozšíření, což zvládnul výborně. Samotná implementace zmíněných funkcí je poměrně rozsáhlá a výsledek je plně funkční včetně poměrně komfortního ovládání celého procesu z příkazové řádky. 

95
Využitelnost výsledků

Výsledný nástroj bude patrně aktivně využíván při vývoji ve firmě RedHat, případně i externími uživateli.

Topics for thesis defence:
  1. V textu práce opakovaně zmiňujete, že se vytváří sada kompatibilních virtuálních strojů. Co se rozumí kompatibilitou v tomto kontextu? Jakých vlastností virtuálních strojů se týká?
Points proposed by reviewer: 84

Grade proposed by reviewer: B

Responsibility: Mgr. et Mgr. Hana Odstrčilová