SSoT Based Network Service Deployment

Walther, Dominic and Jovicic, Dejan (2023) SSoT Based Network Service Deployment. Other thesis, OST Ostschweizer Fachhochschule.

[thumbnail of FS 2023-BA-EP-Walther-Jovicic-SSoT based network service deployment.pdf] Text
FS 2023-BA-EP-Walther-Jovicic-SSoT based network service deployment.pdf - Supplemental Material

Download (4MB)


In the field of network automation, a fully Single Source ofTruth (SSoT) based deployment is considered something of a holy grail, as it promotes reliable, repeatable, and documented procedures. While many proprietary solutions exist in this space, many of the open-source alternatives currently lack in capability, ease of use, or code quality. At its core, NetBox is an open-source project composed of a pre-defined database structure and a Django-based graphical interface. Its purpose is to document network infrastructure, covering both the hardware itself and its configuration. However, it lacks a mechanism for deploying said documented network in an automated manner, where the documentation dictates the network configuration, rather than the inverse. The goal of this project is to expand the capabilities of NetBox by adding support for network services through a plugin and implementing a mechanism for generating and deploying the corresponding configuration to the relevant network devices. We began by researching multiple network services before settling on MPLS L3 VPN, which encompasses the LDP, VRF, and BGP protocols, of which only VRF was already part of NetBox. After comparing various tools for network device configuration, we decided to use Napalm for device interactions and configuration management, with Nornir serving as a parallelization layer. During development, emphasis was placed on keeping the project extensible for future additions and making the deployment process as simple and intuitive as possible. The resulting software is comprised of two parts: the Argos-NetBox plugin, which extends NetBox and adds support for the aforementioned protocols, and Argos-NAC, which queries the necessary data from NetBox and handles the generation and deployment of the various device configurations. Argos-NetBox can be used standalone and is vendor-independent, making Argos-NAC an optional addition to it. The protocols covered by this project can be used separately and are designed to be interchangeable, should alternatives to them be added in the future.
It is worth noting that, in addition to this paper, a separate MkDocs has been created which outlines aspects of the project relevant to its future development and offers an
introduction to the dependencies upon which the project relies.

Item Type: Thesis (Other)
Subjects: Technologies > Programming Languages > Python
Technologies > Databases
Technologies > Network
Metatags > INS (Institute for Networked Solutions)
Divisions: Bachelor of Science FHO in Informatik > Bachelor Thesis
Depositing User: OST Deposit User
Thesis advisor
Baumann, Urs
Date Deposited: 21 Oct 2023 12:15
Last Modified: 21 Oct 2023 12:15

Actions (login required)

View Item
View Item