mirror of
https://github.com/netbox-community/netbox.git
synced 2026-01-11 21:10:29 +01:00
Ability to assign management IP to a virtual chassis #5587
Closed
opened 2025-12-29 19:29:48 +01:00 by adam
·
11 comments
No Branch/Tag Specified
main
update-changelog-comments-docs
feature-removal-issue-type
20911-dropdown
20239-plugin-menu-classes-mutable-state
21097-graphql-id-lookups
feature
fix_module_substitution
20923-dcim-templates
20044-elevation-stuck-lightmode
feature-ip-prefix-link
v4.5-beta1-release
20068-import-moduletype-attrs
20766-fix-german-translation-code-literals
20378-del-script
7604-filter-modifiers-v3
circuit-swap
12318-case-insensitive-uniqueness
20637-improve-device-q-filter
20660-script-load
19724-graphql
20614-update-ruff
14884-script
02496-max-page
19720-macaddress-interface-generic-relation
19408-circuit-terminations-export-templates
20203-openapi-check
fix-19669-api-image-download
7604-filter-modifiers
19275-fixes-interface-bulk-edit
fix-17794-get_field_value_return_list
11507-show-aggregate-and-rir-on-api
9583-add_column_specific_search_field_to_tables
v4.5.0
v4.4.10
v4.4.9
v4.5.0-beta1
v4.4.8
v4.4.7
v4.4.6
v4.4.5
v4.4.4
v4.4.3
v4.4.2
v4.4.1
v4.4.0
v4.3.7
v4.4.0-beta1
v4.3.6
v4.3.5
v4.3.4
v4.3.3
v4.3.2
v4.3.1
v4.3.0
v4.2.9
v4.3.0-beta2
v4.2.8
v4.3.0-beta1
v4.2.7
v4.2.6
v4.2.5
v4.2.4
v4.2.3
v4.2.2
v4.2.1
v4.2.0
v4.1.11
v4.1.10
v4.1.9
v4.1.8
v4.2-beta1
v4.1.7
v4.1.6
v4.1.5
v4.1.4
v4.1.3
v4.1.2
v4.1.1
v4.1.0
v4.0.11
v4.0.10
v4.0.9
v4.1-beta1
v4.0.8
v4.0.7
v4.0.6
v4.0.5
v4.0.3
v4.0.2
v4.0.1
v4.0.0
v3.7.8
v3.7.7
v4.0-beta2
v3.7.6
v3.7.5
v4.0-beta1
v3.7.4
v3.7.3
v3.7.2
v3.7.1
v3.7.0
v3.6.9
v3.6.8
v3.6.7
v3.7-beta1
v3.6.6
v3.6.5
v3.6.4
v3.6.3
v3.6.2
v3.6.1
v3.6.0
v3.5.9
v3.6-beta2
v3.5.8
v3.6-beta1
v3.5.7
v3.5.6
v3.5.5
v3.5.4
v3.5.3
v3.5.2
v3.5.1
v3.5.0
v3.4.10
v3.4.9
v3.5-beta2
v3.4.8
v3.5-beta1
v3.4.7
v3.4.6
v3.4.5
v3.4.4
v3.4.3
v3.4.2
v3.4.1
v3.4.0
v3.3.10
v3.3.9
v3.4-beta1
v3.3.8
v3.3.7
v3.3.6
v3.3.5
v3.3.4
v3.3.3
v3.3.2
v3.3.1
v3.3.0
v3.2.9
v3.2.8
v3.3-beta2
v3.2.7
v3.3-beta1
v3.2.6
v3.2.5
v3.2.4
v3.2.3
v3.2.2
v3.2.1
v3.2.0
v3.1.11
v3.1.10
v3.2-beta2
v3.1.9
v3.2-beta1
v3.1.8
v3.1.7
v3.1.6
v3.1.5
v3.1.4
v3.1.3
v3.1.2
v3.1.1
v3.1.0
v3.0.12
v3.0.11
v3.0.10
v3.1-beta1
v3.0.9
v3.0.8
v3.0.7
v3.0.6
v3.0.5
v3.0.4
v3.0.3
v3.0.2
v3.0.1
v3.0.0
v2.11.12
v3.0-beta2
v2.11.11
v2.11.10
v3.0-beta1
v2.11.9
v2.11.8
v2.11.7
v2.11.6
v2.11.5
v2.11.4
v2.11.3
v2.11.2
v2.11.1
v2.11.0
v2.10.10
v2.10.9
v2.11-beta1
v2.10.8
v2.10.7
v2.10.6
v2.10.5
v2.10.4
v2.10.3
v2.10.2
v2.10.1
v2.10.0
v2.9.11
v2.10-beta2
v2.9.10
v2.10-beta1
v2.9.9
v2.9.8
v2.9.7
v2.9.6
v2.9.5
v2.9.4
v2.9.3
v2.9.2
v2.9.1
v2.9.0
v2.9-beta2
v2.8.9
v2.9-beta1
v2.8.8
v2.8.7
v2.8.6
v2.8.5
v2.8.4
v2.8.3
v2.8.2
v2.8.1
v2.8.0
v2.7.12
v2.7.11
v2.7.10
v2.7.9
v2.7.8
v2.7.7
v2.7.6
v2.7.5
v2.7.4
v2.7.3
v2.7.2
v2.7.1
v2.7.0
v2.6.12
v2.6.11
v2.6.10
v2.6.9
v2.7-beta1
Solcon-2020-01-06
v2.6.8
v2.6.7
v2.6.6
v2.6.5
v2.6.4
v2.6.3
v2.6.2
v2.6.1
v2.6.0
v2.5.13
v2.5.12
v2.6-beta1
v2.5.11
v2.5.10
v2.5.9
v2.5.8
v2.5.7
v2.5.6
v2.5.5
v2.5.4
v2.5.3
v2.5.2
v2.5.1
v2.5.0
v2.4.9
v2.5-beta2
v2.4.8
v2.5-beta1
v2.4.7
v2.4.6
v2.4.5
v2.4.4
v2.4.3
v2.4.2
v2.4.1
v2.4.0
v2.3.7
v2.4-beta1
v2.3.6
v2.3.5
v2.3.4
v2.3.3
v2.3.2
v2.3.1
v2.3.0
v2.2.10
v2.3-beta2
v2.2.9
v2.3-beta1
v2.2.8
v2.2.7
v2.2.6
v2.2.5
v2.2.4
v2.2.3
v2.2.2
v2.2.1
v2.2.0
v2.1.6
v2.2-beta2
v2.1.5
v2.2-beta1
v2.1.4
v2.1.3
v2.1.2
v2.1.1
v2.1.0
v2.0.10
v2.1-beta1
v2.0.9
v2.0.8
v2.0.7
v2.0.6
v2.0.5
v2.0.4
v2.0.3
v2.0.2
v2.0.1
v2.0.0
v2.0-beta3
v1.9.6
v1.9.5
v2.0-beta2
v1.9.4-r1
v1.9.3
v2.0-beta1
v1.9.2
v1.9.1
v1.9.0-r1
v1.8.4
v1.8.3
v1.8.2
v1.8.1
v1.8.0
v1.7.3
v1.7.2-r1
v1.7.1
v1.7.0
v1.6.3
v1.6.2-r1
v1.6.1-r1
1.6.1
v1.6.0
v1.5.2
v1.5.1
v1.5.0
v1.4.2
v1.4.1
v1.4.0
v1.3.2
v1.3.1
v1.3.0
v1.2.2
v1.2.1
v1.2.0
v1.1.0
v1.0.7-r1
v1.0.7
v1.0.6
v1.0.5
v1.0.4
v1.0.3-r1
v1.0.3
1.0.0
Labels
Clear labels
beta
breaking change
complexity: high
complexity: low
complexity: medium
needs milestone
netbox
pending closure
plugin candidate
pull-request
severity: high
severity: low
severity: medium
status: accepted
status: backlog
status: blocked
status: duplicate
status: needs owner
status: needs triage
status: revisions needed
status: under review
topic: GraphQL
topic: Internationalization
topic: OpenAPI
topic: UI/UX
topic: cabling
topic: event rules
topic: htmx navigation
topic: industrialization
topic: migrations
topic: plugins
topic: scripts
topic: templating
topic: testing
type: bug
type: deprecation
type: documentation
type: feature
type: housekeeping
type: translation
Mirrored from GitHub Pull Request
Milestone
No items
No Milestone
Projects
Clear projects
No project
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: starred/netbox#5587
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @jasonyates on GitHub (Oct 29, 2021).
NetBox version
3.0.8
Feature type
Data model extension
Proposed functionality
We have a large number of Cisco Catalyst switches in our environment that are typically "stacked". A stacked switch has 1 management plane but multiple physical devices. We currently model these with a virtual chassis and X many members. E.g.
Virtual Chassis: office-switch1
Member: office-switch1-1
Member: office-switch1-2
Member: office-switch1-3
The "problem" we face is that because these switches have 1 management plane they have 1 IP address for management which is typically configured as a loopback. We currently assign the management IP to the primary member which means the other members sit in the inventory with no IP displayed.
It would be useful to allow the virtual chassis to be assigned a management IP and then have child members inherit that IP.
Use case
Expanding the functionality of a virtual chassis to allow more real world modelling of Cisco "stack" switches.
Database changes
No response
External dependencies
No response
@bluikko commented on GitHub (Oct 31, 2021):
To take this further: not only management IP address could be assigned to a virtual chassis but also virtual (loopback, VLAN/"SVI") interfaces & IP addresses in general?
@jeremystretch commented on GitHub (Nov 1, 2021):
This is the purpose of designating a master device for the virtual chassis: The master device becomes representative of the virtual chassis, which is the best approximation we can achieve, as that is how a virtual chassis functions in the real world. the "chassis" itself has no resources.
@jasonyates commented on GitHub (Nov 1, 2021):
@jeremystretch As an example, here's one of my stack switches. Management IP is assigned to a loopback "owned" by the master switch.
In the inventory the other child members show no IP, despite them being managed by the same management IP as the master, however we don't manage the switch by its inventory name, we manage it via the virtual chassis name. If I look at the virtual chassis, it doesn't show anything other than the assigned members.
Could the child members inherit the management IP from the master to display in the inventory along with the virtual chassis?
@jeremystretch commented on GitHub (Nov 1, 2021):
The other VC members show no IP address because they're managed by the master. This is by design. Consider your proposal further: Suppose a user searches NetBox for a non-master VC member named switch03 and sees a management IP address assigned to it. But when they SSH to that IP expecting switch03, they find switch01 (the VC master). That would be rather confusing.
In a virtual chassis, there typically is no direct way of accessing a non-VC member, as all management plane functionality is handled by the master. (Otherwise it would defeat the purpose of configuring a VC in the first place.) All management is done via the master, which is why only the master shows a management IP address.
@jasonyates commented on GitHub (Nov 1, 2021):
I agree the above situation could be confusing. However right now if I were to search for switch03 as I'm looking to SSH to it, I have to dig in to the virtual chassis section to find the master and look at that device to get the management IP. One could argue that is equally as confusing.
Would it not make usage easier if under the management section (and in the device list), assuming you don't have a management IP configured for that member, it shows the IP address of the master, perhaps highlighted in some way to indicate it's "inherited" as part of the virtual chassis?
Additionally along the same lines, when you view the virtual chassis object I would have to locate the master in order to obtain the management IP.
@jeremystretch commented on GitHub (Nov 1, 2021):
I disagree. Your screenshot above clearly shows the VC assignment for the member device.
As I said, VC members have no management capability, and thus display no management IP address. IMO the clear indication of VC membership is sufficient, and most closely models the real world.
@DanSheps commented on GitHub (Nov 1, 2021):
@jasonyates
The Management and Control plane for 3850's is only on the "master". The Standby is in a sync state but does not control the members unless there is a failover event. The console port is likewise redirected through the stackwise ring to the master once the chassis comes up.
This is why the Virtual Chassis model is done the way it is (with the master having the IP/management interface and the members not having anything).
You should only be assigning the management resources to the VC master. You won't ever connect to VC members to perform any sort of management functions (unless they take over as master, which should only be a temporary event)
@jasonyates commented on GitHub (Nov 1, 2021):
@DanSheps I agree. I fully appreciate the master owns the management resources.
My point (perhaps poorly described by the use of the word "assign") is mainly that from a usability perspective having the VC model and/or the members at least SHOW the management IP assigned to the master would be useful to save additional clicks to get to the master to locate the management IP.
@mgoetze5 commented on GitHub (Nov 25, 2021):
Well, that is how a virtual chassis functions in the real world of stackable switches, perhaps. In the real world of clustered storage arrays, any node in the cluster could be the master, it's usually not configurable nor predictable (for instance it might change everytime you do a firmware upgrade). My solution has been to add a virtual 0 RMU master device to my virtual chassis where I can add virtual interfaces, but the better model for my case would be the ability to add interfaces directly to the virtual chassis model.
@github-actions[bot] commented on GitHub (Jan 25, 2022):
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. NetBox is governed by a small group of core maintainers which means not all opened issues may receive direct feedback. Please see our contributing guide.
@github-actions[bot] commented on GitHub (Feb 24, 2022):
This issue has been automatically closed due to lack of activity. In an effort to reduce noise, please do not comment any further. Note that the core maintainers may elect to reopen this issue at a later date if deemed necessary.