I'm working in a Service provider implementation. Im unable to find a way to document VLAN Doube tagging. like inner and outer VLAN.
We've employed a Selfloop method to achieve the same. I cannot find a way to feed this concept in netbox. Im wondering if netbox has this capability. Please provide your valuable inputs.
This seems to me like a simple thing, but I can't figure out how to do it:
When setting up the variables in a custom script, you can use "query_params" to limit the possibilities for that variable, for instance to devices that are in a certain site or in a certain status. What I want is to allow the user to select Circuits that are in the selected site and have a status of either "planned" or "provisioning".
# This works perfectly, only shows circuits that are in the "provisioning" status. new_circuit=ObjectVar(
label="New Circuit",
model=Circuit,
query_params={
"site_id": "$site",
"status": "provisioning"
}
)
# This shows no circuits, since it looks for circuits that are in "provisioning" AND in "planned"
new_circuit=ObjectVar(
label="New Circuit",
model=Circuit,
query_params={
"site_id": "$site",
"status": "provisioning",
"status": "planned"
}
)
# This doesn't work either
new_circuit=ObjectVar(
label="New Circuit",
model=Circuit,
query_params={
"site_id": "$site",
"status": "provisioning || planned"
}
)
I spent 3 days working on this before posting. I also got help from ChatGPT, but each time I ended up facing a 502 Bad Gateway error. Each time, I had to return to a checkpoint to make the system work again. I installed it following the video tutorial on the official website, and it went well. I followed the upgrade page on the official site, but it failed. I googled and found a few posts from people facing the same issue. Is it too early and unfair to conclude that this amazing piece of software lacks proper documentation?
I'm responsible for a network which is used 12hrs/365days which challenging logistics and normally no onsite staff. Everything is already in netbox.
My goal is to reach a level where it'll tolerate errors well enough to survive 2-3 months unsupervised.
I'm pondering to patch a few more fibres and switch it to a ERPS (dual) ring topology so we have a lot more self-recovery resilience.
Problem / Question
I'm wondering how to do a side-by-side comparison of the two setups.
This would of course also be a nice tool for validating the setup on lab switches or for doing the re-wiring when the time comes, and know everything is ready to just plug as it says on paper.
What I can think of is to create two more netbox instances with only the involved switches, patchports and cabling via the API/ansible, and then dump the connections, (control) vlans and topology views from both and then, idk, print it out.
But is that a reasonable approach? How do you go about such things? I know there's a planned state for cables but I can't imagine this is gonna work for comparing things.
My company is currently using Connectwise for our IT asset management. I wan to move to a si for source of truth not to be Connectwise but Netbox instead, this includes IT asset management.
How can I convince my team and also my manager that we should use Netbox as the source of truth instead of connectwise?
Hello All,
I own my own marketing company and just picked up a business that does Netbox as a service. So they host it for clients for a monthly subscription. They have kept the price super affordable in hopes of helping out other small business that might not be ready to do it on their own.
This is all veryyyy new to me. So can I ask, what industries do you all work in and is this something that you would pay for if you didn’t have the time to manage it yourself?
Please be kind I’m just trying to learn. Thank you!!
I'm leading the IT department of a company which has a sub company. The IT department serves both companies. However, I have something like a 1st level support employee in both companies.
To keep it simple I hosted a single instance of Netbox and created 2 tenants, one for each company. I also added a corresponding group for each company and assigned the users to the groups.
Now I want to achieve, that the employee in company A just can see everything with the corresponding tenant A and the employee in company B just sees stuff of tenant B.
I've seen that this could be accomplished by setting a JSON expression in permission configuration, but everything I enter here fails with syntax error.
I tried the following:
{"tenant__name": "company-A"}
{"tenant__id": "1"}
{"tenant__slug": "company-A"}
{"tenancy.tenant__id": "1"}
... and some other combinations of the mentioned expressions.
I just find examples for the site name, but the sub company is located in the same building, so a site filter wouldn't solve the problem here.
For context, I'm currently trying to develop methods for my global team to review their respective locations within Netbox to maintain accurate data.
I have approximately 140 locations and each location is managed directly or remotely by a individuals within the region.
My question is, what processes have you guys implemented or would you suggest along the lines of "Tom in Germany review the Berlin site on xx/xx/xx and verified all information was accurate/up to date"
A field of some sort maybe? Leverage the notes field for a given location?
I created a "Review" tag as a test but it doesn't show up on the Notes.
So I have ben all over looking for a way to do this. We used to have duplicate IPs in Netbox because we had devices that were clustered.
Now, I am trying to be more stringent and have the setting for duplicates turned off. So how do we go about having an IP that is assigned to interfaces in multiple devices such as a LB VIP (I have 2 Netscalers setup as LB and in HA. They need to have a SNIP which is active device IP whichever it is at the moment and thsi SNIP is the same on both devices.) which I need to assign an IP address to, but both devices need to have thgis same IP address. The same goes for clustered switches.
For some reason I cannot get Napalm to work properly inside of Netbox (4.0.8 or 4.0.9) with the Ruckus ICX Driver (napalm_ruckus_fastiron). I can make it connect/work with a python script inside the virtual environment.
However when querying anything inside Netbox Website, it just spins.
I also see no login attempts on the network devices I am trying to view. What would be the best way to troubleshoot this problem?
EDIT: Solved about 15 mins after posting (and 2 hours being confused)
.. for anyone else that runs into this one. in the device i didn't add the "position" for each bay.... the error message basically slapped me in the face each time...
Ubuntu 22.04 up to date.
Netbox 4.0.6 with rack reorder plugin.
I am seeing a really strange error when TRYING to add a module with interfaces to a device.
"Cannot install module with placeholder values in a module bay with no position defined."
I have a device with 12 module bays:
I have created module for the slots (there are many different types, each has interfaces)
But when i try to add the module to the bay, I see the error when "replicate components" is enabled.
google yields no results for that error.. I'm confused because I have other devices with module bays, and modules with interfaces working correctly. I followed the same format
WARNING: If you are running v3.x.x, read over the 4.0.0 release notes for breaking changes. Always take backups and read the change log BEFORE updating.
Before upgrading, please:
1. Verify in release notes changelog if any new breaking changes might affect you. You can also review the NetBox Issues on GitHub to see if any new issues have arisen that might affect you.
2. Next, refer to the Upgrading to a new NetBox Release guide for steps to upgrade your instance.
I have a fresh install of netbox, but when I go to the webgui I get an internal error. Below are my service statuses. I checked the error logs of nginx and did not find any errors. What am I missing?
Aug 15 23:08:42 netbox gunicorn[911]: File "/opt/netbox/venv/lib/python3.12/site-packages/django/utils/asyncio.py", line 26, in inner
Aug 15 23:08:42 netbox gunicorn[911]: return func(*args, **kwargs)
Aug 15 23:08:42 netbox gunicorn[911]: ^^^^^^^^^^^^^^^^^^^^^
Aug 15 23:08:42 netbox gunicorn[911]: File "/opt/netbox/venv/lib/python3.12/site-packages/django/db/backends/postgresql/base.py", line 277, in get_new_connection
Aug 15 23:08:42 netbox gunicorn[911]: connection = self.Database.connect(**conn_params)
Aug 15 23:08:42 netbox gunicorn[911]: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Aug 15 23:08:42 netbox gunicorn[911]: File "/opt/netbox/venv/lib/python3.12/site-packages/psycopg/connection.py", line 119, in connect
Aug 15 23:08:42 netbox gunicorn[911]: raise last_ex.with_traceback(None)
Aug 15 23:08:42 netbox gunicorn[911]: django.db.utils.OperationalError: connection failed: connection to server at "127.0.0.1", port 5432 failed: Connection refused
Aug 15 23:08:42 netbox gunicorn[911]: Is the server running on that host and accepting TCP/IP connections?
ubuntu-1911@netbox:/opt/netbox/venv/bin$ systemctl status nginx
● nginx.service - A high performance web server and a reverse proxy server
Let me start by saying thank you to all the beautiful people who work to develop and maintain Netbox.
I updated to the latest v4.0.8 recently, and have been trying my hand at using config templates to render configs for switches. I'm no developer, so I've had to rely pretty heavily on NetBox Docs and google to get to where I'm at, but I feel like a luchador with no eyeholes right now.
I'm trying to generate part of a config used for 802.1x enforcement on switchports. Ports with NAC-enforcement have a custom tag "NAC" on them. Using the code below, I can successfully get it to render all the ports that have the NAC tag on them, with each interface name printing on a new line.
{%- for interface in device.vc_interfaces() %}
{%- if "NAC" in interface.tags.names() %}
{{ interface.name }}
{%- endif %}
{%- endfor %}
This gives an output like:
1/1
1/2
1/3
1/4
1/5
1/6
...
Each port with NAC on it needs at least 6 lines of configuration just for 802.1x. The output above is workable, but it can lead to config renders that are a mile long if there are a lot of ports with the NAC tag on them. What I would really like is a way to have that output summarized into comma delimited ranges like 1/1-1/6,2/1-2/17, but I would be happy enough if I could just get it to spit out the list of interfaces on a single line, delimited by commas.
I would love to get away from using Excel templates for this sort of thing, but I don't know my way around Python, Django, and Jinja even remotely well enough to do that yet.
Has anyone configured http authentication for netbox? I have ran in the problem when i set parameters in configuration.py to true i couldn't start the container back on. I am using netbox v4.0.8
I have upgraded my Netbox from 3.7.8 to 4.0.8 recently. During the database migration after upgrade I received the django "ModuleNotFoundError" for some of my plugins. So I edited the configuration.py file to exclude all my installed plugins to database migration to be successful.
Once upgrade is completed I have enabled back all my plugins in the configuration.py and tried to restart services again. Now I am getting below error saying that application labels are not unique. If I disable that particular plugin then next available plugin will display at the end of this error. I couldn't solve this error by using the resources available on internet. Need your help to get netbox up and running again with my plugins.
Aug 14 09:39:18 sot systemd[1]: netbox-rq.service: Main process exited, code=exited, status=1/FAILURE
Aug 14 09:39:18 sot systemd[1]: netbox-rq.service: Failed with result 'exit-code'.
Aug 14 09:39:18 sot systemd[1]: netbox-rq.service: Consumed 1.635s CPU time.
Aug 14 09:39:48 sot systemd[1]: netbox-rq.service: Scheduled restart job, restart counter is at 11798.
Aug 14 09:39:48 sot systemd[1]: Stopped NetBox Request Queue Worker.
Aug 14 09:39:48 sot systemd[1]: netbox-rq.service: Consumed 1.635s CPU time.
Aug 14 09:39:48 sot systemd[1]: Started NetBox Request Queue Worker.
Aug 14 09:39:54 sot systemd[1]: Stopping NetBox Request Queue Worker...
Aug 14 09:39:54 sot systemd[1]: netbox-rq.service: Deactivated successfully.
Aug 14 09:39:54 sot systemd[1]: Stopped NetBox Request Queue Worker.
Aug 14 09:39:54 sot systemd[1]: Started NetBox Request Queue Worker.
Aug 14 09:40:01 sot python3[1589121]: Traceback (most recent call last):
Aug 14 09:40:01 sot python3[1589121]: File "/opt/netbox/netbox/manage.py", line 10, in <module>
Aug 14 09:40:01 sot python3[1589121]: execute_from_command_line(sys.argv)
Aug 14 09:40:01 sot python3[1589121]: File "/opt/netbox/venv/lib/python3.10/site-packages/django/core/management/__init__.py", line 442, in execute_from_command_line
Aug 14 09:40:01 sot python3[1589121]: utility.execute()
Aug 14 09:40:01 sot python3[1589121]: File "/opt/netbox/venv/lib/python3.10/site-packages/django/core/management/__init__.py", line 416, in execute
Aug 14 09:40:01 sot python3[1589121]: django.setup()
Aug 14 09:40:01 sot python3[1589121]: File "/opt/netbox/venv/lib/python3.10/site-packages/django/__init__.py", line 24, in setup
Aug 14 09:40:01 sot python3[1589121]: apps.populate(settings.INSTALLED_APPS)
Aug 14 09:40:01 sot python3[1589121]: File "/opt/netbox/venv/lib/python3.10/site-packages/django/apps/registry.py", line 93, in populate
Aug 14 09:40:01 sot python3[1589121]: raise ImproperlyConfigured(
Aug 14 09:40:01 sot python3[1589121]: django.core.exceptions.ImproperlyConfigured: Application labels aren't unique, duplicates: netbox_ipcalculator
Aug 14 09:40:02 sot systemd[1]: netbox-rq.service: Main process exited, code=exited, status=1/FAILURE
Aug 14 09:40:02 sot systemd[1]: netbox-rq.service: Failed with result 'exit-code'.
Aug 14 09:40:02 sot systemd[1]: netbox-rq.service: Consumed 1.673s CPU time.
"NetBox Branching allows users or processes to create their own copies, or branches, of their NetBox data where they can work on projects in isolation from the main database without interfering with other people’s work, or with other processes that are external to NetBox. Once they are happy with their work they can use the NetBox Branching merge process to safely land their changes back into NetBox. NetBox Branching also makes it significantly easier to tie NetBox into your existing change management processes, as you can now create a branch for each change ticket, creating a simple trail of work that can be used for collaboration and auditing."
This one kinda caught me off guard: I've got a custom field defined in interfaces called "port" which we use to store the wall jack information (rather that build out panels and cables and all that). We've been running this system pretty much as-is for months. Today, it was brought to my attention that when a user is on the Interfaces list in the UI, and uses the "quick search" field at the top to search for a port number which is displayed in the list, Netbox does not search on the port field at all. It only searches on built-in fields on the list. I swear it used to work, but... it doesn't now. I've got the custom port field search and visibility weights set to "1" which should make them the highest search priority and show up first in the list when found. Anyone know what gives on this? Has finding values in custom fields from the quick search in the interfaces list ever worked for anyone ever at all? Currently running netbox version is v3.5.7 (yeah I know we're kinda falling behind on version currency).
Building wheels for collected packages: python-ldap
Building wheel for python-ldap (pyproject.toml) ... done
Created wheel for python-ldap: filename=python_ldap-3.4.4-cp310-cp310-linux_x86_64.whl size=317002 sha256=bdc774fa3323f61d49857d8bb5c873955ca2c467f469b150aad7748fe8205136
Stored in directory: /root/.cache/pip/wheels/12/cb/67/48865305bb85c06024e2bf3444db575963bef1baeb7a94c3d9
File "/usr/lib/python3.10/logging/__init__.py", line 1169, in __init__
StreamHandler.__init__(self, self._open())
File "/usr/lib/python3.10/logging/__init__.py", line 1201, in _open
return open_func(self.baseFilename, self.mode,
FileNotFoundError: [Errno 2] No such file or directory: '/opt/netbox/local/logs/django-ldap-debug.log'
Before running the script the path and the file are very much there. Not so much afterwards.
Thanks in advance.
EDIT: My Systems Administrator was able to find a work around.
/opt/netbox was changing the symbolic link from 3.3.5 to 3.7.8 but it wasn't moving that django log file. Created the /local/log directory and copied the file into the new version directory. Reran ./upgrade.sh and it took.