Goodbye, Ubuntu 20.04 (netlab 26.05)

netlab release 26.05 is out. I’ll write about its highlights tomorrow; today, I want to focus on one of its breaking changes: netlab no longer works with Python 3.8 (which reached end-of-life in October 2024), so you can no longer install it on a vanilla Ubuntu 20.04 (which reached end of standard support a year ago).

We wanted to get rid of old Python versions for ages, but never did because Ubuntu 20.04 shipped with Python 3.8, and many netlab early adopters installed it on Ubuntu 20.04 (and the last thing a networking engineer wants is wasting time with upgrades, right?).

However, the latest containerlab release (0.75.0) stopped working on ancient container software, and that was the last nudge we needed to rip off that bandaid.

The networklab package in release 26.05 is thus defined to run on Python 3.10 and above. You might be able to continue using netlab with Ubuntu 20.04 if you manage to install Python 3.10 on that system. If you decide to do that, disable the containerlab version check with netlab defaults 'providers.clab.probe=[]' to continue working with older containerlab releases that run on Ubuntu 20.04 (at least until containerlab developers fix this issue).

However, don’t rush with upgrading your old ancient netlab servers. We’re still discovering quirks in Ubuntu 24.04 (primarily different QEMU defaults and edge cases) and ironing them out. On the other hand, we’d love to have more people reporting those quirks, so if you don’t mind opening an issue or two, please do the upgrade ;)

Upgrading or Starting from Scratch?

1 comments:

  1. Hi Ivan,

    thank you for all your effort. What I just wanted to ask: Is there already testing going on on Ubuntu 26.04? Not that their is a real demand right now, but this question will come from my colleagues pretty soon :)

    Stephan

    Replies
    1. Thanks for the poke. I will start testing stuff on Ubuntu 26.04, but I have to build a Vagrant box first (unless one appeared on Vagrant Cloud lately), which will incidentally solve another thing I wanted to fix. So, after a few rounds of yak-shaving, I should have a working environment ;)

      Anyway, I don't expect many surprises regarding the core functionality, particularly as we're developing on the latest Python releases and keep as far away from Ansible as possible. The quirks might surface in the VM handling, in which case the first fallback recommendation will be "use vrnetlabs".

      More later, have a yak to shave ;)) Ivan

    2. Skipped the yak-shaving (found a viable Vagrant box), here are the first results of running netlab on Ubuntu 26.04:

      • netlab install libvirt fails due to a changed definition of the qemu-kvm package (https://github.com/ipspace/netlab/issues/3408)
      • containerlab, Ansible, and gRPC libraries installation works
      • I was able to run labs with FRR and SR Linux containers

      So, the core functionality (almost) works; testing rarely-used VMs will probably result in more bug reports.

Add comment
Sidebar