Bachelor's Thesis

NetBox Tool User Interface Extension

Final Thesis 1.58 MB

Author of thesis: Bc. Viktor Kubec

Acad. year: 2024/2025

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

Reviewer: Ing. Lukáš Šišmiš

Abstract:

This bachelor’s thesis focuses on extending the user interface of the NetBox tool, one of the most widely adopted open-source solutions for IP address management (IPAM) and data-center infrastructure management (DCIM). NetBox provides a wealth of features for recording network devices, managing address space, and documenting physical topology, yet its stock user interface does not always satisfy the specific needs of network administrators or IT specialists. Accordingly, this work concentrates on adapting the user interface to the requirements of the Administration and Security Tools Department of the CESNET association. Those requirements include the addition of functionality that is currently missing from NetBox and that will significantly streamline the daily work of CESNET’s staff. A key component of the thesis is an analysis of NetBox’s existing capabilities, the identification of needed improvements, and the subsequent design of plugins aimed at simplifying routine tasks within the application. In the theoretical part, we begin by introducing the NetBox concept and detailing its Django-based architecture. We then outline the available extension mechanisms, present the specific enhancement requests from CESNET, and analyze those requirements. Practical part covers the design and implementation of the plugins, discusses the development challenges encountered, and offers useful tips for others who wish to extend NetBox. Conclusion summarizes the outcomes and contributions of this work and provides recommendations for future development.

Keywords:

NetBox, Django, IPAM, DCIM, user interface, network management, plugin, extension

Date of defence

20.06.2025

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

Topics for thesis defence

  1. Jaký byl názor konzultantů společnosti CESNET na výsledek práce?

Language of thesis

Czech

Faculty

Department

Study programme

Information Technology (BIT)

Composition of Committee

prof. Dr. Ing. Jan Černocký (předseda)
prof. Ing. Martin Čadík, Ph.D. (člen)
doc. Ing. Vojtěch Mrázek, Ph.D. (člen)
Ing. Aleš Smrčka, Ph.D. (člen)
Ing. Matěj Grégr, Ph.D. (člen)

Supervisor’s report
Ing. Jiří Matoušek, Ph.D.

I přes pomalejší rozjezd student nakonec vypracoval kvalitní bakalářskou práci. Vytvořené moduly pro nástroj NetBox jsou zveřejněny formou open-source software, a tak mohou být využity kterýmkoliv uživatelem tohoto nástroje, ačkoliv na jejich původně plánované využití v rámci sdružení CESNET zřejmě nedojde. Celkově hodnotím práci známkou C.

Evaluation criteria Verbal classification
Information about assignment

Námět zadání bakalářské práce vzešel z jednoho z výzkumných oddělení sdružení CESNET, ve kterém bylo použití nástroje NetBox zvažováno pro dokumentaci výzkumné a vývojové infrastruktury. Student tedy řešil rozšíření nástroje NetBox podle reálných požadavků potenciálního uživatele. V průběhu řešení práce nicméně zájem o využití nástroje NetBox na straně CESNET upadal. Student nicméně dokončil bakalářskou práci v plném rozsahu daném jejím zadáním, a implementovaná rozšíření jsou tudíž k dispozici všem stávajícím i budoucím uživatelům nástroje NetBox.

Work with literature

Student pracoval s literaturou zcela samostatně a z pozice vedoucího práce nebylo třeba do této oblasti nijak zasahovat.

Activity during solution, consultations, communication

V zimním semestru byla kvůli dalším studijním povinnostem aktivita studenta nižší. To se však významně změnilo v letním semestru, kdy byl student naopak nadprůměrně aktivní. Po celou dobu řešení bakalářské práce student svůj postup konzultoval nejen se mnou, ale i s odbornými konzultanty ze sdružení CESNET.

Activity during completion

Bakalářská práce byla dokončena v dostatečném předstihu a první kompletní verze technické zprávy prošla podrobnou revizí z mojí strany. Student následně zapracoval mé připomínky a připravil finální verzi technické zprávy. K jejímu připomínkování z mojí strany už nicméně nedošlo, a tak byla tato verze odevzdána.

Publication activity, awards

Implementovaná rozšíření nástroje NetBox byla zveřejněna formou open-source software na GitHub profilu studenta.

Points proposed by supervisor: 75

Grade proposed by supervisor: C

Reviewer’s report
Ing. Lukáš Šišmiš

Práce splňuje zadání, je přehledná a technicky přínosná. Student se orientuje v problematice a dokáže samostatně navrhnout i realizovat praktické řešení. Některé části práce by však mohly být více rozvedeny. Práci navrhuji hodnotit stupněm B, 85 bodů.

Evaluation criteria Verbal classification Points
The difficulty of the assignment

Evaluation level: moderately difficult assignment

Zadání se zaměřuje na rozšíření uživatelského rozhraní rozsáhlého nástroje NetBox, přičemž vyžaduje jak pochopení jeho interní architektury, tak implementaci několika pluginů dle specifikací zadavatele, sdružení CESNET. Zadání proto hodnotím jako středně náročné.

Presentation level of the technical report

Práce uvádí čtenáře v souvislém sledu do problematiky nástroje NetBox, pokračuje analýzou nezbytných a volitelných požadavků sdružení CESNET a v závěru popisuje implementaci nezbytných částí zadání.

86
Formal preparation of a technical report

Práce využívá zbytečně velké obrázky pro vizualizaci implementovaného rozhraní, případně je nevhodně zvolena velikost textu u některých z nich (např. text na Obrázku 2.1 je příliš malý, na Obrázku 2.2 naopak příliš velký). Práce také ve značné míře využívá seznamy a obsahuje mnoho úrovní nadpisů (např. Sekce 2.5).

85
Realisation output

Výsledky povinných částí práce byly prakticky odprezentovány a odevzdány sdružení CESNET. Kód pluginů je rovněž veřejně dostupný. Práce, kromě volitelných částí, mohla dále zahrnout i uživatelské testování k vyhodnocení návrhu grafického rozhraní ze strany koncových uživatelů.

82
Usability of results

Práce je prakticky zaměřená a přináší nové pluginy pro rozšíření systému NetBox dle požadavků sdružení CESNET. Ačkoliv byly tyto pluginy vyvíjeny na základě specifických požadavků, je možné je využít, případně upravit i v dalších organizacích s podobnými potřebami.

The extent to which the requirements of the assignment have been met

Evaluation level: assignment fulfilled

Student splnil všechny body zadání.

Extent of the technical report

Evaluation level: is within the usual extent

Práce je blíže minimálnímu rozsahu, ale obsahově nepociťuji potřebu doplnění dalších informací k řešení zadání.

Work with literature

Použité zdroje jsou relevantní a dobře citované. Nedoporučoval bych však uvádět jednotlivé podstránky dokumentace jako samostatné zdroje, zejména v takové míře, jaká je v práci.

90
Points proposed by reviewer: 85

Grade proposed by reviewer: B

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