Martin Reinok

Engineer | Developer | Artist

Estonian Defence Forces

IT Department

Project description

I was a network & DevOps engineer during my conscription. My main projects were:

Just some pictures :)



Python program for configuring networking devices

I was assigned to rewrite scripts, written in PowerShell, which were used as CLI commands to either reconfigure or configure just a single networking device. I managed to rewrite and test the PowerShell scripts successfully, but I was not happy with the general functionality and end-user usability, so I proposed a new system.

After some research into existing methods (paramiko, netmiko), I proposed a new system which can configure, reconfigure and update firmware or rommon for the most used networking devices in the networking infrastructure.

This new system had a GUI, which made way easier to use for end-users and supported a lot more methods and devices. Development was done in a OOP way, so future new devices can be added rather easily.

Aside support for more devices, another main benefit of the program was the capability of reconfiguring or resetting networking device remotely, over SSH. The previous script required local presence to reconfigure over console connection only, whereas with the new method, operator does not have to leave the office :) (provided the device is online & configured).



Custom Debian Distribution

While debugging and supporting the networking infrastructure during an field training excercise, I got and idea to simplify the setup process for end-users.

The current system relied on a hypervisor with multiple Virtual Machines, each one had to be installed and configured manually.

I proposed a new system which does not use any VMs, but instead uses a custom Debian distribution with preinstalled dockers. This required all the teams, which previously made software for pure-metal, to containerize their services. Thankfully this process had already begun to my suprise and building the distribution with pre-installed dockers was rather uncomplicated, but significantly simplified the setup of the service configurations.