Python ImportError after update to NetBox 2.11.3

692 views
Skip to first unread message

Marin Bernard

unread,
May 7, 2021, 11:34:43 AM5/7/21
to NetBox
Hi,

I've just upgraded to NetBox 2.11.3 from NetBox 2.11.2 on a couple of VMs running on Oracle Linux 8 with Python 3.8. After the update, NetBox crashes at the first request with the following exception:

[2021-05-07 17:16:20 +0200] [1178] [ERROR] Error handling request /
Traceback (most recent call last):
  File "/opt/netbox/venv/lib64/python3.8/site-packages/django/core/handlers/exception.py", line 47, in inner
    response = get_response(request)
  File "/opt/netbox/venv/lib64/python3.8/site-packages/django/core/handlers/base.py", line 167, in _get_response
    callback, callback_args, callback_kwargs = self.resolve_request(request)
  File "/opt/netbox/venv/lib64/python3.8/site-packages/django/core/handlers/base.py", line 290, in resolve_request
    resolver_match = resolver.resolve(request.path_info)
  File "/opt/netbox/venv/lib64/python3.8/site-packages/django/urls/resolvers.py", line 556, in resolve
    for pattern in self.url_patterns:
  File "/opt/netbox/venv/lib64/python3.8/site-packages/django/utils/functional.py", line 48, in __get__
    res = instance.__dict__[self.name] = self.func(instance)
  File "/opt/netbox/venv/lib64/python3.8/site-packages/django/urls/resolvers.py", line 598, in url_patterns
    patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module)
  File "/opt/netbox/venv/lib64/python3.8/site-packages/django/utils/functional.py", line 48, in __get__
    res = instance.__dict__[self.name] = self.func(instance)
  File "/opt/netbox/venv/lib64/python3.8/site-packages/django/urls/resolvers.py", line 591, in urlconf_module
    return import_module(self.urlconf_name)
  File "/usr/lib64/python3.8/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1014, in _gcd_import
  File "<frozen importlib._bootstrap>", line 991, in _find_and_load
  File "<frozen importlib._bootstrap>", line 975, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 671, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 783, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "/opt/netbox/netbox/netbox/urls.py", line 40, in <module>
    path('circuits/', include('circuits.urls')),
  File "/opt/netbox/venv/lib64/python3.8/site-packages/django/urls/conf.py", line 34, in include
    urlconf_module = import_module(urlconf_module)
  File "/usr/lib64/python3.8/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1014, in _gcd_import
  File "<frozen importlib._bootstrap>", line 991, in _find_and_load
  File "<frozen importlib._bootstrap>", line 975, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 671, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 783, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "/opt/netbox/netbox/circuits/urls.py", line 3, in <module>
    from dcim.views import CableCreateView, PathTraceView
  File "/opt/netbox/netbox/dcim/views.py", line 15, in <module>
    from extras.views import ObjectChangeLogView, ObjectConfigContextView, ObjectJournalView
  File "/opt/netbox/netbox/extras/views.py", line 16, in <module>
    from . import filtersets, forms, tables
  File "/opt/netbox/netbox/extras/filtersets.py", line 7, in <module>
    from netbox.filtersets import BaseFilterSet, ChangeLoggedModelFilterSet
  File "/opt/netbox/netbox/netbox/filtersets.py", line 9, in <module>
    from extras.filters import CustomFieldFilter, TagFilter
ImportError: cannot import name 'TagFilter' from 'extras.filters' (/opt/netbox/netbox/extras/filters.py)
During handling of the above exception, another exception occurred:

[...] (the same exception repeats several times until it gives up)


Previous updates were painless. I always check out the release tag and run the update script. Did I miss something ?

Thanks!

Brian Candler

unread,
May 7, 2021, 12:06:16 PM5/7/21
to NetBox
"During handling of the above exception, another exception occurred:"

Are you sure the subsequent exceptions are *exactly* the same as the one you saw?  I think they are likely to be different, and the final one will show the true source of the error.  Can you post the whole lot, or put it in a gist and post the link here?

Brian Candler

unread,
May 7, 2021, 12:07:57 PM5/7/21
to NetBox
Also, which particular URL did you hit - the front page, or something else?

Marin Bernard

unread,
May 7, 2021, 12:10:31 PM5/7/21
to NetBox

Marin Bernard

unread,
May 7, 2021, 12:10:58 PM5/7/21
to NetBox
The front page, yes.

Brian Candler

unread,
May 7, 2021, 12:49:11 PM5/7/21
to NetBox
That is a very weird recursive error indeed!  I updated earlier today from 2.11.2 to 2.11.3, no problems.

Did you see any errors while ./upgrade.sh was running?  You can run it again to check.

Can I ask how you did the update?  If it was a "git pull", please can you run "git status" and say if it shows anything other than:

Your branch is up to date with 'origin/master'.

nothing to commit, working tree clean

Or did you update using a tarball?  If so, did you untar into a new directory as recommended, or did you untar on top of an existing installation?

Brian Candler

unread,
May 7, 2021, 12:54:47 PM5/7/21
to NetBox
Another thing you can look at: activate the virtualenv and do "pip list".  See if there are any glaring differences with what I have.  Mine may have some extra as my local_requirements.txt includes "napalm" and "napalm-ros".

root@netbox:/opt/netbox# . venv/bin/activate
(venv) root@netbox:/opt/netbox# pip list
Package                Version
---------------------- ---------
asgiref                3.3.4
attrs                  21.2.0
bcrypt                 3.2.0
certifi                2020.12.5
cffi                   1.14.5
chardet                4.0.0
ciscoconfparse         1.5.30
click                  7.1.2
colorama               0.4.4
coreapi                2.3.3
coreschema             0.0.4
cryptography           3.4.7
Django                 3.2.2
django-cacheops        6.0
django-cors-headers    3.7.0
django-debug-toolbar   3.2.1
django-filter          2.4.0
django-js-asset        1.2.2
django-mptt            0.12.0
django-pglocks         1.0.4
django-prometheus      2.1.0
django-rq              2.4.1
django-tables2         2.3.4
django-taggit          1.4.0
django-timezone-field  4.1.2
djangorestframework    3.12.4
dnspython              2.1.0
drf-yasg               1.20.0
funcy                  1.15
future                 0.18.2
gunicorn               20.1.0
idna                   2.10
importlib-metadata     4.0.1
importlib-resources    5.1.2
inflection             0.5.1
itypes                 1.2.0
Jinja2                 2.11.3
jsonschema             3.2.0
junos-eznc             2.6.0
librouteros            3.1.0
lxml                   4.6.3
Markdown               3.3.4
MarkupSafe             1.1.1
napalm                 3.2.0
napalm-ros             1.0.1
ncclient               0.6.9
netaddr                0.8.0
netmiko                3.4.0
ntc-templates          2.0.0
packaging              20.9
paramiko               2.7.2
passlib                1.7.4
Pillow                 8.2.0
pip                    21.1.1
pkg-resources          0.0.0
prometheus-client      0.10.1
psycopg2-binary        2.8.6
pycparser              2.20
pycryptodome           3.10.1
pyeapi                 0.8.4
PyNaCl                 1.4.0
pyparsing              2.4.7
pyrsistent             0.17.3
pyserial               3.5
pytz                   2021.1
PyYAML                 5.4.1
redis                  3.5.3
requests               2.25.1
rq                     1.8.0
ruamel.yaml            0.17.4
ruamel.yaml.clib       0.2.2
scp                    0.13.3
setuptools             39.0.1
six                    1.16.0
sqlparse               0.4.1
svgwrite               1.4.1
swagger-spec-validator 2.7.3
tablib                 3.0.0
tenacity               7.0.0
textfsm                1.1.0
transitions            0.8.8
typing-extensions      3.10.0.0
uritemplate            3.0.1
urllib3                1.26.4
wheel                  0.36.2
yamlordereddictloader  0.4.0
zipp                   3.4.1

Marin Bernard

unread,
May 7, 2021, 1:11:16 PM5/7/21
to NetBox
I use the version tag to checkout the sources (sorry for the French localization):

[marin@www-00 netbox]$ cd /opt/netbox/
[marin@www-00 netbox]$ sudo git checkout tags/v2.11.3
HEAD est maintenant sur c855570b5 Merge pull request #6371 from netbox-community/develop
[marin@www-00 netbox]$ sudo git status
HEAD détachée sur v2.11.3
Fichiers non suivis:
  (utilisez "git add <fichier>..." pour inclure dans ce qui sera validé)
    logs/

aucune modification ajoutée à la validation mais des fichiers non suivis sont présents (utilisez "git add" pour les suivre)

Here  is the output of the upgrade.sh script (no error):

[marin@www-00 netbox]$ sudo bash upgrade.sh
Removing old virtual environment...
Creating a new virtual environment at /opt/netbox/venv...
Updating pip (pip install --upgrade pip)...
Collecting pip
  Using cached https://files.pythonhosted.org/packages/cd/6f/43037c7bcc8bd8ba7c9074256b1a11596daa15555808ec748048c1507f08/pip-21.1.1-py3-none-any.whl
Installing collected packages: pip
  Found existing installation: pip 19.3.1
    Uninstalling pip-19.3.1:
      Successfully uninstalled pip-19.3.1
Successfully installed pip-21.1.1
pip 21.1.1 from /opt/netbox/venv/lib64/python3.8/site-packages/pip (python 3.8)
Installing Python system packages (pip install wheel)...
Collecting wheel
  Using cached wheel-0.36.2-py2.py3-none-any.whl (35 kB)
Installing collected packages: wheel
Successfully installed wheel-0.36.2
Installing core dependencies (pip install -r requirements.txt)...
Collecting Django==3.2.2
  Using cached Django-3.2.2-py3-none-any.whl (7.9 MB)
Collecting django-cacheops==6.0
  Using cached django_cacheops-6.0-py2.py3-none-any.whl (39 kB)
Collecting django-cors-headers==3.7.0
  Using cached django_cors_headers-3.7.0-py3-none-any.whl (12 kB)
Collecting django-debug-toolbar==3.2.1
  Using cached django_debug_toolbar-3.2.1-py3-none-any.whl (199 kB)
Collecting django-filter==2.4.0
  Using cached django_filter-2.4.0-py3-none-any.whl (73 kB)
Collecting django-mptt==0.12.0
  Using cached django_mptt-0.12.0-py2.py3-none-any.whl (111 kB)
Collecting django-pglocks==1.0.4
  Using cached django_pglocks-1.0.4-py3-none-any.whl
Collecting django-prometheus==2.1.0
  Using cached django_prometheus-2.1.0-py2.py3-none-any.whl (28 kB)
Collecting django-rq==2.4.1
  Using cached django_rq-2.4.1-py2.py3-none-any.whl (45 kB)
Collecting django-tables2==2.3.4
  Using cached django_tables2-2.3.4-py2.py3-none-any.whl (91 kB)
Collecting django-taggit==1.4.0
  Using cached django_taggit-1.4.0-py3-none-any.whl (46 kB)
Collecting django-timezone-field==4.1.2
  Using cached django_timezone_field-4.1.2-py3-none-any.whl (9.6 kB)
Collecting djangorestframework==3.12.4
  Using cached djangorestframework-3.12.4-py3-none-any.whl (957 kB)
Collecting drf-yasg[validation]==1.20.0
  Using cached drf_yasg-1.20.0-py2.py3-none-any.whl (1.6 MB)
Collecting gunicorn==20.1.0
  Using cached gunicorn-20.1.0-py3-none-any.whl (79 kB)
Collecting Jinja2==2.11.3
  Using cached Jinja2-2.11.3-py2.py3-none-any.whl (125 kB)
Collecting Markdown==3.3.4
  Using cached Markdown-3.3.4-py3-none-any.whl (97 kB)
Collecting netaddr==0.8.0
  Using cached netaddr-0.8.0-py2.py3-none-any.whl (1.9 MB)
Collecting Pillow==8.2.0
  Using cached Pillow-8.2.0-cp38-cp38-manylinux1_x86_64.whl (3.0 MB)
Collecting psycopg2-binary==2.8.6
  Using cached psycopg2_binary-2.8.6-cp38-cp38-manylinux1_x86_64.whl (3.0 MB)
Collecting pycryptodome==3.10.1
  Using cached pycryptodome-3.10.1-cp35-abi3-manylinux2010_x86_64.whl (1.9 MB)
Collecting PyYAML==5.4.1
  Using cached PyYAML-5.4.1-cp38-cp38-manylinux1_x86_64.whl (662 kB)
Collecting svgwrite==1.4.1
  Using cached svgwrite-1.4.1-py3-none-any.whl (66 kB)
Collecting tablib==3.0.0
  Using cached tablib-3.0.0-py3-none-any.whl (47 kB)
Collecting pytz
  Using cached pytz-2021.1-py2.py3-none-any.whl (510 kB)
Collecting sqlparse>=0.2.2
  Using cached sqlparse-0.4.1-py3-none-any.whl (42 kB)
Collecting asgiref<4,>=3.3.2
  Using cached asgiref-3.3.4-py3-none-any.whl (22 kB)
Collecting six>=1.4.0
  Using cached six-1.16.0-py2.py3-none-any.whl (11 kB)
Collecting redis>=3.0.0
  Using cached redis-3.5.3-py2.py3-none-any.whl (72 kB)
Collecting funcy<2.0,>=1.8
  Using cached funcy-1.15-py2.py3-none-any.whl (32 kB)
Collecting django-js-asset
  Using cached django_js_asset-1.2.2-py2.py3-none-any.whl (5.8 kB)
Collecting prometheus-client>=0.7
  Using cached prometheus_client-0.10.1-py2.py3-none-any.whl (55 kB)
Collecting rq>=1.2
  Using cached rq-1.8.0-py2.py3-none-any.whl (64 kB)
Requirement already satisfied: setuptools>=3.0 in ./venv/lib/python3.8/site-packages (from gunicorn==20.1.0->-r requirements.txt (line 15)) (41.6.0)
Collecting MarkupSafe>=0.23
  Using cached MarkupSafe-1.1.1-cp38-cp38-manylinux2010_x86_64.whl (32 kB)
Collecting inflection>=0.3.1
  Using cached inflection-0.5.1-py2.py3-none-any.whl (9.5 kB)
Collecting coreschema>=0.0.4
  Using cached coreschema-0.0.4-py3-none-any.whl
Collecting uritemplate>=3.0.0
  Using cached uritemplate-3.0.1-py2.py3-none-any.whl (15 kB)
Collecting ruamel.yaml>=0.15.34
  Using cached ruamel.yaml-0.17.4-py3-none-any.whl (101 kB)
Collecting packaging
  Using cached packaging-20.9-py2.py3-none-any.whl (40 kB)
Collecting coreapi>=2.3.3
  Using cached coreapi-2.3.3-py2.py3-none-any.whl (25 kB)
Collecting swagger-spec-validator>=2.1.0
  Using cached swagger_spec_validator-2.7.3-py2.py3-none-any.whl (27 kB)
Collecting itypes
  Using cached itypes-1.2.0-py2.py3-none-any.whl (4.8 kB)
Collecting requests
  Using cached requests-2.25.1-py2.py3-none-any.whl (61 kB)
Collecting click>=5.0.0
  Using cached click-7.1.2-py2.py3-none-any.whl (82 kB)
Collecting ruamel.yaml.clib>=0.1.2
  Using cached ruamel.yaml.clib-0.2.2-cp38-cp38-manylinux1_x86_64.whl (578 kB)
Collecting jsonschema
  Using cached jsonschema-3.2.0-py2.py3-none-any.whl (56 kB)
Collecting pyrsistent>=0.14.0
  Using cached pyrsistent-0.17.3-cp38-cp38-linux_x86_64.whl
Collecting attrs>=17.4.0
  Using cached attrs-21.2.0-py2.py3-none-any.whl (53 kB)
Collecting pyparsing>=2.0.2
  Using cached pyparsing-2.4.7-py2.py3-none-any.whl (67 kB)
Collecting chardet<5,>=3.0.2
  Using cached chardet-4.0.0-py2.py3-none-any.whl (178 kB)
Collecting certifi>=2017.4.17
  Using cached certifi-2020.12.5-py2.py3-none-any.whl (147 kB)
Collecting idna<3,>=2.5
  Using cached idna-2.10-py2.py3-none-any.whl (58 kB)
Collecting urllib3<1.27,>=1.21.1
  Using cached urllib3-1.26.4-py2.py3-none-any.whl (153 kB)
Installing collected packages: MarkupSafe, urllib3, sqlparse, pytz, Jinja2, idna, chardet, certifi, asgiref, uritemplate, six, ruamel.yaml.clib, requests, pyrsistent, pyparsing, itypes, Django, coreschema, attrs, ruamel.yaml, redis, PyYAML, packaging, jsonschema, inflection, djangorestframework, coreapi, click, swagger-spec-validator, rq, prometheus-client, funcy, drf-yasg, django-js-asset, tablib, svgwrite, pycryptodome, psycopg2-binary, Pillow, netaddr, Markdown, gunicorn, django-timezone-field, django-taggit, django-tables2, django-rq, django-prometheus, django-pglocks, django-mptt, django-filter, django-debug-toolbar, django-cors-headers, django-cacheops
Successfully installed Django-3.2.2 Jinja2-2.11.3 Markdown-3.3.4 MarkupSafe-1.1.1 Pillow-8.2.0 PyYAML-5.4.1 asgiref-3.3.4 attrs-21.2.0 certifi-2020.12.5 chardet-4.0.0 click-7.1.2 coreapi-2.3.3 coreschema-0.0.4 django-cacheops-6.0 django-cors-headers-3.7.0 django-debug-toolbar-3.2.1 django-filter-2.4.0 django-js-asset-1.2.2 django-mptt-0.12.0 django-pglocks-1.0.4 django-prometheus-2.1.0 django-rq-2.4.1 django-tables2-2.3.4 django-taggit-1.4.0 django-timezone-field-4.1.2 djangorestframework-3.12.4 drf-yasg-1.20.0 funcy-1.15 gunicorn-20.1.0 idna-2.10 inflection-0.5.1 itypes-1.2.0 jsonschema-3.2.0 netaddr-0.8.0 packaging-20.9 prometheus-client-0.10.1 psycopg2-binary-2.8.6 pycryptodome-3.10.1 pyparsing-2.4.7 pyrsistent-0.17.3 pytz-2021.1 redis-3.5.3 requests-2.25.1 rq-1.8.0 ruamel.yaml-0.17.4 ruamel.yaml.clib-0.2.2 six-1.16.0 sqlparse-0.4.1 svgwrite-1.4.1 swagger-spec-validator-2.7.3 tablib-3.0.0 uritemplate-3.0.1 urllib3-1.26.4
Installing local dependencies (pip install -r local_requirements.txt)...
Collecting napalm
  Using cached napalm-3.2.0-py2.py3-none-any.whl (230 kB)
Collecting django-auth-ldap
  Using cached django_auth_ldap-2.4.0-py3-none-any.whl (20 kB)
Collecting junos-eznc>=2.2.1
  Using cached junos_eznc-2.6.0-py2.py3-none-any.whl (195 kB)
Requirement already satisfied: jinja2 in ./venv/lib/python3.8/site-packages (from napalm->-r local_requirements.txt (line 1)) (2.11.3)
Collecting scp
  Using cached scp-0.13.3-py2.py3-none-any.whl (8.2 kB)
Requirement already satisfied: setuptools>=38.4.0 in ./venv/lib/python3.8/site-packages (from napalm->-r local_requirements.txt (line 1)) (41.6.0)
Collecting textfsm
  Using cached textfsm-1.1.0-py2.py3-none-any.whl (37 kB)
Requirement already satisfied: netaddr in ./venv/lib/python3.8/site-packages (from napalm->-r local_requirements.txt (line 1)) (0.8.0)
Requirement already satisfied: pyYAML in ./venv/lib/python3.8/site-packages (from napalm->-r local_requirements.txt (line 1)) (5.4.1)
Requirement already satisfied: requests>=2.7.0 in ./venv/lib/python3.8/site-packages (from napalm->-r local_requirements.txt (line 1)) (2.25.1)
Collecting netmiko>=3.1.0
  Using cached netmiko-3.4.0-py3-none-any.whl (178 kB)
Collecting paramiko>=2.6.0
  Using cached paramiko-2.7.2-py2.py3-none-any.whl (206 kB)
Collecting ciscoconfparse
  Using cached ciscoconfparse-1.5.30-py3-none-any.whl (94 kB)
Collecting future
  Using cached future-0.18.2-py3-none-any.whl
Collecting pyeapi>=0.8.2
  Using cached pyeapi-0.8.4-py3-none-any.whl
Collecting cffi>=1.11.3
  Using cached cffi-1.14.5-cp38-cp38-manylinux1_x86_64.whl (411 kB)
Collecting lxml>=4.3.0
  Using cached lxml-4.6.3-cp38-cp38-manylinux2014_x86_64.whl (6.8 MB)
Collecting pycparser
  Using cached pycparser-2.20-py2.py3-none-any.whl (112 kB)
Requirement already satisfied: six in ./venv/lib/python3.8/site-packages (from junos-eznc>=2.2.1->napalm->-r local_requirements.txt (line 1)) (1.16.0)
Collecting pyserial
  Using cached pyserial-3.5-py2.py3-none-any.whl (90 kB)
Collecting ncclient==0.6.9
  Using cached ncclient-0.6.9-py2.py3-none-any.whl
Requirement already satisfied: pyparsing in ./venv/lib/python3.8/site-packages (from junos-eznc>=2.2.1->napalm->-r local_requirements.txt (line 1)) (2.4.7)
Collecting yamlordereddictloader
  Using cached yamlordereddictloader-0.4.0-py3-none-any.whl
Collecting transitions
  Using cached transitions-0.8.8-py2.py3-none-any.whl (82 kB)
Requirement already satisfied: MarkupSafe>=0.23 in ./venv/lib/python3.8/site-packages (from jinja2->napalm->-r local_requirements.txt (line 1)) (1.1.1)
Collecting tenacity
  Using cached tenacity-7.0.0-py2.py3-none-any.whl (23 kB)
Collecting ntc-templates
  Using cached ntc_templates-2.0.0-py3-none-any.whl (280 kB)
Collecting cryptography>=2.5
  Using cached cryptography-3.4.7-cp36-abi3-manylinux2014_x86_64.whl (3.2 MB)
Collecting bcrypt>=3.1.3
  Using cached bcrypt-3.2.0-cp36-abi3-manylinux2010_x86_64.whl (63 kB)
Collecting pynacl>=1.0.1
  Using cached PyNaCl-1.4.0-cp35-abi3-manylinux1_x86_64.whl (961 kB)
Requirement already satisfied: idna<3,>=2.5 in ./venv/lib/python3.8/site-packages (from requests>=2.7.0->napalm->-r local_requirements.txt (line 1)) (2.10)
Requirement already satisfied: certifi>=2017.4.17 in ./venv/lib/python3.8/site-packages (from requests>=2.7.0->napalm->-r local_requirements.txt (line 1)) (2020.12.5)
Requirement already satisfied: urllib3<1.27,>=1.21.1 in ./venv/lib/python3.8/site-packages (from requests>=2.7.0->napalm->-r local_requirements.txt (line 1)) (1.26.4)
Requirement already satisfied: chardet<5,>=3.0.2 in ./venv/lib/python3.8/site-packages (from requests>=2.7.0->napalm->-r local_requirements.txt (line 1)) (4.0.0)
Collecting python-ldap>=3.1
  Using cached python_ldap-3.3.1-cp38-cp38-linux_x86_64.whl
Requirement already satisfied: Django>=2.2 in ./venv/lib/python3.8/site-packages (from django-auth-ldap->-r local_requirements.txt (line 2)) (3.2.2)
Requirement already satisfied: pytz in ./venv/lib/python3.8/site-packages (from Django>=2.2->django-auth-ldap->-r local_requirements.txt (line 2)) (2021.1)
Requirement already satisfied: sqlparse>=0.2.2 in ./venv/lib/python3.8/site-packages (from Django>=2.2->django-auth-ldap->-r local_requirements.txt (line 2)) (0.4.1)
Requirement already satisfied: asgiref<4,>=3.3.2 in ./venv/lib/python3.8/site-packages (from Django>=2.2->django-auth-ldap->-r local_requirements.txt (line 2)) (3.3.4)
Collecting pyasn1>=0.3.7
  Using cached pyasn1-0.4.8-py2.py3-none-any.whl (77 kB)
Collecting pyasn1-modules>=0.1.5
  Using cached pyasn1_modules-0.2.8-py2.py3-none-any.whl (155 kB)
Collecting passlib
  Using cached passlib-1.7.4-py2.py3-none-any.whl (525 kB)
Collecting colorama
  Using cached colorama-0.4.4-py2.py3-none-any.whl (16 kB)
Collecting dnspython
  Using cached dnspython-2.1.0-py3-none-any.whl (241 kB)
Installing collected packages: pycparser, cffi, pynacl, future, cryptography, bcrypt, textfsm, pyasn1, paramiko, lxml, yamlordereddictloader, transitions, tenacity, scp, pyserial, pyasn1-modules, passlib, ntc-templates, ncclient, dnspython, colorama, python-ldap, pyeapi, netmiko, junos-eznc, ciscoconfparse, napalm, django-auth-ldap
Successfully installed bcrypt-3.2.0 cffi-1.14.5 ciscoconfparse-1.5.30 colorama-0.4.4 cryptography-3.4.7 django-auth-ldap-2.4.0 dnspython-2.1.0 future-0.18.2 junos-eznc-2.6.0 lxml-4.6.3 napalm-3.2.0 ncclient-0.6.9 netmiko-3.4.0 ntc-templates-2.0.0 paramiko-2.7.2 passlib-1.7.4 pyasn1-0.4.8 pyasn1-modules-0.2.8 pycparser-2.20 pyeapi-0.8.4 pynacl-1.4.0 pyserial-3.5 python-ldap-3.3.1 scp-0.13.3 tenacity-7.0.0 textfsm-1.1.0 transitions-0.8.8 yamlordereddictloader-0.4.0
Applying database migrations (python3 netbox/manage.py migrate)...
Operations to perform:
  Apply all migrations: admin, auth, circuits, contenttypes, dcim, extras, ipam, secrets, sessions, taggit, tenancy, users, virtualization
Running migrations:
  No migrations to apply.
Checking for missing cable paths (python3 netbox/manage.py trace_paths --no-input)...
Found no missing console port paths; skipping
Found no missing console server port paths; skipping
Found no missing interface paths; skipping
Found no missing power feed paths; skipping
Found no missing power outlet paths; skipping
Found no missing power port paths; skipping
Finished.
Collecting static files (python3 netbox/manage.py collectstatic --no-input)...

202 static files copied to '/opt/netbox/netbox/static', 755 unmodified.
Removing stale content types (python3 netbox/manage.py remove_stale_contenttypes --no-input)...
Removing expired user sessions (python3 netbox/manage.py clearsessions)...
Clearing cache data (python3 netbox/manage.py invalidate all)...
Upgrade complete! Don't forget to restart the NetBox services:
  > sudo systemctl restart netbox netbox-rq


My local requirements:

[marin@www-00 netbox]$ cat local_requirements.txt
napalm
django-auth-ldap

And the venv package list:

(venv) [marin@www-00 netbox]$ pip list

Package                Version
---------------------- ---------
asgiref                3.3.4
attrs                  21.2.0
bcrypt                 3.2.0
certifi                2020.12.5
cffi                   1.14.5
chardet                4.0.0
ciscoconfparse         1.5.30
click                  7.1.2
colorama               0.4.4
coreapi                2.3.3
coreschema             0.0.4
cryptography           3.4.7
Django                 3.2.2
django-auth-ldap       2.4.0

django-cacheops        6.0
django-cors-headers    3.7.0
django-debug-toolbar   3.2.1
django-filter          2.4.0
django-js-asset        1.2.2
django-mptt            0.12.0
django-pglocks         1.0.4
django-prometheus      2.1.0
django-rq              2.4.1
django-tables2         2.3.4
django-taggit          1.4.0
django-timezone-field  4.1.2
djangorestframework    3.12.4
dnspython              2.1.0
drf-yasg               1.20.0
funcy                  1.15
future                 0.18.2
gunicorn               20.1.0
idna                   2.10
inflection             0.5.1
itypes                 1.2.0
Jinja2                 2.11.3
jsonschema             3.2.0
junos-eznc             2.6.0
lxml                   4.6.3
Markdown               3.3.4
MarkupSafe             1.1.1
napalm                 3.2.0
ncclient               0.6.9
netaddr                0.8.0
netmiko                3.4.0
ntc-templates          2.0.0
packaging              20.9
paramiko               2.7.2
passlib                1.7.4
Pillow                 8.2.0
pip                    21.1.1
prometheus-client      0.10.1
psycopg2-binary        2.8.6
pyasn1                 0.4.8
pyasn1-modules         0.2.8

pycparser              2.20
pycryptodome           3.10.1
pyeapi                 0.8.4
PyNaCl                 1.4.0
pyparsing              2.4.7
pyrsistent             0.17.3
pyserial               3.5
python-ldap            3.3.1

pytz                   2021.1
PyYAML                 5.4.1
redis                  3.5.3
requests               2.25.1
rq                     1.8.0
ruamel.yaml            0.17.4
ruamel.yaml.clib       0.2.2
scp                    0.13.3
setuptools             41.6.0

six                    1.16.0
sqlparse               0.4.1
svgwrite               1.4.1
swagger-spec-validator 2.7.3
tablib                 3.0.0
tenacity               7.0.0
textfsm                1.1.0
transitions            0.8.8
uritemplate            3.0.1
urllib3                1.26.4
wheel                  0.36.2
yamlordereddictloader  0.4.0


If we ignore packages coming from our local requirements, all packages have the same version except setuptools (mine is more recent). That's very strange!

Marin Bernard

unread,
May 8, 2021, 2:13:08 AM5/8/21
to NetBox
Well, I just wanted to let you know that after a good night of sleep, my NetBox instance is working again. I didn't do anything more than yesterday: I just sat back to my desk, hit F5 — and error no more.

I suppose the most likely explanation would be some invalid cached data, either in Redis, in HAProxy (our reverse proxy) or in the browser, but this remains odd to me.

Thanks for you help Brian, and sorry for the noise.

Genius Dev

unread,
May 11, 2021, 11:27:29 PM5/11/21
to Marin Bernard, NetBox
Please note that some errors result often from the version of packages we install .Try to pip install the requirements file again to see .Thanks

--
You received this message because you are subscribed to the Google Groups "NetBox" group.
To unsubscribe from this group and stop receiving emails from it, send an email to netbox-discus...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/netbox-discuss/84f1ef2e-53fd-4629-8218-0e306bd87534n%40googlegroups.com.

Brian Candler

unread,
May 12, 2021, 4:30:06 AM5/12/21
to NetBox
Don't pip install the requirements file unless you know exactly what you're doing (i.e. you've activated the virtualenv)

Better just to re-run the ./upgrade.sh script, which creates a fresh venv and installs the packages correctly.
Reply all
Reply to author
Forward
0 new messages