bakalářská práce

Implementace podpory privátních kandidátních úložišť dat v projektu Netopeer2

Text práce 712.26 kB

Autor práce: Bc. Juraj Budai

Ak. rok: 2025/2026

Vedoucí: Ing. Jiří Matoušek, Ph.D.

Oponent: Ing. Marcela Zachariášová, Ph.D.

Abstrakt:

Táto práca sa zaoberá návrhom a implementáciou private candidate datastore v prostredí konfiguračného protokolu NETCONF. Cieľom práce je odstrániť obmedzenia štandardného zdieľaného candidate datastore, najmä prepisovaním urobených zmien v candidate datastore a nechceným commitom zmien, ktoré spravil iný klient. Navrhované riešenie je založené na rozšírení správania NETCONF servera Netopeer2 a doplnení knižnice Sysrepo o potrebné funkcie. Implementácia umožňuje vytvorenie izolovaného candidate datastore viazaného na jednotlivé NETCONF relácie a jeho následný commit do running datastore. Výsledkom práce je mechanizmus podporujúci paralelnú konfiguráciu bez vzájomného ovplyvňovania. Prínosom práce je rozšírenie praktických možností využitia NETCONF v multi-klientských prostrediach.

Klíčová slova:

konfigurácia, Private Candidate Datastores, Netopeer2, sysrepo, NETCONF, YANG

Termín obhajoby

18.06.2026

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ázku oponenta. Komise se na základě posudku oponenta, hodnocení vedoucího, přednesené prezentace a odpovědí studenta na položenou otázku rozhodla práci hodnotit stupněm C.

Otázky k obhajobě

  1. Predpokladám, že testy uvažujú ručne vkladané zmeny. Alebo je možné vkladať zmeny náhodne? 

Jazyk práce

slovenština

Fakulta

Ústav

Studijní program

Informační technologie (BIT)

Složení komise

doc. Dr. Ing. Dušan Kolář (předseda)
doc. Ing. Vladimír Janoušek, Ph.D. (místopředseda)
Ing. Radek Hranický, Ph.D. (člen)
Ing. Jiří Matoušek, Ph.D. (člen)
Ing. Zdeněk Materna, Ph.D. (člen)

Posudek vedoucího
Ing. Jiří Matoušek, Ph.D.

Ačkoliv se zadání bakalářské práce zpočátku zdálo být relativně přímočarým, student se v průběhu jeho plnění zvládl vypořádat jak s nečekanými implementačními obtížemi, tak očekávanými nástrahami integrace vytvořeného výstupu do produkčně používané knihovny Sysrepo a NETCONF serveru Netopeer2. Je tedy škoda, že se těmto překonaným překážkám více nevěnuje odevzdaná technická zpráva. Z pohledu vedoucího práce však hodnotím především přístup studenta v průběhu celého řešení bakalářské práce a ten si z mého pohledu zaslouží hodnocení výborně / A.

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

Cílem bakalářské práce bylo implementovat draft připravovaného standardu IETF pro NETCONF a RESTCONF privátní kandidátní úložiště dat v rámci open-source knihovny Sysrepo a open-source NETCONF serveru Netopeer2, které spravuje sdružení CESNET. Na začátku řešení bakalářské práce bylo zadání považování za průměrně obtížné s tím, že hlavní výzvou bude úspěšné začlenění implementovaných rozšíření do projektů, které jsou široce používány i v komerčním prostředí (telekomunikační operátoři typu Deutsche Telekom, výrobci komunikačních zařízení typu Nokia, aj.). V průběhu řešení se však naplno odhalila i technická náročnost zadání, kdy si implementace navržených rozšíření vyžádala koncepční změnu přístupu k implementaci úložišť dat v knihovně Sysrepo. Studentovi se však podařilo úspěšně se vypořádat jak s těmito dodatečně odhalenými komplikacemi, tak se začleněním výsledné práce do produkčně využívaných open-source projektů. Zadání bakalářské práce tak bylo zcela splněno.

Práce s literaturou

Student pracoval s dostupnými studijními materiály převážně samostatně. Jeho prvotní nasměrování na relevantní zdroje zajistil Mgr. Michal Vaško ze sdružení CESNET (hlavní vývojář v projektech Sysrepo a Netopeer2), který byl odborným konzultantem této práce.

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

Student byl přiměřeně aktivní po celou dobu řešení bakalářské práce a svůj postup průběžně konzultoval s odborným konzultantem ze sdružení CESNET. Implementační a ladicí práce byly dokončeny v dostatečném předstihu.

Aktivita při dokončování

První kompletní verze technické zprávy byla dokončena v dostatečném předstihu na to, aby stihla projít jednou úplnou revizí. Finální verze technické zprávy však byla s ohledem na dostupný čas před termínem odevzdání bakalářské práce revidována pouze částečně.

Publikační činnost, ocenění

Implementační výstupy bakalářské práce byly začleněny do open-source projektů knihovny Sysrepo a NETCONF serveru Netopeer2, které spravuje sdružení CESNET.

Výsledný počet bodů navržený vedoucím: 90

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

Práca sa venuje aktuálnej problematike podpory privátnych kandidátnych dátových úložísk v prostredí Sysrepo a Netopeer2. Pozitívne hodnotím praktický prínos riešenia a jeho integráciu do existujúcich open-source projektov. Oceňujem tiež, že ide o jednu z prvých implementácií plánovaného rozšírenia štandardu NETCONF.


Autor preukázal schopnosť orientácie v komplexnej problematike NETCONF, YANG a architektúr úložísk a implementoval funkčné riešenie vrátane základných testov konfliktov a synchronizácie konfigurácie.


Za slabšiu stránku práce považujem najmä kvalitu a rozsah testovania. Testy sú prevažne scenárové a chýba systematickejšia evaluácia robustnosti, škálovateľnosti a limitácií navrhnutého riešenia. Práca zároveň obsahuje viaceré typografické a formálne nedostatky.


Napriek uvedeným pripomienkam práca spĺňa požiadavky kladené na bakalársku prácu a odporúčam ju na obhajobu s hodnotením C.

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

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

Práca rieši prevažne implementačný a integračný problém, využíva známe princípy synchronizácie a riešenia konfliktov. Hlavný prínos spočíva v adaptácii týchto princípov do prostredia Sysrepo/Netopeer2, kde modelovanie dátových úložísk prebieha v špecializovanom jazyku YANG. 

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

Z pohľadu logickej štruktúry by som uvítala jasnejšie oddelenie návrhu od implementácie.

Miestami sa informácia v texte opakuje. Hlavne v teoretickom úvode.

Na strane 30 je veta: ..dochádza k modifikácii uzlov počas prechádzania stromu, čo komplikuje proces spracovania a vyhodnotenia konfliktov, ako je znázornené na obr. 5.1. Ale podľa mňa obrázok zachytáva skôr výber stratégie riešenia konfliktov. S týmto súvisí, že identifikované problémy zo strany 30 by si v práci zaslúžili väčšiu názornost v podobe príkladu a postupného demoštrovania problémov a ich riešení. 

65 100
Formální úprava technické zprávy

Práca obsahuje mnohé anglické výrazy, ktoré pôsobia miestami rušivo a mohli byť bez problémov preložené do slovenčiny. Hlavne nevidím dôvod, prečo študent používa termín "private candidate datastore" naprieč celou prácou, aj keď samotné zadanie termín prekladá ako "privátne kandidátne úložisko".

Niektorý demonstračné výpisy sú ďaleko od svojich referencí v texte (napr. 2.2) a niektoré výpisy ani referenciu v texte nemajú, napr. na strane 13, 14.

Nekonzistentné zvýrazňovanie akcii, dobre vidno napr. na strane 8 alebo 10. 

65 100
Realizační výstup

Realizačný výstup je integrovateľný do projektov Sysrepo a Netopeer2, navrhované riešenie mi príde vhodné.

Chýba mi ale systematickejšie testovanie výsledného riešenia, napriek tomu, že sú v práci zmienené viaceré funkčné testy, ako napr. testy detekcie konfliktov, riešenia konfliktov, integrácie do Netopeer2. S ohľadom na zameranie práce by ma zaujímalo, aké veľké záznamy sa testovali, existujúce limity na veľkosť záznamov, zanorenia submodulov, testované percento zmien s ohľadom na veľkosť záznamov a hĺbky zanorenia, atď.

70 100
Využitelnost výsledků

Výsledky sú využiteľné v praxi, je to jedna z prvých implementácii plánovaného rozšírenia štandardu NETCONF o privátne kandidátne dátové úložiská. 

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

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

Všetky body zadania sú splnené.

Rozsah technické zprávy

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

Rozsah práce je v poriadku.

Práce s literaturou

Literatúra je v poriadku, chýbala mi iba hlbšia analýza existujúcich riešení s ohľadom na identifikované problémy pri riešení konfliktov. 

75 100
Otázky k obhajobě:
  1. 1. Predpokladám, že testy uvažujú ručne vkladané zmeny. Alebo je možné vkladať zmeny náhodne? 
Výsledný počet bodů navržený oponentem: 70

Známka navržená oponentem: C

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