We pinned pynetbox's version in multiple locations as newer versions had breaking changes.
However we will have to upgrade at least to be able to use it with the new Netbox objects custom fields. As of today upstream is at 6.6.2:
https://github.com/netbox-community/pynetbox/releases
We're also maintaining our own deb package (5.3.0), which is used in our infra:
https://github.com/wikimedia/puppet/blob/production/modules/netbox/manifests/init.pp#L76
https://github.com/wikimedia/puppet/blob/production/modules/profile/manifests/netbox.pp#L132
But it's now in bullseye - https://packages.debian.org/bullseye/python3-pynetbox (5.3.1)
So if 5.3.1 is enough, maybe it's worth dropping our own maintained version for simplicity. It's also the last version before 6.
* Homer - v5 - https://phabricator.wikimedia.org/rOSHO36bf14af77f75099d6f3d0ecdcc86eb88b3c0b47
* Netbox -v4 - https://gerrit.wikimedia.org/r/plugins/gitiles/operations/software/netbox-deploy/+/refs/heads/3-2-2/requirements.txt#7
* Netbox-extra - https://github.com/wikimedia/operations-software-netbox-extras/blob/master/requirements.txt (I don't think this is being used)
* Spicerack - v5 - https://github.com/wikimedia/operations-software-spicerack/blob/master/setup.py#L20
* Anything else?
So I suggest that we:
# Upgade Netbox's requirement to v5, fix any breaking changes.
# If everything works as it, upgrade to Bullseye's 5.3.1 stop using our custom package
# If v5 is not enough, upgrade our custom package to v6, fix any breaking changes and deploy it