Final week, I needed to push out netlab launch 1.9.6 to handle a very nasty Python dependency hell to make netlab work (once more) on Ubuntu 24.04 (extra particulars). The discharge additionally introduced these goodies (and a bunch of bug fixes):
About That Python Dependency
Python documentation encourages digital environments when putting in packages. That’s all effective and dandy for those who’re operating a gazillion completely different software program packages in your laptop computer, however largely irrelevant for those who’re utilizing a Linux server (or VM) as an equipment – the beneficial netlab deployment mannequin.
Moreover, some Linux distros love to incorporate a random choice of Python packages as system packages. For instance, Ubuntu 24.04 comes with preinstalled wealthy bundle. That’s OK so long as each different bundle is proud of the vendor-selected model of the preinstalled packages, however which will change at any time when somebody pushes a brand new model of their code (and its dependencies) to PyPi.
The wealthy bundle was “perpetually” included in Ubuntu 24.04. We knew that, however each bundle we used was proud of the preinstalled wealthy bundle, so the netlab set up scripts didn’t improve it.
A couple of days in the past, one of many Python packages used (most likely) by Ansible began requiring a more recent model of the wealthy bundle. The improve course of triggered by that new dependency failed as a result of the unique wealthy bundle was not put in with PyPi, and the netlab Ansible set up script crashed. New netlab customers couldn’t set up it on Ubuntu 24.04.
Workaround: The netlab Ansible set up script in launch 1.9.6 installs the most recent model of the wealthy bundle (and a bunch of others) with the --ignore-installed
flag.