-
Notifications
You must be signed in to change notification settings - Fork 2.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Integrity Error thrown when dealing with Front/Rear Console Ports on patch panels #3018
Comments
I've only used octopus cables with Cisco console servers, but in IOS an octopus cable appears as 8 separate interfaces/console ports anyway. For a 16 port line card, the interface numbers went 1-16 so the octopus cable wasn't significant in this way. I've just treated my octopus cables, as 8 individual cables although I think I created them before "cables" were a thing in netbox anyway. |
The stated point of netbox is to model the physical world though. In the real world, I take a (for example) Cisco 2911 ISR and stick 5 WICs into it. Each WIC gives me 2 physical ports. I then run a cable over to the back of my patch panel (in this example, a GLD Group 32 Port Async Octal Panel). That plugs into 2 ports on the back of that device, providing me with 16 ports (8 per port, 4 rear ports). That takes up space on my racks, and I need to be able to track those cables. Yes, it does show up as 16 ports on the 2911, but that doesn't help me model the real world, especially when that patch panel is sitting a rack over from the 2911. The example I'm attempting to model is only octopus-like, it's not the same. Also, I just tested and this bug is still present in 2.5.9 |
NetBox does not support modeling breakout cables. When multiple front ports are mapped to a single rear port, the rear port must have a peer that breaks them back out into individual front ports. In your case, you'll need to model the console server ports as individual ports (which they are, just sharing a common cable). However, NetBox should be returning a validation error instead of raising an exception. I'm marking this as a bug because the exception needs to be caught. |
Posting a traceback for future reference:
|
Oh sure, I totally understand that. The report was just on the bug, and the fact that it still created the cable in spite of the exception. That said, might be worth considering adding that as a feature in the future, since the breakout is actually happening on a totally different box in a totally different rack. The only way to model this successfully and have it NOT throw errors is to basically make up a bunch of ports that don't exist and consequently a bunch of cables running from those ports to the patch panel...which is a great deal away from modeling the real world in this scenario. |
That's what you have to do. It's a limitation of Netbox's data model that there is a forced 1:1 relationship between "physical port" and "logical interface / console server connection", because they are modelled as the same data entity. Therefore, if you have a physical connector carrying 8 console connections, you need to create 8 "console server ports", which are connected to the relevant destinations. Imagine 8 separate cables, where at one end you've tied them all together with an elastic band. This bundling of 8 interfaces to 1 physical connector is something that Netbox cannot model today. This problem occurs the other way round too, where one logical interface presents as multiple physical ports. For example, I have some switches where some of the interfaces have two physical ports, RJ45 and SFP; you can connect to either one. On the front they might be labelled say "48T" and "48F". But in the system configuration, there is only a single logical interface, "1/0/48". |
Environment
Steps to Reproduce
Expected Behavior
Expected it to let me create the cable and to show it connected in an octopus-like cable pattern to the console server
Observed Behavior
Cable is still created, but when viewed from device 2 it shows the green 'Connected' but still displays as 'Not Connected'
![example](https://user-images.githubusercontent.com/16243975/54635555-aac6dd80-4a41-11e9-8c8e-a7fe0a0528e1.png)
The text was updated successfully, but these errors were encountered: