-
Notifications
You must be signed in to change notification settings - Fork 2.6k
Common Issues
- ProgrammingError Exception Following a Recent Upgrade
- 502 Bad Gateway Error When Calling NAPALM API
- Rack Elevations Do Not Display
Django (the Python framework on which NetBox runs) is attempt to access or modify a database field which doesn't exist. The full exception class is django.db.utils.ProgrammingError
.
This is most commonly happens when new code is being run without first applying the necessary database migrations. Migrations are normally handled by the included upgrade script, but you can try applying them manually with the command python3 manage.py migrate
. If this command indicates that new migrations have been applied successfully, try accessing NetBox again.
NetBox is using NAPALM to request information from a device, but the WSGI process is timing out before the device responds.
You can increase the timeout of the WSGI process so that it waits longer for the device to respond. For example, you can set timeout=60
in your Gunicorn configuration file. (Gunicorn's default timeout is 30 seconds.) Keep in mind that there's also a timeout value controlled by your HTTP daemon (e.g. nginx or Apache), which determines how long it will wait for a response from the WSGI service. This timeout must be equal to or greater than the WSGI timeout.
NetBox makes two requests to its REST API to render the front and rear elevations of a rack. You can try fetching these SVG images directly by requesting /api/dcim/racks/XXX/elevation/?render=svg
, where XXX is the rack's database ID.
If the direct API call is successful but the images don't appear on the rack page, it's likely that your HTTP server is setting the X-Frame-Options
header to DENY
. You can inspect the headers of the response by opening your browser's developer tools (F12 in Firefox/Chrome) and inspecting the initial request for the rack page. X-Frame-Options
should be set to SAMEORIGIN
.
Inspect the configuration of your HTTP daemon (e.g. nginx or Apache) and remove any statements which statically set the X-Frame-Options
header.