[PR #1372] [MERGED] Release v2.1.0 #12193

Closed
opened 2025-12-29 22:20:08 +01:00 by adam · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/netbox-community/netbox/pull/1372
Author: @jeremystretch
Created: 7/25/2017
Status: Merged
Merged: 7/25/2017
Merged by: @jeremystretch

Base: masterHead: develop


📝 Commits (10+)

  • cd26348 Fixes #1079: Order interfaces naturally via API
  • 4d7f9c4 Version bump for v2.1
  • 8bcd8c4 Closes #1141: Include VRF name and RD in form selections
  • f427c00 Closes #819: Implemented IP address functional roles
  • ba8f48a Merge branch 'develop' into develop-2.1
  • 421270f Renamed IP address status 'virtual' to 'VIP'
  • ceb8fee Moved constant definitions from models.py to constants.py
  • 789ac5d Combined mgmt and non-mgmt interfaces into same list on device and device type views
  • 68ebe85 Closes #1218: Added IEEE 802.11 wireless interface types
  • 87e5687 Closes #1203: Implemented query filters for all models

📊 Changes

98 files changed (+2178 additions, -1351 deletions)

View changed files

docs/installation/migrating-to-python3.md (+33 -0)
📝 docs/installation/netbox.md (+8 -0)
docs/shell/intro.md (+194 -0)
📝 mkdocs.yml (+3 -0)
📝 netbox/circuits/api/serializers.py (+3 -2)
📝 netbox/circuits/api/views.py (+1 -0)
netbox/circuits/constants.py (+10 -0)
📝 netbox/circuits/filters.py (+35 -7)
📝 netbox/circuits/forms.py (+4 -4)
📝 netbox/circuits/models.py (+1 -8)
📝 netbox/circuits/tables.py (+6 -23)
📝 netbox/circuits/views.py (+9 -3)
📝 netbox/dcim/api/serializers.py (+100 -47)
📝 netbox/dcim/api/views.py (+60 -16)
netbox/dcim/constants.py (+230 -0)
📝 netbox/dcim/filters.py (+165 -90)
📝 netbox/dcim/forms.py (+20 -14)
netbox/dcim/migrations/0038_wireless_interfaces.py (+25 -0)
netbox/dcim/migrations/0039_interface_add_enabled_mtu.py (+25 -0)
netbox/dcim/migrations/0040_inventoryitem_add_asset_tag_description.py (+26 -0)

...and 78 more files

📄 Description

New Features

IP Address Roles (#819)

The IP address model now supports the assignment of a functional role to help identify special-purpose IPs. These include:

  • Loopback
  • Secondary
  • Anycast
  • VIP
  • VRRP
  • HSRP
  • GLBP

Automatic Provisioning of Next Available IP (#1246)

A new API endpoint has been added at /api/ipam/prefixes/<pk>/available-ips/. A GET request to this endpoint will return a list of available IP addresses within the prefix (up to the pagination limit). A POST request will automatically create and return the next available IP address.

NAPALM Integration (#1348)

The NAPALM automation library provides an abstracted interface for pulling live data (e.g. uptime, software version, running config, LLDP neighbors, etc.) from network devices. The NetBox API has been extended to support executing read-only NAPALM methods on devices defined in NetBox. To enable this functionality, ensure that NAPALM has been installed (pip install napalm) and the NETBOX_USERNAME and NETBOX_PASSWORD configuration parameters have been set in configuration.py.

Enhancements

  • #838 - Display details of all objects being edited/deleted in bulk
  • #1041 - Added enabled and MTU fields to the interface model
  • #1121 - Added asset_tag and description fields to the InventoryItem model
  • #1141 - Include RD when listing VRFs in a form selection field
  • #1203 - Implemented query filters for all models
  • #1218 - Added IEEE 802.11 wireless interface types
  • #1269 - Added circuit termination to interface serializer
  • #1320 - Removed checkbox from confirmation dialog

Bug Fixes

  • #1079 - Order interfaces naturally via API
  • #1285 - Enforce model validation when creating/editing objects via the API
  • #1358 - Correct VRF example values in IP/prefix import forms
  • #1362 - Raise validation error when attempting to create an API key that's too short
  • #1371 - Extend DeviceSerializer.parent_device to include standard fields

API changes

  • Added a new API endpoint which makes NAPALM accessible via NetBox
  • Device components (console ports, power ports, interfaces, etc.) can only be filtered by a single device name or ID. This limitation was necessary to allow the natural ordering of interfaces according to the device's parent device type.
  • Added two new fields to the interface serializer: enabled (boolean) and mtu (unsigned integer)
  • Modified the interface serializer to include three discrete fields relating to connections: is_connected (boolean), interface_connection, and circuit_termination
  • Added two new fields to the inventory item serializer: asset_tag and description
  • Added "wireless" to interface type filter (in addition to physical, virtual, and LAG)
  • Added a new endpoint at /api/ipam/prefixes//available-ips/ to retrieve or create available IPs within a prefix
  • Extended parent_device on DeviceSerializer to include the url and display_name of the parent Device, and the url of the DeviceBay

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/netbox-community/netbox/pull/1372 **Author:** [@jeremystretch](https://github.com/jeremystretch) **Created:** 7/25/2017 **Status:** ✅ Merged **Merged:** 7/25/2017 **Merged by:** [@jeremystretch](https://github.com/jeremystretch) **Base:** `master` ← **Head:** `develop` --- ### 📝 Commits (10+) - [`cd26348`](https://github.com/netbox-community/netbox/commit/cd263484c351bdd09fe36b56ff05e820eb03fa03) Fixes #1079: Order interfaces naturally via API - [`4d7f9c4`](https://github.com/netbox-community/netbox/commit/4d7f9c42c8e56c002bfe1ce8d9c05caf02b91028) Version bump for v2.1 - [`8bcd8c4`](https://github.com/netbox-community/netbox/commit/8bcd8c404d44dd9ca7f0916d8f61fe95c1ed04ed) Closes #1141: Include VRF name and RD in form selections - [`f427c00`](https://github.com/netbox-community/netbox/commit/f427c00d946a6253ce7b4fe9997d8dfc4c05d664) Closes #819: Implemented IP address functional roles - [`ba8f48a`](https://github.com/netbox-community/netbox/commit/ba8f48af650b8968851dd3051ae38c6aa5dc555d) Merge branch 'develop' into develop-2.1 - [`421270f`](https://github.com/netbox-community/netbox/commit/421270f4a65a282ba8b7ccea277005612b96d942) Renamed IP address status 'virtual' to 'VIP' - [`ceb8fee`](https://github.com/netbox-community/netbox/commit/ceb8fee0cc4cd31f1dbeab229c874ff84153e477) Moved constant definitions from models.py to constants.py - [`789ac5d`](https://github.com/netbox-community/netbox/commit/789ac5dfd4b881c2a2738ffb932e70f826ffbee2) Combined mgmt and non-mgmt interfaces into same list on device and device type views - [`68ebe85`](https://github.com/netbox-community/netbox/commit/68ebe85a98528b6db0582b0fc49de968dbd6198b) Closes #1218: Added IEEE 802.11 wireless interface types - [`87e5687`](https://github.com/netbox-community/netbox/commit/87e5687d0372a50da72b6ad1ae4ce7d2a48d682d) Closes #1203: Implemented query filters for all models ### 📊 Changes **98 files changed** (+2178 additions, -1351 deletions) <details> <summary>View changed files</summary> ➕ `docs/installation/migrating-to-python3.md` (+33 -0) 📝 `docs/installation/netbox.md` (+8 -0) ➕ `docs/shell/intro.md` (+194 -0) 📝 `mkdocs.yml` (+3 -0) 📝 `netbox/circuits/api/serializers.py` (+3 -2) 📝 `netbox/circuits/api/views.py` (+1 -0) ➕ `netbox/circuits/constants.py` (+10 -0) 📝 `netbox/circuits/filters.py` (+35 -7) 📝 `netbox/circuits/forms.py` (+4 -4) 📝 `netbox/circuits/models.py` (+1 -8) 📝 `netbox/circuits/tables.py` (+6 -23) 📝 `netbox/circuits/views.py` (+9 -3) 📝 `netbox/dcim/api/serializers.py` (+100 -47) 📝 `netbox/dcim/api/views.py` (+60 -16) ➕ `netbox/dcim/constants.py` (+230 -0) 📝 `netbox/dcim/filters.py` (+165 -90) 📝 `netbox/dcim/forms.py` (+20 -14) ➕ `netbox/dcim/migrations/0038_wireless_interfaces.py` (+25 -0) ➕ `netbox/dcim/migrations/0039_interface_add_enabled_mtu.py` (+25 -0) ➕ `netbox/dcim/migrations/0040_inventoryitem_add_asset_tag_description.py` (+26 -0) _...and 78 more files_ </details> ### 📄 Description ## New Features ### IP Address Roles ([#819](https://github.com/digitalocean/netbox/issues/819)) The IP address model now supports the assignment of a functional role to help identify special-purpose IPs. These include: * Loopback * Secondary * Anycast * VIP * VRRP * HSRP * GLBP ### Automatic Provisioning of Next Available IP ([#1246](https://github.com/digitalocean/netbox/issues/1246)) A new API endpoint has been added at `/api/ipam/prefixes/<pk>/available-ips/`. A GET request to this endpoint will return a list of available IP addresses within the prefix (up to the pagination limit). A POST request will automatically create and return the next available IP address. ### NAPALM Integration ([#1348](https://github.com/digitalocean/netbox/issues/1348)) The [NAPALM automation](https://napalm-automation.net/) library provides an abstracted interface for pulling live data (e.g. uptime, software version, running config, LLDP neighbors, etc.) from network devices. The NetBox API has been extended to support executing read-only NAPALM methods on devices defined in NetBox. To enable this functionality, ensure that NAPALM has been installed (`pip install napalm`) and the `NETBOX_USERNAME` and `NETBOX_PASSWORD` [configuration parameters](http://netbox.readthedocs.io/en/stable/configuration/optional-settings/#netbox_username) have been set in configuration.py. ## Enhancements * [#838](https://github.com/digitalocean/netbox/issues/838) - Display details of all objects being edited/deleted in bulk * [#1041](https://github.com/digitalocean/netbox/issues/1041) - Added enabled and MTU fields to the interface model * [#1121](https://github.com/digitalocean/netbox/issues/1121) - Added asset_tag and description fields to the InventoryItem model * [#1141](https://github.com/digitalocean/netbox/issues/1141) - Include RD when listing VRFs in a form selection field * [#1203](https://github.com/digitalocean/netbox/issues/1203) - Implemented query filters for all models * [#1218](https://github.com/digitalocean/netbox/issues/1218) - Added IEEE 802.11 wireless interface types * [#1269](https://github.com/digitalocean/netbox/issues/1269) - Added circuit termination to interface serializer * [#1320](https://github.com/digitalocean/netbox/issues/1320) - Removed checkbox from confirmation dialog ## Bug Fixes * [#1079](https://github.com/digitalocean/netbox/issues/1079) - Order interfaces naturally via API * [#1285](https://github.com/digitalocean/netbox/issues/1285) - Enforce model validation when creating/editing objects via the API * [#1358](https://github.com/digitalocean/netbox/issues/1358) - Correct VRF example values in IP/prefix import forms * [#1362](https://github.com/digitalocean/netbox/issues/1362) - Raise validation error when attempting to create an API key that's too short * [#1371](https://github.com/digitalocean/netbox/issues/1371) - Extend DeviceSerializer.parent_device to include standard fields ## API changes * Added a new API endpoint which makes [NAPALM](https://github.com/napalm-automation/napalm) accessible via NetBox * Device components (console ports, power ports, interfaces, etc.) can only be filtered by a single device name or ID. This limitation was necessary to allow the natural ordering of interfaces according to the device's parent device type. * Added two new fields to the interface serializer: `enabled` (boolean) and `mtu` (unsigned integer) * Modified the interface serializer to include three discrete fields relating to connections: `is_connected` (boolean), `interface_connection`, and `circuit_termination` * Added two new fields to the inventory item serializer: `asset_tag` and `description` * Added "wireless" to interface type filter (in addition to physical, virtual, and LAG) * Added a new endpoint at /api/ipam/prefixes/<pk>/available-ips/ to retrieve or create available IPs within a prefix * Extended `parent_device` on DeviceSerializer to include the `url` and `display_name` of the parent Device, and the `url` of the DeviceBay --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
adam added the pull-request label 2025-12-29 22:20:08 +01:00
adam closed this issue 2025-12-29 22:20:08 +01:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/netbox#12193