Skip to content
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

Release v2.3.0 #1913

Merged
merged 90 commits into from
Feb 26, 2018
Merged

Release v2.3.0 #1913

merged 90 commits into from
Feb 26, 2018

Conversation

jeremystretch
Copy link
Member

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.

jeremystretch and others added 30 commits November 7, 2017 15:36
* fixed prefix header to represent new serial "vlan_vid"

* shows option in creation now

* fixed visibility on rack page

* cleanup

* Added view to Tenant page

* Moved migration for update from #1666 and fixed tenant enumeration in FilterForm

* Fixed conflict #1

* Fixed filters from merge and made migration merge

* added tenant to api

* Fixed migrations problem

* Added Tenant to bulkedit option
jeremystretch and others added 28 commits January 30, 2018 16:42
* fixes #1881 - bulk interface 802.1Q settings form

* fix PEP8 newline

* PEP8 fixup
@jeremystretch jeremystretch merged commit 957074a into master Feb 26, 2018
@lock lock bot locked as resolved and limited conversation to collaborators Jan 16, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants