v2.3-beta1 - 2017-01-25
Pre-releaseNew 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 interfaces and IP addresses belonging to other VC member devices.
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 single object fails to validate, 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 create the first 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/<PK>/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
andlast_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 - Removed support for NAPALM v1.x
Bug Fixes
- #1136 - Enforce model validation during bulk update
- #1645 - Simplified interface serialzier for IP addresses and optimized API view queryset
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
andlast_updated
fields for objects inheriting from CreatedUpdatedModel. - Removed the
parent
filter for prefixes (usewithin
orwithin_include
instead). - The IP address serializer now includes only a minimal nested representation of thre 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), anddescription
fields to dcim.Site. - Added a
manufacturer
foreign key field on dcim.Platform.