Ostinato in a container

1 minute read

For a long time now, I’ve been wanting to package Ostinato as a container. But never got around to it.

Until now.

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 in containerlab

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