mirror of
https://github.com/netbox-community/netbox.git
synced 2026-01-11 21:10:29 +01:00
Closed
opened 2025-12-29 22:22:09 +01:00 by adam
·
0 comments
No Branch/Tag Specified
main
update-changelog-comments-docs
feature-removal-issue-type
20911-dropdown
20239-plugin-menu-classes-mutable-state
21097-graphql-id-lookups
feature
fix_module_substitution
20923-dcim-templates
20044-elevation-stuck-lightmode
feature-ip-prefix-link
v4.5-beta1-release
20068-import-moduletype-attrs
20766-fix-german-translation-code-literals
20378-del-script
7604-filter-modifiers-v3
circuit-swap
12318-case-insensitive-uniqueness
20637-improve-device-q-filter
20660-script-load
19724-graphql
20614-update-ruff
14884-script
02496-max-page
19720-macaddress-interface-generic-relation
19408-circuit-terminations-export-templates
20203-openapi-check
fix-19669-api-image-download
7604-filter-modifiers
19275-fixes-interface-bulk-edit
fix-17794-get_field_value_return_list
11507-show-aggregate-and-rir-on-api
9583-add_column_specific_search_field_to_tables
v4.5.0
v4.4.10
v4.4.9
v4.5.0-beta1
v4.4.8
v4.4.7
v4.4.6
v4.4.5
v4.4.4
v4.4.3
v4.4.2
v4.4.1
v4.4.0
v4.3.7
v4.4.0-beta1
v4.3.6
v4.3.5
v4.3.4
v4.3.3
v4.3.2
v4.3.1
v4.3.0
v4.2.9
v4.3.0-beta2
v4.2.8
v4.3.0-beta1
v4.2.7
v4.2.6
v4.2.5
v4.2.4
v4.2.3
v4.2.2
v4.2.1
v4.2.0
v4.1.11
v4.1.10
v4.1.9
v4.1.8
v4.2-beta1
v4.1.7
v4.1.6
v4.1.5
v4.1.4
v4.1.3
v4.1.2
v4.1.1
v4.1.0
v4.0.11
v4.0.10
v4.0.9
v4.1-beta1
v4.0.8
v4.0.7
v4.0.6
v4.0.5
v4.0.3
v4.0.2
v4.0.1
v4.0.0
v3.7.8
v3.7.7
v4.0-beta2
v3.7.6
v3.7.5
v4.0-beta1
v3.7.4
v3.7.3
v3.7.2
v3.7.1
v3.7.0
v3.6.9
v3.6.8
v3.6.7
v3.7-beta1
v3.6.6
v3.6.5
v3.6.4
v3.6.3
v3.6.2
v3.6.1
v3.6.0
v3.5.9
v3.6-beta2
v3.5.8
v3.6-beta1
v3.5.7
v3.5.6
v3.5.5
v3.5.4
v3.5.3
v3.5.2
v3.5.1
v3.5.0
v3.4.10
v3.4.9
v3.5-beta2
v3.4.8
v3.5-beta1
v3.4.7
v3.4.6
v3.4.5
v3.4.4
v3.4.3
v3.4.2
v3.4.1
v3.4.0
v3.3.10
v3.3.9
v3.4-beta1
v3.3.8
v3.3.7
v3.3.6
v3.3.5
v3.3.4
v3.3.3
v3.3.2
v3.3.1
v3.3.0
v3.2.9
v3.2.8
v3.3-beta2
v3.2.7
v3.3-beta1
v3.2.6
v3.2.5
v3.2.4
v3.2.3
v3.2.2
v3.2.1
v3.2.0
v3.1.11
v3.1.10
v3.2-beta2
v3.1.9
v3.2-beta1
v3.1.8
v3.1.7
v3.1.6
v3.1.5
v3.1.4
v3.1.3
v3.1.2
v3.1.1
v3.1.0
v3.0.12
v3.0.11
v3.0.10
v3.1-beta1
v3.0.9
v3.0.8
v3.0.7
v3.0.6
v3.0.5
v3.0.4
v3.0.3
v3.0.2
v3.0.1
v3.0.0
v2.11.12
v3.0-beta2
v2.11.11
v2.11.10
v3.0-beta1
v2.11.9
v2.11.8
v2.11.7
v2.11.6
v2.11.5
v2.11.4
v2.11.3
v2.11.2
v2.11.1
v2.11.0
v2.10.10
v2.10.9
v2.11-beta1
v2.10.8
v2.10.7
v2.10.6
v2.10.5
v2.10.4
v2.10.3
v2.10.2
v2.10.1
v2.10.0
v2.9.11
v2.10-beta2
v2.9.10
v2.10-beta1
v2.9.9
v2.9.8
v2.9.7
v2.9.6
v2.9.5
v2.9.4
v2.9.3
v2.9.2
v2.9.1
v2.9.0
v2.9-beta2
v2.8.9
v2.9-beta1
v2.8.8
v2.8.7
v2.8.6
v2.8.5
v2.8.4
v2.8.3
v2.8.2
v2.8.1
v2.8.0
v2.7.12
v2.7.11
v2.7.10
v2.7.9
v2.7.8
v2.7.7
v2.7.6
v2.7.5
v2.7.4
v2.7.3
v2.7.2
v2.7.1
v2.7.0
v2.6.12
v2.6.11
v2.6.10
v2.6.9
v2.7-beta1
Solcon-2020-01-06
v2.6.8
v2.6.7
v2.6.6
v2.6.5
v2.6.4
v2.6.3
v2.6.2
v2.6.1
v2.6.0
v2.5.13
v2.5.12
v2.6-beta1
v2.5.11
v2.5.10
v2.5.9
v2.5.8
v2.5.7
v2.5.6
v2.5.5
v2.5.4
v2.5.3
v2.5.2
v2.5.1
v2.5.0
v2.4.9
v2.5-beta2
v2.4.8
v2.5-beta1
v2.4.7
v2.4.6
v2.4.5
v2.4.4
v2.4.3
v2.4.2
v2.4.1
v2.4.0
v2.3.7
v2.4-beta1
v2.3.6
v2.3.5
v2.3.4
v2.3.3
v2.3.2
v2.3.1
v2.3.0
v2.2.10
v2.3-beta2
v2.2.9
v2.3-beta1
v2.2.8
v2.2.7
v2.2.6
v2.2.5
v2.2.4
v2.2.3
v2.2.2
v2.2.1
v2.2.0
v2.1.6
v2.2-beta2
v2.1.5
v2.2-beta1
v2.1.4
v2.1.3
v2.1.2
v2.1.1
v2.1.0
v2.0.10
v2.1-beta1
v2.0.9
v2.0.8
v2.0.7
v2.0.6
v2.0.5
v2.0.4
v2.0.3
v2.0.2
v2.0.1
v2.0.0
v2.0-beta3
v1.9.6
v1.9.5
v2.0-beta2
v1.9.4-r1
v1.9.3
v2.0-beta1
v1.9.2
v1.9.1
v1.9.0-r1
v1.8.4
v1.8.3
v1.8.2
v1.8.1
v1.8.0
v1.7.3
v1.7.2-r1
v1.7.1
v1.7.0
v1.6.3
v1.6.2-r1
v1.6.1-r1
1.6.1
v1.6.0
v1.5.2
v1.5.1
v1.5.0
v1.4.2
v1.4.1
v1.4.0
v1.3.2
v1.3.1
v1.3.0
v1.2.2
v1.2.1
v1.2.0
v1.1.0
v1.0.7-r1
v1.0.7
v1.0.6
v1.0.5
v1.0.4
v1.0.3-r1
v1.0.3
1.0.0
Labels
Clear labels
beta
breaking change
complexity: high
complexity: low
complexity: medium
needs milestone
netbox
pending closure
plugin candidate
pull-request
severity: high
severity: low
severity: medium
status: accepted
status: backlog
status: blocked
status: duplicate
status: needs owner
status: needs triage
status: revisions needed
status: under review
topic: GraphQL
topic: Internationalization
topic: OpenAPI
topic: UI/UX
topic: cabling
topic: event rules
topic: htmx navigation
topic: industrialization
topic: migrations
topic: plugins
topic: scripts
topic: templating
topic: testing
type: bug
type: deprecation
type: documentation
type: feature
type: housekeeping
type: translation
Mirrored from GitHub Pull Request
No Label
pull-request
Milestone
No items
No Milestone
Projects
Clear projects
No project
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: starred/netbox#12540
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 Pull Request Information
Original PR: https://github.com/netbox-community/netbox/pull/3271
Author: @jeremystretch
Created: 6/20/2019
Status: ✅ Merged
Merged: 6/20/2019
Merged by: @jeremystretch
Base:
master← Head:develop📝 Commits (10+)
bd573fdimplemented #2350 - config context included by default in APIe521508#2350 - added virtual machines and test casesfc2bb72initial pass on migrating to custom tag model with color and comments fields0a06d92added default values for comments and color fields on tagbb6fb81Closes #2643: Add description field to console/power components and device baysfba6d28removed migration to delete taggit modelsb9d11aarefactor tag migrations and add changelog fields to tagde52f21fix circular import for ObjectChange, for now...8e54860added changelog views for Tag00c4d3dMerge pull request #2918 from digitalocean/2643-description-fields📊 Changes
180 files changed (+6807 additions, -1795 deletions)
View changed files
📝
.travis.yml(+1 -0)📝
CHANGELOG.md(+220 -0)📝
base_requirements.txt(+12 -0)➕
docs/additional-features/caching.md(+21 -0)➕
docs/additional-features/prometheus-metrics.md(+34 -0)📝
docs/additional-features/webhooks.md(+0 -8)📝
docs/api/overview.md(+45 -13)📝
docs/configuration/optional-settings.md(+47 -54)📝
docs/configuration/required-settings.md(+41 -0)📝
docs/core-functionality/devices.md(+1 -1)📝
docs/development/release-checklist.md(+1 -0)📝
docs/installation/2-netbox.md(+3 -25)📝
docs/installation/migrating-to-python3.md(+1 -7)📝
mkdocs.yml(+2 -0)📝
netbox/circuits/api/nested_serializers.py(+4 -2)📝
netbox/circuits/api/serializers.py(+5 -2)📝
netbox/circuits/api/views.py(+7 -2)📝
netbox/circuits/filters.py(+1 -1)➕
netbox/circuits/migrations/0015_custom_tag_models.py(+25 -0)📝
netbox/circuits/models.py(+3 -3)...and 80 more files
📄 Description
New Features
Power Panels and Feeds (#54)
NetBox now supports power circuit modeling via two new models: power panels and power feeds. Power feeds are terminated
to power panels and are optionally associated with individual racks. Each power feed defines a supply type (AC/DC),
amperage, voltage, and phase. A power port can be connected directly to a power feed, but a power feed may have only one
power port connected to it.
Additionally, the power port model, which represents a device's power input, has been extended to include fields
denoting maximum and allocated draw, in volt-amperes. This allows a device (e.g. a PDU) to calculate its total load
compared to its connected power feed.
Caching (#2647)
To improve performance, NetBox now supports caching for most object and list views. Caching is implemented using Redis,
which is now a required dependency. (Previously, Redis was required only if webhooks were enabled.)
A new configuration parameter is available to control the cache timeout:
View Permissions (#323)
Django 2.1 introduced the ability to enforce view-only permissions for different object types. NetBox now enforces
these by default. You can grant view permission to a user or group by assigning the "can view" permission for the
desired object(s).
To exempt certain object types from the enforcement of view permissions, so that any user (including anonymous users)
can view them, add them to the new
EXEMPT_VIEW_PERMISSIONSsetting inconfiguration.py:To exclude all objects, effectively disabling view permissions and restoring pre-v2.6 behavior, set:
Custom Links (#969)
Custom links are created under the admin UI and will be displayed on each object of the selected type. Link text and
URLs can be formed from Jinja2 template code, with the viewed object passed as context data. For example, to link to an
external NMS from the device view, you might create a custom link with the following URL:
Custom links appear as buttons at the top of the object view. Grouped links will render as a dropdown menu beneath a
single button.
Prometheus Metrics (#3104)
NetBox now supports exposing native Prometheus metrics from the application. Prometheus is a
popular time series metric platform used for monitoring. Metric exposition can be toggled with the
METRICS_ENABLEDconfiguration setting; it is not enabled by default. NetBox exposes metrics at the
/metricsHTTP endpoint, e.g.https://netbox.local/metrics.NetBox makes use of the django-prometheus library to export a number of
different types of metrics, including:
For the exhaustive list of exposed metrics, visit the
/metricsendpoint on your NetBox instance. See the documentationfor more details on using Prometheus metrics in NetBox.
Changes
New Dependency: Redis
Redis is an in-memory data store similar to memcached. While Redis has been an optional component
of NetBox since the introduction of webhooks in version 2.4, it is now required to support NetBox's new caching
functionality (as well as other planned features). Redis can be installed via your platform's package manager: for
example,
sudo apt-get install redis-serveron Ubuntu orsudo yum install redison CentOS.The Redis database is configured using a configuration setting similar to
DATABASEinconfiguration.py:Note that if you were using these settings in a prior release with webhooks, the
DATABASEsetting remains the same butan additional
CACHE_DATABASEsetting has been added with a default value of 1 to support the caching backend. TheDATABASEsetting will be renamed in a future release of NetBox to better relay the meaning of the setting. It ishighly recommended to keep the webhook and cache databases seperate. Using the same database number for both may result
in webhook processing data being lost during cache flushing events.
API Support for Specifying Related Objects by Attributes (#3077)
Previously, specifying a related object in an API request required knowing the primary key (integer ID) of that object.
For example, when creating a new device, its rack would be specified as an integer:
The NetBox API now also supports referencing related objects by a set of sufficiently unique attrbiutes. For example, a
rack can be identified by its name and parent site:
There is no limit to the depth of nested references. Note that if the provided parameters do not return exactly one
object, a validation error is raised.
API Device/VM Config Context Included by Default (#2350)
The rendered config context for devices and VMs is now included by default in all API results (list and detail views).
Previously, the rendered config context was available only in the detail view for individual objects. Users with large
amounts of context data may observe a performance drop when returning multiple objects. To combat this, in cases where
the rendered config context is not needed, the query parameter
?exclude=config_contextmay be appended to the requestURL to exclude the config context data from the API response.
Changes to Tag Permissions
NetBox now makes use of its own
Tagmodel instead of the stock model which ships with django-taggit. This new modellives in the
extrasapp and thus any permissions that you may have configured using "Taggit | Tag" should be changedto now use "Extras | Tag." Also note that the admin interface for tags has been removed as it was redundant to the
functionality provided by the front end UI.
CORS_ORIGIN_WHITELIST Requires URI Scheme
If you have the
CORS_ORIGIN_WHITELISTconfiguration parameter defined, note that each origin must now incldue a URIscheme. This change was introuced in django-cors-headers 3.0.
Enhancements
dns_namefield to IPAddress/api/extras/_custom_field_choices/colorfield for tagsdescriptionfield to console/power components and device bayscommentsfield for tagsform_factortotype(backward-compatible until v2.7)Bug Fixes
Bug Fixes From v2.6-beta1
/metricsview from authenticationpower_portandfeed_legfields to power outlet creation formAPI Changes
/api/dcim/power-panels/and/api/dcim/power-feeds//api/extras/_custom_field_choices/prefix_countandvlan_count.id__infilter is now deprecated and will be removed in v2.7. (Begin using the?id=1&id=2format instead.)descriptionfield for all device components.instance_counthas been renamed todevice_count.form_factorhas been renamed totype. Backward compatibility forform_factorwill be maintained until NetBox v2.7.typefilter has been renamed tokind.count_*read-only fields have been renamed to*_countfor consistency with other objects.virtualmachine_countread-only field.colorandcommentsfields to the Tag serializer.🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.