Ostinato in a container
For a long time now, I’ve been wanting to package Ostinato as a container. But never got around to it.
As 2022 came to a close, I took the plunge, installed Docker, read a few tutorials and created my first container, packaging the Ostinato agent Drone.
Packaging the agent (Drone) and the Ostinato GUI together took a few days as I needed to figure out how best to package a X windows GUI app inside a container — I decided to take the VNC route as it’s something Ostinato users (e.g. those using it with GNS3/EVE-NG/CML) are familar with.
Ostinato being a Qt GUI app, my first attempt was to use the Qt built-in VNC server (just pass the arg
-platform vnc to any Qt GUI app). While that worked, the dialogs and windows were not resizable — probably because I hadn’t included a Window Manager in the image. I would also need to package in Wireshark to view capture files, so a minimal desktop or window manager was anyway called for. I went ahead with FLWM — the same one that the Ostinato VM uses. Now with multiple apps and a GUI desktop environment, I needed a full blown VNC server instead of the Qt built-in one. After a bit (read too much!) of research, I settled on x11vnc.
After much reading of docs and some experimentation, I now had 2 Ostinato docker containers -
$ docker images REPOSITORY TAG IMAGE ID CREATED SIZE ostinato/ostinato v1.2.0-1 11ab5ac21cbe 3 days ago 751MB ostinato/agent v1.2.0-1 c1be11ba26fd 3 days ago 204MB <none> <none> c096bf3cb0da 3 days ago 206MB <none> <none> 2a0175a90aba 5 days ago 754MB <none> <none> edc5c451a16f 6 days ago 751MB <none> <none> 908a68fb0900 6 days ago 754MB ubuntu 22.04 6b7dfa7e8fdb 4 weeks ago 77.8MB ghcr.io/nokia/srlinux latest db41df9a3ad0 5 weeks ago 2.8GB
Next step was to try the Ostinato container with Containerlab which was fairly straightforward (except for some SR Linux config snippet that the containerlab discord members kindly helped me with) -
Ostinato for Containerlab is now available on the Ostinato website.
For more bespoke environments, the generic containers for the latest Ostinato release (v1.2.0) are now available to all Ostinato Super Bundle subscribers.
How will you use the Ostinato container? Let me know in the comments below.
For more Ostinato related content, subscribe for email updates.
Leave a Comment