Natural ordering issue (Cisco Nexus) #5139

Closed
opened 2025-12-29 19:24:44 +01:00 by adam · 6 comments
Owner

Originally created by @candlerb on GitHub (Aug 4, 2021).

NetBox version

v2.11.10

Python version

3.6

Steps to Reproduce

  1. Create a device (or device type)
  2. Add interfaces Ethernet1/[1-54], type SFP28
  3. Add interfaces Ethernet1/[49-54], type QSFP28
  4. Add interfaces Ethernet1/[49-53]/[1-4], type SFP28

This is representative of a Cisco Nexus 93180. There are 48 SFP28 ports and 6 QSFP28 ports. In the last step you've configured the first five of those as breakout to 10g-4x.

Expected Behavior

I expected interfaces to sort as:

  • Ethernet1/1
  • ...
  • Ethernet1/48
  • Ethernet1/49
  • Ethernet1/49/1
  • Ethernet1/49/2
  • Ethernet1/49/3
  • Ethernet1/49/4
  • Ethernet1/50
  • Ethernet1/50/1
  • Ethernet1/50/2
  • Ethernet1/50/3
  • Ethernet1/50/4
  • ...
  • Ethernet1/53/4
  • Ethernet1/54

Observed Behavior

Interfaces are shown in the following order:

  • Ethernet1/49/1
  • Ethernet1/49/2
  • Ethernet1/49/3
  • Ethernet1/49/4
  • Ethernet1/50/1
  • ...
  • Ethernet1/53/4
  • Ethernet1/1
  • Ethernet1/2
  • ...
  • Ethernet1/54

That is, all the breakout interfaces as shown before all the main interfaces (including the ports they are associated with).

This is how they are represented in the database:

netbox=# select id,name,_name from dcim_interface where device_id=1012;
  id  |      name      |                   _name
------+----------------+--------------------------------------------
 3813 | Ethernet1/1    | 0001999999999999Ethernet000001............
 3814 | Ethernet1/2    | 0001999999999999Ethernet000002............
 3815 | Ethernet1/3    | 0001999999999999Ethernet000003............
 3816 | Ethernet1/4    | 0001999999999999Ethernet000004............
 3817 | Ethernet1/5    | 0001999999999999Ethernet000005............
 3818 | Ethernet1/6    | 0001999999999999Ethernet000006............
 3819 | Ethernet1/7    | 0001999999999999Ethernet000007............
 3820 | Ethernet1/8    | 0001999999999999Ethernet000008............
 3821 | Ethernet1/9    | 0001999999999999Ethernet000009............
 3822 | Ethernet1/10   | 0001999999999999Ethernet000010............
 3823 | Ethernet1/11   | 0001999999999999Ethernet000011............
 3824 | Ethernet1/12   | 0001999999999999Ethernet000012............
 3825 | Ethernet1/13   | 0001999999999999Ethernet000013............
 3826 | Ethernet1/14   | 0001999999999999Ethernet000014............
 3827 | Ethernet1/15   | 0001999999999999Ethernet000015............
 3828 | Ethernet1/16   | 0001999999999999Ethernet000016............
 3829 | Ethernet1/17   | 0001999999999999Ethernet000017............
 3830 | Ethernet1/18   | 0001999999999999Ethernet000018............
 3831 | Ethernet1/19   | 0001999999999999Ethernet000019............
 3832 | Ethernet1/20   | 0001999999999999Ethernet000020............
 3833 | Ethernet1/21   | 0001999999999999Ethernet000021............
 3834 | Ethernet1/22   | 0001999999999999Ethernet000022............
 3835 | Ethernet1/23   | 0001999999999999Ethernet000023............
 3836 | Ethernet1/24   | 0001999999999999Ethernet000024............
 3837 | Ethernet1/25   | 0001999999999999Ethernet000025............
 3838 | Ethernet1/26   | 0001999999999999Ethernet000026............
 3839 | Ethernet1/27   | 0001999999999999Ethernet000027............
 3840 | Ethernet1/28   | 0001999999999999Ethernet000028............
 3841 | Ethernet1/29   | 0001999999999999Ethernet000029............
 3842 | Ethernet1/30   | 0001999999999999Ethernet000030............
 3843 | Ethernet1/31   | 0001999999999999Ethernet000031............
 3844 | Ethernet1/32   | 0001999999999999Ethernet000032............
 3845 | Ethernet1/33   | 0001999999999999Ethernet000033............
 3846 | Ethernet1/34   | 0001999999999999Ethernet000034............
 3847 | Ethernet1/35   | 0001999999999999Ethernet000035............
 3848 | Ethernet1/36   | 0001999999999999Ethernet000036............
 3849 | Ethernet1/37   | 0001999999999999Ethernet000037............
 3850 | Ethernet1/38   | 0001999999999999Ethernet000038............
 3851 | Ethernet1/39   | 0001999999999999Ethernet000039............
 3852 | Ethernet1/40   | 0001999999999999Ethernet000040............
 3853 | Ethernet1/41   | 0001999999999999Ethernet000041............
 3854 | Ethernet1/42   | 0001999999999999Ethernet000042............
 3855 | Ethernet1/43   | 0001999999999999Ethernet000043............
 3856 | Ethernet1/44   | 0001999999999999Ethernet000044............
 3857 | Ethernet1/45   | 0001999999999999Ethernet000045............
 3858 | Ethernet1/46   | 0001999999999999Ethernet000046............
 3859 | Ethernet1/47   | 0001999999999999Ethernet000047............
 3860 | Ethernet1/48   | 0001999999999999Ethernet000048............
 3861 | Ethernet1/49   | 0001999999999999Ethernet000049............
 3862 | Ethernet1/50   | 0001999999999999Ethernet000050............
 3863 | Ethernet1/51   | 0001999999999999Ethernet000051............
 3864 | Ethernet1/52   | 0001999999999999Ethernet000052............
 3865 | Ethernet1/53   | 0001999999999999Ethernet000053............
 3866 | Ethernet1/54   | 0001999999999999Ethernet000054............
 3867 | mgmt0          | 9999999999999999mgmt000000............
 3924 | Ethernet1/49/1 | 0001004999999999Ethernet000001............
 3925 | Ethernet1/49/2 | 0001004999999999Ethernet000002............
 3926 | Ethernet1/49/3 | 0001004999999999Ethernet000003............
 3927 | Ethernet1/49/4 | 0001004999999999Ethernet000004............
 3928 | Ethernet1/50/1 | 0001005099999999Ethernet000001............
 3929 | Ethernet1/50/2 | 0001005099999999Ethernet000002............
 3930 | Ethernet1/50/3 | 0001005099999999Ethernet000003............
 3931 | Ethernet1/50/4 | 0001005099999999Ethernet000004............
 3932 | Ethernet1/51/1 | 0001005199999999Ethernet000001............
 3933 | Ethernet1/51/2 | 0001005199999999Ethernet000002............
 3934 | Ethernet1/51/3 | 0001005199999999Ethernet000003............
 3935 | Ethernet1/51/4 | 0001005199999999Ethernet000004............
 3936 | Ethernet1/52/1 | 0001005299999999Ethernet000001............
 3937 | Ethernet1/52/2 | 0001005299999999Ethernet000002............
 3938 | Ethernet1/52/3 | 0001005299999999Ethernet000003............
 3939 | Ethernet1/52/4 | 0001005299999999Ethernet000004............
 3940 | Ethernet1/53/1 | 0001005399999999Ethernet000001............
 3941 | Ethernet1/53/2 | 0001005399999999Ethernet000002............
 3942 | Ethernet1/53/3 | 0001005399999999Ethernet000003............
 3943 | Ethernet1/53/4 | 0001005399999999Ethernet000004............
(75 rows)
Originally created by @candlerb on GitHub (Aug 4, 2021). ### NetBox version v2.11.10 ### Python version 3.6 ### Steps to Reproduce 1. Create a device (or device type) 2. Add interfaces `Ethernet1/[1-54]`, type SFP28 3. Add interfaces `Ethernet1/[49-54]`, type QSFP28 4. Add interfaces `Ethernet1/[49-53]/[1-4]`, type SFP28 This is representative of a Cisco Nexus 93180. There are 48 SFP28 ports and 6 QSFP28 ports. In the last step you've configured the first five of those as breakout to `10g-4x`. ### Expected Behavior I expected interfaces to sort as: * `Ethernet1/1` * ... * `Ethernet1/48` * `Ethernet1/49` * `Ethernet1/49/1` * `Ethernet1/49/2` * `Ethernet1/49/3` * `Ethernet1/49/4` * `Ethernet1/50` * `Ethernet1/50/1` * `Ethernet1/50/2` * `Ethernet1/50/3` * `Ethernet1/50/4` * ... * `Ethernet1/53/4` * `Ethernet1/54` ### Observed Behavior Interfaces are shown in the following order: * `Ethernet1/49/1` * `Ethernet1/49/2` * `Ethernet1/49/3` * `Ethernet1/49/4` * `Ethernet1/50/1` * ... * `Ethernet1/53/4` * `Ethernet1/1` * `Ethernet1/2` * ... * `Ethernet1/54` That is, all the breakout interfaces as shown before all the main interfaces (including the ports they are associated with). This is how they are represented in the database: ``` netbox=# select id,name,_name from dcim_interface where device_id=1012; id | name | _name ------+----------------+-------------------------------------------- 3813 | Ethernet1/1 | 0001999999999999Ethernet000001............ 3814 | Ethernet1/2 | 0001999999999999Ethernet000002............ 3815 | Ethernet1/3 | 0001999999999999Ethernet000003............ 3816 | Ethernet1/4 | 0001999999999999Ethernet000004............ 3817 | Ethernet1/5 | 0001999999999999Ethernet000005............ 3818 | Ethernet1/6 | 0001999999999999Ethernet000006............ 3819 | Ethernet1/7 | 0001999999999999Ethernet000007............ 3820 | Ethernet1/8 | 0001999999999999Ethernet000008............ 3821 | Ethernet1/9 | 0001999999999999Ethernet000009............ 3822 | Ethernet1/10 | 0001999999999999Ethernet000010............ 3823 | Ethernet1/11 | 0001999999999999Ethernet000011............ 3824 | Ethernet1/12 | 0001999999999999Ethernet000012............ 3825 | Ethernet1/13 | 0001999999999999Ethernet000013............ 3826 | Ethernet1/14 | 0001999999999999Ethernet000014............ 3827 | Ethernet1/15 | 0001999999999999Ethernet000015............ 3828 | Ethernet1/16 | 0001999999999999Ethernet000016............ 3829 | Ethernet1/17 | 0001999999999999Ethernet000017............ 3830 | Ethernet1/18 | 0001999999999999Ethernet000018............ 3831 | Ethernet1/19 | 0001999999999999Ethernet000019............ 3832 | Ethernet1/20 | 0001999999999999Ethernet000020............ 3833 | Ethernet1/21 | 0001999999999999Ethernet000021............ 3834 | Ethernet1/22 | 0001999999999999Ethernet000022............ 3835 | Ethernet1/23 | 0001999999999999Ethernet000023............ 3836 | Ethernet1/24 | 0001999999999999Ethernet000024............ 3837 | Ethernet1/25 | 0001999999999999Ethernet000025............ 3838 | Ethernet1/26 | 0001999999999999Ethernet000026............ 3839 | Ethernet1/27 | 0001999999999999Ethernet000027............ 3840 | Ethernet1/28 | 0001999999999999Ethernet000028............ 3841 | Ethernet1/29 | 0001999999999999Ethernet000029............ 3842 | Ethernet1/30 | 0001999999999999Ethernet000030............ 3843 | Ethernet1/31 | 0001999999999999Ethernet000031............ 3844 | Ethernet1/32 | 0001999999999999Ethernet000032............ 3845 | Ethernet1/33 | 0001999999999999Ethernet000033............ 3846 | Ethernet1/34 | 0001999999999999Ethernet000034............ 3847 | Ethernet1/35 | 0001999999999999Ethernet000035............ 3848 | Ethernet1/36 | 0001999999999999Ethernet000036............ 3849 | Ethernet1/37 | 0001999999999999Ethernet000037............ 3850 | Ethernet1/38 | 0001999999999999Ethernet000038............ 3851 | Ethernet1/39 | 0001999999999999Ethernet000039............ 3852 | Ethernet1/40 | 0001999999999999Ethernet000040............ 3853 | Ethernet1/41 | 0001999999999999Ethernet000041............ 3854 | Ethernet1/42 | 0001999999999999Ethernet000042............ 3855 | Ethernet1/43 | 0001999999999999Ethernet000043............ 3856 | Ethernet1/44 | 0001999999999999Ethernet000044............ 3857 | Ethernet1/45 | 0001999999999999Ethernet000045............ 3858 | Ethernet1/46 | 0001999999999999Ethernet000046............ 3859 | Ethernet1/47 | 0001999999999999Ethernet000047............ 3860 | Ethernet1/48 | 0001999999999999Ethernet000048............ 3861 | Ethernet1/49 | 0001999999999999Ethernet000049............ 3862 | Ethernet1/50 | 0001999999999999Ethernet000050............ 3863 | Ethernet1/51 | 0001999999999999Ethernet000051............ 3864 | Ethernet1/52 | 0001999999999999Ethernet000052............ 3865 | Ethernet1/53 | 0001999999999999Ethernet000053............ 3866 | Ethernet1/54 | 0001999999999999Ethernet000054............ 3867 | mgmt0 | 9999999999999999mgmt000000............ 3924 | Ethernet1/49/1 | 0001004999999999Ethernet000001............ 3925 | Ethernet1/49/2 | 0001004999999999Ethernet000002............ 3926 | Ethernet1/49/3 | 0001004999999999Ethernet000003............ 3927 | Ethernet1/49/4 | 0001004999999999Ethernet000004............ 3928 | Ethernet1/50/1 | 0001005099999999Ethernet000001............ 3929 | Ethernet1/50/2 | 0001005099999999Ethernet000002............ 3930 | Ethernet1/50/3 | 0001005099999999Ethernet000003............ 3931 | Ethernet1/50/4 | 0001005099999999Ethernet000004............ 3932 | Ethernet1/51/1 | 0001005199999999Ethernet000001............ 3933 | Ethernet1/51/2 | 0001005199999999Ethernet000002............ 3934 | Ethernet1/51/3 | 0001005199999999Ethernet000003............ 3935 | Ethernet1/51/4 | 0001005199999999Ethernet000004............ 3936 | Ethernet1/52/1 | 0001005299999999Ethernet000001............ 3937 | Ethernet1/52/2 | 0001005299999999Ethernet000002............ 3938 | Ethernet1/52/3 | 0001005299999999Ethernet000003............ 3939 | Ethernet1/52/4 | 0001005299999999Ethernet000004............ 3940 | Ethernet1/53/1 | 0001005399999999Ethernet000001............ 3941 | Ethernet1/53/2 | 0001005399999999Ethernet000002............ 3942 | Ethernet1/53/3 | 0001005399999999Ethernet000003............ 3943 | Ethernet1/53/4 | 0001005399999999Ethernet000004............ (75 rows) ```
adam added the type: bugstatus: needs ownerpending closure labels 2025-12-29 19:24:44 +01:00
adam closed this issue 2025-12-29 19:24:44 +01:00
Author
Owner

@jeremystretch commented on GitHub (Aug 12, 2021):

Marking this as open for volunteers, however it may be challenging to accomplish. Any proposed solutions would need to include a passing test for the above mentioned condition, and must not alter any of the existing tests under dcim.tests.test_natural_ordering.

@jeremystretch commented on GitHub (Aug 12, 2021): Marking this as open for volunteers, however it may be challenging to accomplish. Any proposed solutions would need to include a passing test for the above mentioned condition, and **must not** alter any of the existing tests under [`dcim.tests.test_natural_ordering`](https://github.com/netbox-community/netbox/blob/develop/netbox/dcim/tests/test_natural_ordering.py).
Author
Owner

@zombah commented on GitHub (Aug 13, 2021):

Maybe something like per platform custom ordering switch.
Create platform fe NX-OS, enable custom ordering there and add regexp strings
for required ordering.
If this is somehow possible it will suit all possible natural ordering
problems.

@zombah commented on GitHub (Aug 13, 2021): Maybe something like per platform custom ordering switch. Create platform fe NX-OS, enable custom ordering there and add regexp strings for required ordering. If this is somehow possible it will suit all possible natural ordering problems.
Author
Owner

@jeremystretch commented on GitHub (Aug 13, 2021):

@zombah we've tried that in past releases and it imposes a lot of problems.

@jeremystretch commented on GitHub (Aug 13, 2021): @zombah we've tried that in past releases and it imposes a lot of problems.
Author
Owner

@candlerb commented on GitHub (Aug 13, 2021):

Cross-reference older issues: #2134 #2872; and the existing code which naturalizes interface names is here. Note that there used to be an "interface ordering" option on the device type, but it has gone.

In #2872 I proposed an algorithm here which was simply to split all interface names into alternating string and numeric part. The first part is always a string, but may be empty. Then you get a part-by-part comparison like this:

>>> ["Gi", 1, "/", 0, "/", 24] < ["Te", 1, "/", 0, "/", 1]
True

This is certainly a very, very dumb algorithm, and it hard-codes no knowledge about vendor conventions. A trial implementation, complete with the Netbox unit tests, is here - I've just brought it up to date, although the tests haven't changed much.

Now, this fails on the junos and ios test cases.

  1. The junos test wants "xe-" to appear before "ae", "irb" and "lo". (Or perhaps it wants interfaces with three numeric parts to appear before those with one or two? There are not enough test case interfaces to make this clear)
  2. The ios test wants "FastEthernet" to appear at the end, after "GigabitEthernet" and "TenGigabitEthernet" (again it's not clear if this is because of the type, or because "FastEthernet1" has a single numeric component, while "GigabitEthernet0/1" has two; or because the first digit "1" is greater than "0")
  3. The test wants all XXX/0 interfaces to come before XXX/1 interfaces:
            'GigabitEthernet0/1',
            'GigabitEthernet0/2',
            'GigabitEthernet0/10',
            'TenGigabitEthernet0/20',
            'TenGigabitEthernet0/21',
            'GigabitEthernet1/1',
            'GigabitEthernet1/2',
            'GigabitEthernet1/10',
            'TenGigabitEthernet1/20',
            'TenGigabitEthernet1/21',

whereas mine puts all the GigabitEthernet interfaces before the TenGigabitEthernet interfaces.

I think the last one is the substantive point. I expect the reason is because the first number indicates the "line card" in Cisco terms, and if a line card has a mix of interface types you want to see them together. That's fair enough, although I think the test case would be clearer like this:

            'GigabitEthernet0/1',
            'GigabitEthernet0/2',
            'GigabitEthernet0/10',
            'TenGigabitEthernet0/1`,    << instead of 20
            'TenGigabitEthernet0/2',    << instead of 21

otherwise it's ambiguous whether the results are grouped because TenGigabit comes after Gigabit, or because 20 comes after 10.

What about these?

            'GigabitEthernet0/1',
            'GigabitEthernet0/1.100`,
            'GigabitEthernet0/1.200`,
            'GigabitEthernet0/1/0`,
            'GigabitEthernet0/1/1`,

I have tested this with Netbox 2.11.10, and I get:

GigabitEthernet0/1/0
GigabitEthernet0/1/1
GigabitEthernet0/1
GigabitEthernet0/1.100
GigabitEthernet0/1.200

(which is essentially the issue I'm reporting here with Nexus).

Anyway: it seems these approaches to sorting are not reconcilable without the user providing some extra information. So what I'm thinking is:

  1. Reinstate the "interface ordering" option on device type
  2. This points to one of N naturalize_interface functions which map name to _name. I think we need only two: the current one, and one which works better with non-IOS devices. However further ones could be added if necessary.
  3. If this setting changed on device type, a trigger needs to update _name on all devices of that type.

Aside: having both 0/0 and 0/0/0 can happen in real life even on IOS. Here's a 2901 that I have access to:

ix-rtr1#sh ip int br
Interface                  ...
Embedded-Service-Engine0/0 ...
GigabitEthernet0/0         ...
GigabitEthernet0/1         ...
GigabitEthernet0/0/0       ...

However these are three separate ports, 0/0/0 is not a sub-interface of 0/0.

@candlerb commented on GitHub (Aug 13, 2021): Cross-reference older issues: #2134 #2872; and the existing code which naturalizes interface names is [here](https://github.com/netbox-community/netbox/blob/v2.11.11/netbox/utilities/ordering.py#L46-L85). Note that there used to be an "interface ordering" option on the device type, but it has gone. In #2872 I proposed an algorithm [here](https://github.com/netbox-community/netbox/issues/2872#issuecomment-491279206) which was simply to split all interface names into alternating string and numeric part. The first part is always a string, but may be empty. Then you get a part-by-part comparison like this: ``` >>> ["Gi", 1, "/", 0, "/", 24] < ["Te", 1, "/", 0, "/", 1] True ``` This is certainly a very, very dumb algorithm, and it hard-codes no knowledge about vendor conventions. A trial implementation, complete with the Netbox unit tests, is [here](https://gist.github.com/candlerb/7456256993276fb44d1860d9e0927695) - I've just brought it up to date, although the tests haven't changed much. Now, this fails on the junos and ios test cases. 1. The junos test wants "xe-" to appear before "ae", "irb" and "lo". (Or perhaps it wants interfaces with three numeric parts to appear before those with one or two? There are not enough test case interfaces to make this clear) 2. The ios test wants "FastEthernet" to appear at the end, after "GigabitEthernet" and "TenGigabitEthernet" (again it's not clear if this is because of the type, or because "FastEthernet1" has a single numeric component, while "GigabitEthernet0/1" has two; or because the first digit "1" is greater than "0") 3. The test wants all XXX/0 interfaces to come before XXX/1 interfaces: ``` 'GigabitEthernet0/1', 'GigabitEthernet0/2', 'GigabitEthernet0/10', 'TenGigabitEthernet0/20', 'TenGigabitEthernet0/21', 'GigabitEthernet1/1', 'GigabitEthernet1/2', 'GigabitEthernet1/10', 'TenGigabitEthernet1/20', 'TenGigabitEthernet1/21', ``` whereas mine puts all the GigabitEthernet interfaces before the TenGigabitEthernet interfaces. I think the last one is the substantive point. I expect the reason is because the first number indicates the "line card" in Cisco terms, and if a line card has a mix of interface types you want to see them together. That's fair enough, although I think the test case would be clearer like this: ``` 'GigabitEthernet0/1', 'GigabitEthernet0/2', 'GigabitEthernet0/10', 'TenGigabitEthernet0/1`, << instead of 20 'TenGigabitEthernet0/2', << instead of 21 ``` otherwise it's ambiguous whether the results are grouped because TenGigabit comes after Gigabit, or because 20 comes after 10. What about these? ``` 'GigabitEthernet0/1', 'GigabitEthernet0/1.100`, 'GigabitEthernet0/1.200`, 'GigabitEthernet0/1/0`, 'GigabitEthernet0/1/1`, ``` I have tested this with Netbox 2.11.10, and I get: ``` GigabitEthernet0/1/0 GigabitEthernet0/1/1 GigabitEthernet0/1 GigabitEthernet0/1.100 GigabitEthernet0/1.200 ``` (which is essentially the issue I'm reporting here with Nexus). Anyway: it seems these approaches to sorting are not reconcilable without the user providing some extra information. So what I'm thinking is: 1. Reinstate the "interface ordering" option on device type 2. This points to one of N `naturalize_interface` functions which map `name` to `_name`. I think we need only two: the current one, and one which works better with non-IOS devices. However further ones could be added if necessary. 3. If this setting changed on device type, a trigger needs to update `_name` on all devices of that type. ----- Aside: having both `0/0` and `0/0/0` *can* happen in real life even on IOS. Here's a 2901 that I have access to: ``` ix-rtr1#sh ip int br Interface ... Embedded-Service-Engine0/0 ... GigabitEthernet0/0 ... GigabitEthernet0/1 ... GigabitEthernet0/0/0 ... ``` However these are three separate ports, 0/0/0 is not a sub-interface of 0/0.
Author
Owner

@github-actions[bot] commented on GitHub (Oct 13, 2021):

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 (Oct 13, 2021): 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](https://github.com/netbox-community/netbox/blob/develop/CONTRIBUTING.md).
Author
Owner

@github-actions[bot] commented on GitHub (Nov 12, 2021):

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.

@github-actions[bot] commented on GitHub (Nov 12, 2021): 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.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/netbox#5139