Migration of database from server running 2.9 to server running 3.07

1,699 views
Skip to first unread message

perdingus

unread,
Oct 21, 2021, 4:23:30 AM10/21/21
to NetBox
Good morning, I've experienced an error migrating the DB from a server running Netbox 2.9 to a server running 2.10. Here are the steps I took to migrate and the resultant error. Grateful if someone could shed some light on what I've done wrong.


Migration of database from Netbox 2.9 to 3.07

Netbox 2.9 ('old'
psql --version 10.15

Netbox 3.07 ('new')
psql --version 12.8

New installation of Netbox 3.07. Netbox 2.9 on an air-gapped system so cannot do an online upgrade (unless anyone can advise me how to edit the upgrade.sh script to enable me to upgrade from loacl packages...)

Steps taken on old version:
pg_dump --username netbox --password --host localhost netbox > netbox.sql
Then copied the resultant file to new installation.

Steps taken on new version:

Set the secret key in the configuration.py to the same value as the old server.
Stopped the netbox service
sudo -u postgres psql -c 'drop database netbox'
sudo -u postgres psql -c 'create database netbox'
sudo -u postgres psql -c 'grant all privileges on database netbox to netbox
sudo -u postgres psql netbox < netbox.sql
ran python3 manage.py from within the virtual enviroment (source /opt/netbox/venv/bin/activate)
restarted the netbox service.

Thanks in advance
Netbox Upgrade error.jpg

Brian Candler

unread,
Oct 21, 2021, 5:15:16 AM10/21/21
to NetBox
The problem is that you can't migrate directly from 2.9 to 3.0.  You have to migrate first to 2.11.x, then to 3.0.x.  This is called out in the release notes for 3.0:

In theory you're supposed to read all the release notes before upgrading:
but there are rather a lot of them!

Therefore I suggest you read just the release notes for the .0 patch release in each train.  In your case that's 2.10.0, 2.11.0 and 3.0.0

perdingus

unread,
Oct 21, 2021, 5:41:59 AM10/21/21
to NetBox
Thank you Brian, stupid error!

perdingus

unread,
Oct 21, 2021, 9:14:10 AM10/21/21
to NetBox
To anyone who stumbles across this post:

I had to migate from 2.9 to 2.11 to 3.0.0 and then to 3.0.7.
When i tried to migrate the DB from 2.11 to 3.0.7 I recieved exactly the same error as in my original post.
Thanks

Brian Candler

unread,
Oct 21, 2021, 10:25:54 AM10/21/21
to NetBox
As one step of the migration from 2.9 to 2.11, you will have run "./upgrade.sh" - and amongst other things, this applies database migrations (schema changes).

The same would be true as you upgraded from 2.11 to 3.0

One or both of those stages must have given an error, and *that's* the error you need to show so that we can help you diagnose the problem.  Or else you didn't run "./upgrade.sh" in which case that's your problem.

Christian Vo

unread,
Oct 21, 2021, 11:19:07 AM10/21/21
to Brian Candler, NetBox
my high level notes when I had to deal with this recently:

overall steps
upgrade to 2.11 (no issues)

install python3.8
set path for python3.8
export PYTHON

follow install guide and setup parallel directory,  re-pointing /opt/netbox to the new directory...
copy files..
copy contrib/gunicorn.py to /opt/netbox...
run upgrade script but make sure it's referencing python3.8
use debug environment to identify any outstanding errors... 


reddit forum also helped :)

--
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/9df8b450-d5c5-4105-b2d2-0938edd33433n%40googlegroups.com.
Message has been deleted

owup

unread,
Oct 22, 2021, 8:35:20 AM10/22/21
to NetBox
Hey Christian,
Great follow-up. I am currently building up a new Netbox server (server B) to replace our old Netbox server (server A). 
Would you recommend upgrading Server A (2.8.1) to 2.11 then exporting the settings to server B (3.0.8)? 
Did you experience any outage of Netbox during the upgrade?

Christian Vo

unread,
Oct 22, 2021, 10:20:24 AM10/22/21
to owup, NetBox
yes its a must do. no outages encountered =) 

On Fri, Oct 22, 2021, 5:20 AM owup <helpm...@gmail.com> wrote:
Hey Christian,
So your recommendation would be to upgrade from 2.9 (or 2.8 in my environment) to 2.11? 
Did you experience any outage of Netbox during the upgrade?

On Thursday, October 21, 2021 at 11:19:07 AM UTC-4 christ...@gmail.com wrote:

owup

unread,
Oct 22, 2021, 11:39:50 AM10/22/21
to NetBox
Cool beans, thank you. Can we use the upgrade method currently outlined for each iteration (2.8 -> 2.9 -> 2.10, etc)?

Brian Candler

unread,
Oct 22, 2021, 2:54:24 PM10/22/21
to NetBox
You could, but it's not needed.  Use the method once to go from 2.8 to 2.11, and then again from 2.11 to 3.0

If Netbox was installed from a git checkout (option B), and you are doing an in-place upgrade, then there's a trick to get the intermediate version in a temporary or "detached" branch:

sudo git pull
sudo git checkout v2.11.12
sudo ./upgrade.sh
sudo git checkout master
sudo ./upgrade.sh

owup

unread,
Oct 26, 2021, 8:41:30 PM10/26/21
to NetBox
Hi Brian,
It didn't work out well. After the upgrade, I got an 'Internal Server Error'. 
I searched the forums and ran a couple of commands you suggested:


[root@netbox ~]# systemctl status netbox
● netbox.service - NetBox WSGI Service
   Loaded: loaded (/etc/systemd/system/netbox.service; enabled; vendor preset: disabled)
   Active: active (running) since Tue 2021-10-26 16:56:24 PDT; 3min 9s ago
 Main PID: 7701 (gunicorn)
   CGroup: /system.slice/netbox.service
           ├─7701 /opt/netbox/venv/bin/python3 /opt/netbox/venv/bin/gunicorn --pid /var/tmp/netbox.pid --pythonpath /opt/...
           ├─7704 /opt/netbox/venv/bin/python3 /opt/netbox/venv/bin/gunicorn --pid /var/tmp/netbox.pid --pythonpath /opt/...
           ├─7717 /opt/netbox/venv/bin/python3 /opt/netbox/venv/bin/gunicorn --pid /var/tmp/netbox.pid --pythonpath /opt/...
           ├─7719 /opt/netbox/venv/bin/python3 /opt/netbox/venv/bin/gunicorn --pid /var/tmp/netbox.pid --pythonpath /opt/...
           ├─7724 /opt/netbox/venv/bin/python3 /opt/netbox/venv/bin/gunicorn --pid /var/tmp/netbox.pid --pythonpath /opt/...
           └─7726 /opt/netbox/venv/bin/python3 /opt/netbox/venv/bin/gunicorn --pid /var/tmp/netbox.pid --pythonpath /opt/...

Oct 26 16:57:57 netbox.local gunicorn[7701]: File "<frozen importlib._bootstrap>", line 971, in _find_and_load
Oct 26 16:57:57  netbox.local   gunicorn[7701]: File "<frozen importlib._bootstrap>", line 955, in _find_and_lo...ocked
Oct 26 16:57:57  netbox.local   gunicorn[7701]: File "<frozen importlib._bootstrap>", line 665, in _load_unlocked
Oct 26 16:57:57  netbox.local   gunicorn[7701]: File "<frozen importlib._bootstrap_external>", line 678, in exec_module
Oct 26 16:57:57  netbox.local   gunicorn[7701]: File "<frozen importlib._bootstrap>", line 219, in _call_with_f...moved
Oct 26 16:57:57  netbox.local   gunicorn[7701]: File "/opt/netbox/venv/lib64/python3.6/site-packages/django_rq/...dule>
Oct 26 16:57:57  netbox.local   gunicorn[7701]: from . import views
Oct 26 16:57:57 netbox.local   gunicorn[7701]: File "/opt/netbox/venv/lib64/python3.6/site-packages/django_rq/...dule>
Oct 26 16:57:57  netbox.local   gunicorn[7701]: from rq.exceptions import NoSuchJobError, UnpickleError
Oct 26 16:57:57  netbox.local   gunicorn[7701]: ImportError: cannot import name 'UnpickleError'
Hint: Some lines were ellipsized, use -l to show in full.
[root@netbox ~]# journalctl -eu netbox
Oct 26 16:57:57  netbox.local   gunicorn[7701]: response = handle_uncaught_exception(request, get_resolver(get_urlconf(
Oct 26 16:57:57  netbox.local   gunicorn[7701]: File "/opt/netbox/venv/lib64/python3.6/site-packages/django/core/handle
Oct 26 16:57:57  netbox.local   gunicorn[7701]: callback, param_dict = resolver.resolve_error_handler(500)
Oct 26 16:57:57  netbox.local   gunicorn[7701]: File "/opt/netbox/venv/lib64/python3.6/site-packages/django/urls/resolv
Oct 26 16:57:57  netbox.local   gunicorn[7701]: callback = getattr(self.urlconf_module, 'handler%s' % view_type, None)
Oct 26 16:57:57  netbox.local   gunicorn[7701]: File "/opt/netbox/venv/lib64/python3.6/site-packages/django/utils/funct
Oct 26 16:57:57  netbox.local   gunicorn[7701]: res = instance.__dict__[self.name] = self.func(instance)
Oct 26 16:57:57  netbox.local   gunicorn[7701]: File "/opt/netbox/venv/lib64/python3.6/site-packages/django/urls/resolv
Oct 26 16:57:57  netbox.local   gunicorn[7701]: return import_module(self.urlconf_name)
Oct 26 16:57:57  netbox.local   gunicorn[7701]: File "/usr/lib64/python3.6/importlib/__init__.py", line 126, in import_
Oct 26 16:57:57  netbox.local   gunicorn[7701]: return _bootstrap._gcd_import(name[level:], package, level)
Oct 26 16:57:57  netbox.local   gunicorn[7701]: File "<frozen importlib._bootstrap>", line 994, in _gcd_import
Oct 26 16:57:57  netbox.local   gunicorn[7701]: File "<frozen importlib._bootstrap>", line 971, in _find_and_load
Oct 26 16:57:57  netbox.local   gunicorn[7701]: File "<frozen importlib._bootstrap>", line 955, in _find_and_load_unloc
Oct 26 16:57:57  netbox.local   gunicorn[7701]: File "<frozen importlib._bootstrap>", line 665, in _load_unlocked
Oct 26 16:57:57  netbox.local   gunicorn[7701]: File "<frozen importlib._bootstrap_external>", line 678, in exec_module
Oct 26 16:57:57  netbox.local   gunicorn[7701]: File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_re
Oct 26 16:57:57  netbox.local   gunicorn[7701]: File "/opt/netbox/netbox/netbox/urls.py", line 78, in <module>
Oct 26 16:57:57  netbox.local   gunicorn[7701]: path('admin/background-tasks/', include('django_rq.urls')),
Oct 26 16:57:57  netbox.local   gunicorn[7701]: File "/opt/netbox/venv/lib64/python3.6/site-packages/django/urls/conf.p
Oct 26 16:57:57  netbox.local   gunicorn[7701]: urlconf_module = import_module(urlconf_module)
Oct 26 16:57:57  netbox.local   gunicorn[7701]: File "/usr/lib64/python3.6/importlib/__init__.py", line 126, in import_
Oct 26 16:57:57  netbox.local   gunicorn[7701]: return _bootstrap._gcd_import(name[level:], package, level)
Oct 26 16:57:57  netbox.local   gunicorn[7701]: File "<frozen importlib._bootstrap>", line 994, in _gcd_import
Oct 26 16:57:57  netbox.local   gunicorn[7701]: File "<frozen importlib._bootstrap>", line 971, in _find_and_load
Oct 26 16:57:57  netbox.local   gunicorn[7701]: File "<frozen importlib._bootstrap>", line 955, in _find_and_load_unloc
Oct 26 16:57:57  netbox.local   gunicorn[7701]: File "<frozen importlib._bootstrap>", line 665, in _load_unlocked
Oct 26 16:57:57  netbox.local   gunicorn[7701]: File "<frozen importlib._bootstrap_external>", line 678, in exec_module
Oct 26 16:57:57  netbox.local   gunicorn[7701]: File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_re
Oct 26 16:57:57  netbox.local   gunicorn[7701]: File "/opt/netbox/venv/lib64/python3.6/site-packages/django_rq/urls.py"
Oct 26 16:57:57  netbox.local   gunicorn[7701]: from . import views
Oct 26 16:57:57  netbox.local   gunicorn[7701]: File "/opt/netbox/venv/lib64/python3.6/site-packages/django_rq/views.py
Oct 26 16:57:57  netbox.local   gunicorn[7701]: from rq.exceptions import NoSuchJobError, UnpickleError
Oct 26 16:57:57  netbox.local   gunicorn[7701]: ImportError: cannot import name 'UnpickleError'

I noticed it kept referencing python 3.6. I did update python to 3.8.1 and ran this command:  sudo PYTHON=/usr/bin/python3.8.1 ./upgrade.sh
Was I supposed to do that within the Netbox environment? If so, how do I do that? I am a novice with Linux so I am learning on the fly. 

Also, this is a CentOS server. The replacement server is an Ubuntu server but I have to upgrade the existing CentOS server to 3.0 before I can migrate over to the Ubuntu server. 

owup

unread,
Oct 26, 2021, 8:58:47 PM10/26/21
to NetBox
This is going to be embarrassing:

I ran option A for the upgrade. Should I have gone w/ option B? How do I know the original installation was a git pull? I did try running the upgrade again using the above suggested

sudo git pull
sudo git checkout v2.11.12
sudo ./upgrade.sh
sudo git checkout master
sudo ./upgrade.sh

but it errored out. I assume that means it wasn't a git install?

owup

unread,
Oct 26, 2021, 10:35:30 PM10/26/21
to NetBox
Adding a little more info during the upgrade proccess:

Successfully installed django-auth-ldap-3.0.0 pyasn1-0.4.8 pyasn1-modules-0.2.8 python-ldap-3.3.1
You are using pip version 9.0.3, however version 21.3.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
Applying database migrations (python3 netbox/manage.py migrate)...
Traceback (most recent call last):
  File "/opt/netbox/venv/lib64/python3.6/site-packages/django/template/utils.py", line 66, in __getitem__
    return self._engines[alias]
KeyError: 'django'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/opt/netbox/venv/lib64/python3.6/site-packages/django/template/backends/django.py", line 121, in get_package_libraries
    module = import_module(entry[1])
  File "/usr/lib64/python3.6/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 994, in _gcd_import
  File "<frozen importlib._bootstrap>", line 971, in _find_and_load
  File "<frozen importlib._bootstrap>", line 955, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 665, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 678, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "/opt/netbox/venv/lib64/python3.6/site-packages/django_rq/templatetags/django_rq.py", line 4, in <module>
    from rq.exceptions import UnpickleError
ImportError: cannot import name 'UnpickleError'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "netbox/manage.py", line 10, in <module>
    execute_from_command_line(sys.argv)
  File "/opt/netbox/venv/lib64/python3.6/site-packages/django/core/management/__init__.py", line 401, in execute_from_command_line
    utility.execute()
  File "/opt/netbox/venv/lib64/python3.6/site-packages/django/core/management/__init__.py", line 395, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/opt/netbox/venv/lib64/python3.6/site-packages/django/core/management/base.py", line 328, in run_from_argv
    self.execute(*args, **cmd_options)
  File "/opt/netbox/venv/lib64/python3.6/site-packages/django/core/management/base.py", line 366, in execute
    self.check()
  File "/opt/netbox/venv/lib64/python3.6/site-packages/django/core/management/base.py", line 395, in check
    include_deployment_checks=include_deployment_checks,
  File "/opt/netbox/venv/lib64/python3.6/site-packages/django/core/management/commands/migrate.py", line 64, in _run_checks
    issues.extend(super()._run_checks(**kwargs))
  File "/opt/netbox/venv/lib64/python3.6/site-packages/django/core/management/base.py", line 382, in _run_checks
    return checks.run_checks(**kwargs)
  File "/opt/netbox/venv/lib64/python3.6/site-packages/django/core/checks/registry.py", line 72, in run_checks
    new_errors = check(app_configs=app_configs)
  File "/opt/netbox/venv/lib64/python3.6/site-packages/django/contrib/admin/checks.py", line 76, in check_dependencies
    for engine in engines.all():
  File "/opt/netbox/venv/lib64/python3.6/site-packages/django/template/utils.py", line 90, in all
    return [self[alias] for alias in self]
  File "/opt/netbox/venv/lib64/python3.6/site-packages/django/template/utils.py", line 90, in <listcomp>
    return [self[alias] for alias in self]
  File "/opt/netbox/venv/lib64/python3.6/site-packages/django/template/utils.py", line 81, in __getitem__
    engine = engine_cls(params)
  File "/opt/netbox/venv/lib64/python3.6/site-packages/django/template/backends/django.py", line 25, in __init__
    options['libraries'] = self.get_templatetag_libraries(libraries)
  File "/opt/netbox/venv/lib64/python3.6/site-packages/django/template/backends/django.py", line 43, in get_templatetag_libraries
    libraries = get_installed_libraries()
  File "/opt/netbox/venv/lib64/python3.6/site-packages/django/template/backends/django.py", line 108, in get_installed_libraries
    for name in get_package_libraries(pkg):
  File "/opt/netbox/venv/lib64/python3.6/site-packages/django/template/backends/django.py", line 125, in get_package_libraries
    "trying to load '%s': %s" % (entry[1], e)
django.template.library.InvalidTemplateLibrary: Invalid template library specified. ImportError raised when trying to load 'django_rq.templatetags.django_rq': cannot import name 'UnpickleError'

Brian Candler

unread,
Oct 27, 2021, 1:23:30 PM10/27/21
to NetBox
When you say "After the upgrade", do you mean to 2.11 or to 3.0?  At exactly which point did you see this, what were the two previous commands you had typed?

> File "/opt/netbox/venv/lib64/python3.6/site-packages/django/template/backends/django.py", line 25, in __init__

You are apparently running Netbox under python 3.6, which will work for 2.11 but not for 3.0

owup

unread,
Oct 27, 2021, 2:00:01 PM10/27/21
to NetBox
Hi Brian,
Thanks again for the follow-up. 

I meant 2.11. After restarting the NetBox service and getting the 'Internal Service Error,' I attempted the upgrade process again to 2.11 using Option B w/o success (I guess that means the original build wasn't a git pull).  
Since python 3.6 will work for the 2.8 to 2.11 upgrade, I guess it isn't a python error. Do you know what else it could be? 

Brian Candler

unread,
Oct 28, 2021, 3:16:43 AM10/28/21
to NetBox
|   File "/opt/netbox/venv/lib64/python3.6/site-packages/django_rq/templatetags/django_rq.py", line 4, in <module>
|     from rq.exceptions import UnpickleError
| ImportError: cannot import name 'UnpickleError'

Somebody else reported the same problem recently, and for them the solution was to edit requirements.txt to specify an older version of django-rq.  See:

It's becoming difficult to install older versions of Netbox, because Netbox doesn't pin ("freeze") its dependency tree.  A version of netbox which installed successfully at time T1, may not work if you try to install the exact same version at later time T2, because in the mean time newer versions of the indirect dependencies have come out which are not compatible.  I've seen this several times now.

However, I haven't seen it before with anything as recent as 2.11.  Which exact version of 2.11 are you using?  Is it 2.11.12 or an older one?  And also could you confirm what OS type and version you're installing netbox on?  This will make the issue easier to reproduce.

I wonder if Jeremy might reconsider the decision not to use "pip freeze". That would make netbox installations reproducible, and remain so over time.

owup

unread,
Oct 28, 2021, 3:53:14 PM10/28/21
to NetBox
Good afternoon,
Brian - thank you again for your follow-up. It has been so much appreciated.

I can report back w/ more details tonight but I am pretty sure this is accurate:

OS: CentOS 7
Netbox current version: 2.8.1
Netbox attempting to upgrade to: 2.11.12

What I did previously - upgrades:

Python to v3.9 
PostgreSQL (none - already at 9.6)
Redis to v6.2

The CentOS system is is a system I inherited. 
I have built a replacement system with Ubuntu 20.04. 
I am trying to upgrade the existing system to 2.11 so I can move the database over to the new Ubuntu system (documenting along the way of course!). 

I will hopefully get a chance to update the requirement.txt tonight, attempt the upgrade, and will report back then. Thank you again!

owup

unread,
Oct 28, 2021, 10:56:50 PM10/28/21
to NetBox
Editing requirements.txt to django-rq==2.3.2 allowed the upgrade to complete w/o erroring out but the version number didn't change on the web interface. 
I modified requirements.txt in /opt/netbox. 
Maybe I should have made that change everywhere (/opt/netbox; /opt/netbox-2.8.1; /opt/netbox-2.11.12) but I think I'm getting closer. 

owup

unread,
Oct 29, 2021, 7:29:08 PM10/29/21
to NetBox
I almost feel I should rehash everything...so I will, haha.

I'm having issues upgrading from 2.8.1 to 2.11.12.
OS: CentOS 7

Initially had issues with the upgrade script completing.
This was resolved by editing /opt/netbox/requirements.txt and changing the line django-rq==2.3.1  to django-rq==2.3.2

I reran the upgrade process doing the following from the root directory of the VM:

sudo tar -xzf v2.11.12.tar.gz -C /opt
sudo ln -sfn /opt/netbox-2.11.12/ /opt/netbox

sudo cp /opt/netbox-2.11.12/local_requirements.txt /opt/netbox/
sudo cp /opt/netbox-2.11.12/netbox/netbox/configuration.py /opt/netbox/netbox/netbox/
sudo cp /opt/netbox-2.11.12/netbox/netbox/ldap_config.py /opt/netbox/netbox/netbox/

sudo cp -pr /opt/netbox-2.11.12/netbox/media/ /opt/netbox/netbox/
sudo cp -r /opt/netbox-2.11.12/netbox/scripts /opt/netbox/netbox/
sudo cp -r /opt/netbox-2.11.12/netbox/reports /opt/netbox/netbox/
sudo cp /opt/netbox-2.11.12/gunicorn.py /opt/netbox/

from /opt/netbox of the VM, I ran:

sudo ./upgrade.sh

This was the output:
.....
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.
Collecting static files (python3 netbox/manage.py collectstatic --no-input)...

207 static files copied to '/opt/netbox/netbox/static', 770 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:
 
I restarted the netbox service:

sudo systemctl restart netbox netbox-rq

I checked the version number from the web server and it still shows 2.8.1. My assumption is the upgrade didn't take place. 

I searched the forums and a user suggested (https://groups.google.com/g/netbox-discuss/c/zY6LQnox5hQ) running the following to determine the status of the migration:

[root@netbox netbox]# python3 manage.py showmigrations

This was the output: 

admin
 [X] 0001_initial
 [X] 0002_logentry_remove_auto_add
 [X] 0003_logentry_add_action_flag_choices
auth
 [X] 0001_initial
 [X] 0002_alter_permission_name_max_length
 [X] 0003_alter_user_email_max_length
 [X] 0004_alter_user_username_opts
 [X] 0005_alter_user_last_login_null
 [X] 0006_require_contenttypes_0002
 [X] 0007_alter_validators_add_error_messages
 [X] 0008_alter_user_username_max_length
 [X] 0009_alter_user_last_name_max_length
 [X] 0010_alter_group_name_max_length
 [X] 0011_update_proxy_permissions
circuits
 [X] 0001_initial_squashed_0006_terminations (6 squashed migrations)
 [X] 0007_circuit_add_description_squashed_0017_circuittype_description (11 squashed migrations)
 [X] 0008_standardize_description
contenttypes
 [X] 0001_initial
 [X] 0002_remove_content_type_name
dcim
 [X] 0001_initial
 [X] 0002_auto_20160622_1821
 [X] 0003_auto_20160628_1721_squashed_0010_devicebay_installed_device_set_null (8 squashed migrations)
 [X] 0011_devicetype_part_number_squashed_0022_color_names_to_rgb (12 squashed migrations)
 [X] 0023_devicetype_comments_squashed_0043_device_component_name_lengths (21 squashed migrations)
 [X] 0044_virtualization_squashed_0061_platform_napalm_args (18 squashed migrations)
 [X] 0062_interface_mtu_squashed_0065_front_rear_ports (4 squashed migrations)
 [X] 0066_cables
 [X] 0067_device_type_remove_qualifiers_squashed_0070_custom_tag_models (4 squashed migrations)
 [X] 0071_device_components_add_description
 [X] 0072_powerfeeds
 [X] 0073_interface_form_factor_to_type
 [X] 0074_increase_field_length_platform_name_slug
 [X] 0075_cable_devices
 [X] 0076_console_port_types
 [X] 0077_power_types
 [X] 0078_3569_site_fields
 [X] 0079_3569_rack_fields
 [X] 0080_3569_devicetype_fields
 [X] 0081_3569_device_fields
 [X] 0082_3569_interface_fields
 [X] 0082_3569_port_fields
 [X] 0083_3569_cable_fields
 [X] 0084_3569_powerfeed_fields
 [X] 0085_3569_poweroutlet_fields
 [X] 0086_device_name_nonunique
 [X] 0087_role_descriptions
 [X] 0088_powerfeed_available_power
 [X] 0089_deterministic_ordering
 [X] 0090_cable_termination_models
 [X] 0091_interface_type_other
 [X] 0092_fix_rack_outer_unit
 [X] 0093_device_component_ordering
 [X] 0094_device_component_template_ordering
 [X] 0095_primary_model_ordering
 [X] 0096_interface_ordering
 [X] 0097_interfacetemplate_type_other
 [X] 0098_devicetype_images
 [X] 0099_powerfeed_negative_voltage
 [X] 0100_mptt_remove_indexes
 [X] 0101_nested_rackgroups
 [X] 0102_nested_rackgroups_rebuild
 [X] 0103_standardize_description
 [X] 0104_correct_infiniband_types
 [X] 0105_interface_name_collation
extras
 [X] 0001_initial_squashed_0013_objectchange (13 squashed migrations)
 [X] 0014_configcontexts_squashed_0019_tag_taggeditem (6 squashed migrations)
 [X] 0020_tag_data_squashed_0021_add_color_comments_changelog_to_tag (2 squashed migrations)
 [X] 0022_custom_links_squashed_0034_configcontext_tags (13 squashed migrations)
 [X] 0035_deterministic_ordering
 [X] 0036_contenttype_filters_to_q_objects
 [X] 0037_configcontexts_clusters
 [X] 0038_webhook_template_support
 [X] 0039_update_features_content_types
 [X] 0040_standardize_description
 [X] 0041_tag_description
ipam
 [X] 0001_initial
 [X] 0002_vrf_add_enforce_unique
 [X] 0003_ipam_add_vlangroups_squashed_0011_rir_add_is_private (9 squashed migrations)
 [X] 0012_services_squashed_0018_remove_service_uniqueness_constraint (7 squashed migrations)
 [X] 0019_virtualization_squashed_0020_ipaddress_add_role_carp (2 squashed migrations)
 [X] 0021_vrf_ordering_squashed_0025_custom_tag_models (5 squashed migrations)
 [X] 0026_prefix_ordering_vrf_nulls_first_squashed_0032_role_description (7 squashed migrations)
 [X] 0033_deterministic_ordering
 [X] 0034_fix_ipaddress_status_dhcp
 [X] 0035_drop_ip_family
 [X] 0036_standardize_description
secrets
 [X] 0001_initial_squashed_0006_custom_tag_models (6 squashed migrations)
 [X] 0007_secretrole_description
 [X] 0008_standardize_description
sessions
 [X] 0001_initial
taggit
 [X] 0001_initial
 [X] 0002_auto_20150616_2121
 [X] 0003_taggeditem_add_unique_index
tenancy
 [X] 0001_initial_squashed_0005_change_logging (5 squashed migrations)
 [X] 0006_custom_tag_models
 [X] 0007_nested_tenantgroups
 [X] 0008_nested_tenantgroups_rebuild
 [X] 0009_standardize_description
users
 [X] 0001_api_tokens_squashed_0003_token_permissions (3 squashed migrations)
 [X] 0002_standardize_description
virtualization
 [X] 0001_virtualization
 [X] 0002_virtualmachine_add_status_squashed_0009_custom_tag_models (8 squashed migrations)
 [X] 0010_cluster_add_tenant_squashed_0012_vm_name_nonunique (3 squashed migrations)
 [X] 0013_deterministic_ordering
 [X] 0014_standardize_description

I'm wondering - 
  1. Can I upgrade from 2.8.1 to 2.11.12
  2. If not, what is the upgrade path to get from 2.8.1 to 2.11.x (and ultimately, 3.x.x)
  3. If yes, what might I have overlooked above?
If it helps, after the "upgrade", the Netbox appliance is fully accessible.

justi...@gmail.com

unread,
Nov 1, 2021, 7:20:54 PM11/1/21
to NetBox
I see no reason you can't upgrade from 2.8 to 2.11.  Just to validate, what does "ls -la /opt" show you?

owup

unread,
Nov 3, 2021, 10:46:50 AM11/3/21
to NetBox
Hi,
This is the output I received:

drwxr-xr-x.  9 root root  117 Oct 29 15:53 .
dr-xr-xr-x. 18 root root  261 Nov 29  2020 ..
drwxr-xr-x   2 root root    6 Jan 19  2021 carbonblack
drwxr-xr-x   3 root root   17 Jun 29 14:29 cisco
drwxr-xr-x. 11 root root 4096 Oct 29 16:01 netbox
drwxrwxr-x   7 root root  299 Aug 23 12:36 netbox-2.11.12



Reply all
Reply to author
Forward
0 new messages