bakalářská práce

Podpora Kubernetes pro Quarkus QE Test Framework

Text práce 1.18 MB

Autor práce: Georgii Troitskii

Ak. rok: 2023/2024

Vedoucí: doc. Mgr. Adam Rogalewicz, Ph.D.

Oponent: Ing. Aleš Smrčka, Ph.D.

Abstrakt:

Tato práce se zaměřuje na vylepšení open-source projektu Quarkus QE Test Framework, určeného pro testování aplikací postavených na frameworku Quarkus. Cílem je přidání podpory pro automatozovane spuštění testů na platformě Kubernetes. K dosažení tohoto cíle do virtuálního stroje na platformě OpenStack byl nainstalován cluster Kubernetes. Pomocí pluginu pro GitHub Pull Request Builder byla zřízena integrace mezi Jenkins a GitHub CI v Quarkus QE Test Frameworku. Tato integrace umožňuje automatické spouštění testů v Kubernetes při vytváření Pull Requestů na GitHubu po zadání specifické fráze do Pull Requestu. Toto řešení umožňuje plně automatizované spouštění testů v Kubernetes jako součást GitHub CI pipeline, čímž rozšiřuje seznam externich platform, na kterych tým Quarkus QE testuje aplikace Quarkus.

Klíčová slova:

Quarkus, Quarkus QE Test Framework, Java, Kubernetes, K8s, cluster, kubectl, Docker, GitHub, CI, Jenkins, GHPRB, GitHub Pull Request Builder, trigger, job, pipeline

Termín obhajoby

11.06.2024

Výsledek obhajoby

obhájeno (práce byla úspěšně obhájena)

znamkaCznamka

Klasifikace

C

Průběh obhajoby

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. 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 C.

Otázky k obhajobě

  1. Co chybí k možnému nasazení Vašeho řešení?
  2. Dělal jste práci na poslední chvíli?

Jazyk práce

čeština

Fakulta

Ústav

Studijní program

Informační technologie (BIT)

Složení komise

doc. RNDr. Pavel Smrž, Ph.D. (předseda)
Ing. Aleš Smrčka, Ph.D. (člen)
Ing. Zbyněk Křivka, Ph.D. (člen)
Ing. Jaroslav Rozman, Ph.D. (člen)
doc. Ing. Jan Kořenek, Ph.D. (člen)

Pan M. Vavřík, technický vedoucí z RH hodnotí studenta následovně:


V Quarkus QE Test Frameworku ležel nefunkční mrtvý kód který Georgii analyzoval a správně určil nutné změny. Tyto změny nebyly technicky náročné, ale vyžadovaly schopnost rozumět kódu, debugovat Java aplikaci a psaní integračních testů. Georgii vytvořil skripty pro vytvoření, nakonfigurování a spuštění nové instance Kubernetes. Veškeré činnosti zautomatizoval v podobně Jenkins jobu. Tuto infrastrukturní část považuji za technicky náročnou. Četné materiály tuto problematiku popisující fungují pro happy path, existence produktů jako AWS EKS, OpenShift a GKE není náhodná.


Po technické stránce se tak jedná o zdařilou práci, kterou kazí úroveň technické zprávy dokončované na poslední chvíli. Student navíc není rodilý mluvčí, což je na kvalitě textu dokončovaného ve spěchu vidět o to více.

Kritérium hodnocení Slovní hodnocení
Informace k zadání

Zadání práce vznikla ve spolupráci s firmou RedHat.

Práce s literaturou

Student vycházel především z online dokumentace jednotlivých nástrojů. Materiály si našel sám po dohodě s technickým vedoucím.

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

Z mého pohledu byla aktivita podprůměrná. Student mě informoval o pokroku většinou až na můj dotaz. Z pohledu technického vedoucího z RH byla aktivita výrazně lepší.

Studenta jsem informoval o možnosti psát práci v angličtině. Sám se rozhodl psát práci česky.

Aktivita při dokončování

Práce byla dokončována na poslední chvíli. K některým kapitolám jsem poskytl studentovi připomínky, které zapracoval. Doporučení směřovala převážně k technické části. Jazyková stránka byla nad moje síly. Část práce byla dokončována pár dní před odevzdáním a k obsahu jsem neměl už prostor se vyjádřit.

Publikační činnost, ocenění
Výsledný počet bodů navržený vedoucím: 75

Známka navržená vedoucím: C

Posudek oponenta
Ing. Aleš Smrčka, Ph.D.

Zadání bylo splněno. Student evidentně dosáhl řešení, které komunita přijala (citovánon z komentáře na platformě Github Michalem Vavříkem - aktivním vývojářem nástrojů Quarkus z firmy Red hat: "Good job!").

Kritérium hodnocení Slovní hodnocení Body
Náročnost zadání

Stupeň hodnocení: průměrně obtížné zadání

Cílem projektu bylo opravení chyby v průběžné integraci nástroje Quarkus Test Framework. Chyba byla cca před 2 lety reportována na platformě Github. Podstata práce spočívala v integraci několika široce rozšířených nástrojů určené pro automatické testování aplikací zahrnující orchestraci (Kubernetes a OpenShift) a automatizaci vývoje (Jenkins) s nástroji pro úzkou komunitu (Quarkus a Quarkus Test Framework).

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

Práce popisuje všechny podstatné věci, avšak její prezentace si zaslouží lepší úroveň. S ohledem na provázanost více nástrojů je potřeba důkladně popsat jejich architekturu a vnitřní procesy (ideálně pomocí standardních diagramů). V práci jsou místy popisovány příběhy, co jak student udělal, namísto strukturovaného návrhu a řešení.

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

Zpráva je místy ledabyle sepsaná a postrádá určitou úroveň pečlivosti a důkladnosti.

Negativa zahrnují citace na začátku podkapitol, příliš krátké podkapitoly nebo kapitoly, gramatické chyby, špatný slovosled, užití programátorského slangu a řádky přetečené přes okraj.

60
Realizační výstup

Výsledek práce mi byl demonstrován a je funkční. Implementace řešení zahrnuje úpravu (opravu) cca 1 tis. řádků kódu. Není to mnoho, ovšem je nutné brát v potaz rozličnost různých technologií, citlivou vazbu a jejich konfiguraci.

80
Využitelnost výsledků

S ohledem na požadavek pro opravení chyby v nástroji, který je aktivně používán, je zřejmá využitelnost výsledku.

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

Stupeň hodnocení: zadání splněno

Samotná reprodukce 2 roky staré chyby zahrnovala nejprve úpravu původního nástroje pro reprodukci - před vypsáním zadání bakalářské práce se nástroj pozměnil a reprodukce projevu chyby nebyla možná - a následně opravu samotné chyby. Chybu se podařilo opravit a oprava byla přijata komunitou (což dokládá úspěšná žádost o zahrnutí na platformě Github).

Rozsah technické zprávy

Stupeň hodnocení: je v obvyklém rozmezí

Práce s literaturou

Literatura zahrnuje pouze odkazy na dokumentace použitých technologií. Často se v textu odkazuje pomocí poznámek pod čarou na komentáře nebo jiné online materiály. S ohledem na charakter práce nemám proti tomuto stylu výhrady.

80
Výsledný počet bodů navržený oponentem: 70

Známka navržená oponentem: C

Odpovědnost: Mgr. et Mgr. Hana Odstrčilová