mirror of
https://github.com/netbox-community/netbox.git
synced 2024-05-10 07:54:54 +00:00
153 lines
5.9 KiB
Markdown
153 lines
5.9 KiB
Markdown
# v2.7.0 (FUTURE)
|
|
|
|
## New Features
|
|
|
|
### Enhanced Device Type Import ([#451](https://github.com/netbox-community/netbox/issues/451))
|
|
|
|
NetBox now supports the import of device types and related component templates using a YAML- or JSON-based definition.
|
|
For example, the following will create a new device type with four network interfaces, two power ports, and a console
|
|
port:
|
|
|
|
```yaml
|
|
manufacturer: Acme
|
|
model: Packet Shooter 9000
|
|
slug: packet-shooter-9000
|
|
u_height: 1
|
|
interfaces:
|
|
- name: ge-0/0/0
|
|
type: 1000base-t
|
|
- name: ge-0/0/1
|
|
type: 1000base-t
|
|
- name: ge-0/0/2
|
|
type: 1000base-t
|
|
- name: ge-0/0/3
|
|
type: 1000base-t
|
|
power-ports:
|
|
- name: PSU0
|
|
- name: PSU1
|
|
console-ports:
|
|
- name: Console
|
|
```
|
|
|
|
This new functionality replaces the existing CSV-based import form, which did not allow for component template import.
|
|
|
|
### Bulk Import of Device Components ([#822](https://github.com/netbox-community/netbox/issues/822))
|
|
|
|
NetBox now supports the bulk import of device components such as console ports, power ports, and interfaces. Device
|
|
components can be imported in CSV-format.
|
|
|
|
## Changes
|
|
|
|
### Topology Maps Removed ([#2745](https://github.com/netbox-community/netbox/issues/2745))
|
|
|
|
The topology maps feature has been removed to help focus NetBox development efforts.
|
|
|
|
### Redis Configuration ([#3282](https://github.com/netbox-community/netbox/issues/3282))
|
|
|
|
v2.6.0 introduced caching and added the `CACHE_DATABASE` option to the existing `REDIS` database configuration section.
|
|
This did not however, allow for using two different Redis connections for the seperate caching and webhooks features.
|
|
This change separates the Redis connection configurations in the `REDIS` section into distinct `webhooks` and `caching` subsections.
|
|
This requires modification of the `REDIS` section of the `configuration.py` file as follows:
|
|
|
|
Old Redis configuration:
|
|
```python
|
|
REDIS = {
|
|
'HOST': 'localhost',
|
|
'PORT': 6379,
|
|
'PASSWORD': '',
|
|
'DATABASE': 0,
|
|
'CACHE_DATABASE': 1,
|
|
'DEFAULT_TIMEOUT': 300,
|
|
'SSL': False,
|
|
}
|
|
```
|
|
|
|
New Redis configuration:
|
|
```python
|
|
REDIS = {
|
|
'webhooks': {
|
|
'HOST': 'redis.example.com',
|
|
'PORT': 1234,
|
|
'PASSWORD': 'foobar',
|
|
'DATABASE': 0,
|
|
'DEFAULT_TIMEOUT': 300,
|
|
'SSL': False,
|
|
},
|
|
'caching': {
|
|
'HOST': 'localhost',
|
|
'PORT': 6379,
|
|
'PASSWORD': '',
|
|
'DATABASE': 1,
|
|
'DEFAULT_TIMEOUT': 300,
|
|
'SSL': False,
|
|
}
|
|
}
|
|
```
|
|
|
|
Note that `CACHE_DATABASE` has been removed and the connection settings have been duplicated for both `webhooks` and
|
|
`caching`. This allows the user to make use of separate Redis instances and/or databases if desired. Full connection
|
|
details are required in both sections, even if they are the same.
|
|
|
|
### WEBHOOKS_ENABLED Configuration Setting Removed ([#3408](https://github.com/netbox-community/netbox/issues/3408))
|
|
|
|
As `django-rq` is now a required library, NetBox assumes that the RQ worker process is running. The installation and
|
|
upgrade documentation has been updated to reflect this, and the `WEBHOOKS_ENABLED` configuration parameter is no longer
|
|
used. Please ensure that both the NetBox WSGI service and the RQ worker process are running on all production
|
|
installations.
|
|
|
|
### API Choice Fields Now Use String Values ([#3569](https://github.com/netbox-community/netbox/issues/3569))
|
|
|
|
NetBox's REST API presents fields which reference a particular choice as a dictionary with two keys: `value` and
|
|
`label`. In previous versions, `value` was an integer which represented the particular choice in the database. This has
|
|
been changed to a more human-friendly "slug" string, which is essentially a simplified version of the choice's `label`.
|
|
|
|
For example, The site status field was previously represented as:
|
|
|
|
```json
|
|
"status": {
|
|
"value": 1,
|
|
"label": "Active"
|
|
},
|
|
```
|
|
|
|
Beginning with v2.7.0, it now looks like this:
|
|
|
|
```json
|
|
"status": {
|
|
"value": "active",
|
|
"label": "Active"
|
|
},
|
|
```
|
|
|
|
This change allows for much more intuitive representation of values, and obviates the need for API consumers to maintain
|
|
a mapping of static integer values.
|
|
|
|
Note that that all v2.7 releases will continue to accept the legacy integer values in write requests (POST, PUT, and
|
|
PATCH) to maintain backward compatibility. This behavior will be discontinued beginning in v2.8.0.
|
|
|
|
## Enhancements
|
|
|
|
* [#33](https://github.com/digitalocean/netbox/issues/33) - Add ability to clone objects (pre-populate form fields)
|
|
* [#792](https://github.com/digitalocean/netbox/issues/792) - Add power port and power outlet types
|
|
* [#1865](https://github.com/digitalocean/netbox/issues/1865) - Add console port and console server port types
|
|
* [#2902](https://github.com/digitalocean/netbox/issues/2902) - Replace `supervisord` with `systemd`
|
|
* [#3455](https://github.com/digitalocean/netbox/issues/3455) - Add tenant assignment to cluster
|
|
* [#3564](https://github.com/digitalocean/netbox/issues/3564) - Add list views for device components
|
|
* [#3538](https://github.com/digitalocean/netbox/issues/3538) - Introduce a REST API endpoint for executing custom scripts
|
|
* [#3731](https://github.com/digitalocean/netbox/issues/3731) - Change Graph.type to a ContentType foreign key field
|
|
|
|
## API Changes
|
|
|
|
* Choice fields now use human-friendly strings for their values instead of integers (see [#3569](https://github.com/netbox-community/netbox/issues/3569)).
|
|
* Introduced `/api/extras/scripts/` endpoint for retrieving and executing custom scripts
|
|
* dcim.ConsolePort: Added field `type`
|
|
* dcim.ConsolePortTemplate: Added field `type`
|
|
* dcim.ConsoleServerPort: Added field `type`
|
|
* dcim.ConsoleServerPortTemplate: Added field `type`
|
|
* dcim.PowerPort: Added field `type`
|
|
* dcim.PowerPortTemplate: Added field `type`
|
|
* dcim.PowerOutlet: Added field `type`
|
|
* dcim.PowerOutletTemplate: Added field `type`
|
|
* extras.Graph: The `type` field has been changed to a content type foreign key. Models are specified as `<app>.<model>`; e.g. `dcim.site`.
|
|
* virtualization.Cluster: Added field `tenant`
|