NetBox v2.3.0 Released!

558 views
Skip to first unread message

Jeremy Stretch

unread,
Feb 26, 2018, 2:30:04 PM2/26/18
to NetBox
Sorry for the short cycle between v2.2.10 and this one. I wanted to ensure people still had a fresh option on the 2.2 train if they'd rather wait for 2.3 to bake a while longer.

New Features

Virtual Chassis (#99)

A virtual chassis represents a set of physical devices with a shared control plane; for example, a stack of switches managed as a single device. Viewing the master device of a virtual chassis will show all member interfaces and IP addresses.

Interface VLAN Assignments (#150)

Interfaces can now be assigned an 802.1Q mode (access or trunked) and associated with particular VLANs. Thanks to John Anderson for his work on this!

Bulk Object Creation via the API (#1553)

The REST API now supports the creation of multiple objects of the same type using a single POST request. For example, to create multiple devices:

curl -X POST -H "Authorization: Token <TOKEN>" -H "Content-Type: application/json" -H "Accept: application/json; indent=4" http://localhost:8000/api/dcim/devices/ --data '[
{"name": "device1", "device_type": 24, "device_role": 17, "site": 6},
{"name": "device2", "device_type": 24, "device_role": 17, "site": 6},
{"name": "device3", "device_type": 24, "device_role": 17, "site": 6},
]'

Bulk creation is all-or-none: If any of the creations fails, the entire operation is rolled back.

Automatic Provisioning of Next Available Prefixes (#1694)

Similar to IP addresses, NetBox now supports automated provisioning of available prefixes from within a parent prefix. For example, to retrieve the next three available /28s within a parent /24:

curl -X POST -H "Authorization: Token <TOKEN>" -H "Content-Type: application/json" -H "Accept: application/json; indent=4" http://localhost:8000/api/ipam/prefixes/10153/available-prefixes/ --data '[
{"prefix_length": 28},
{"prefix_length": 28},
{"prefix_length": 28}
]'

If the parent prefix cannot accommodate all requested prefixes, the operation is cancelled and no new prefixes are created.

Bulk Renaming of Device/VM Components (#1781)

Device components (interfaces, console ports, etc.) can now be renamed in bulk via the web interface. This was implemented primarily to support the bulk renumbering of interfaces whose parent is part of a virtual chassis.

Enhancements

  • #1283 - Added a time_zone field to the site model
  • #1321 - Added created and last_updated fields for relevant models to their API serializers
  • #1553 - Introduced support for bulk object creation via the API
  • #1592 - Added tenancy assignment for rack reservations
  • #1744 - Allow associating a platform with a specific manufacturer
  • #1758 - Added a status field to the site model
  • #1821 - Added a description field to the site model
  • #1864 - Added a status field to the circuit model

Bug Fixes

  • #1136 - Enforce model validation during bulk update
  • #1645 - Simplified interface serialzier for IP addresses and optimized API view queryset
  • #1838 - Fix KeyError when attempting to create a VirtualChassis with no devices selected
  • #1847 - RecursionError when a virtual chasis master device has no name
  • #1848 - Allow null value for interface encapsulation mode
  • #1867 - Allow filtering on device status with multiple values
  • #1881* - Fixed bulk editing of interface 802.1Q settings
  • #1884* - Provide additional context to identify devices when creating/editing a virtual chassis
  • #1907 - Allow removing an IP as the primary for a device when editing the IP directly

* New since v2.3-beta2

Breaking Changes

  • Constants representing device status have been renamed for clarity (for example, STATUS_ACTIVE is now DEVICE_STATUS_ACTIVE). Custom validation reports will need to be updated if they reference any of these constants.

API Changes

  • API creation calls now accept either a single JSON object or a list of JSON objects. If multiple objects are passed and one or more them fail validation, no objects will be created.
  • Added created and last_updated fields for objects inheriting from CreatedUpdatedModel.
  • Removed the parent filter for prefixes (use within or within_include instead).
  • The IP address serializer now includes only a minimal nested representation of the assigned interface (if any) and its parent device or virtual machine.
  • The rack reservation serializer now includes a nested representation of its owning user (as well as the assigned tenant, if any).
  • Added endpoints for virtual chassis and VC memberships.
  • Added status, time_zone (pytz format), and description fields to dcim.Site.
  • Added a manufacturer foreign key field on dcim.Platform.
  • Added a status field on circuits.Circuit.

Jeremy

Simon Lindermann

unread,
Feb 27, 2018, 9:09:15 AM2/27/18
to NetBox
Hi Jeremy,

Really looking forward to give the VC option a try! One tiny issue I noticed after upgrading is the following error when I click the "Create Virtual Chassis" button without checking any devices:

<class 'ValueError'>
Cannot use None as a query value


Rgds,
Simon
Reply all
Reply to author
Forward
0 new messages