Commit Graph

48 Commits

Author SHA1 Message Date
Jeremy Stretch 9abbebe392 Add v4.7 release notes 2026-08-14 13:53:02 -04:00
Jason Novinger af59d71642 #20285: Accept port ranges in the service port_mappings CSV import
The port-mappings CSV column expanded only comma-separated individual
protocol/port pairs, while the edit form's port field already accepted
hyphen ranges (e.g. tcp/8000-8010). Route the CSV column through the same
expand_port_mapping() helper so both entry paths accept identical port
syntax. Parsing uses the shared split_port_mapping() helper, and the
blank-protocol error is worded to fit every entry path rather than only the
form widget's dropdown.
2026-08-13 11:53:58 -05:00
Arthur Hanson 0270cf1495
#20285 - Support multiple protocols per application service via port mappings (#22692) 2026-08-03 10:58:01 -04:00
Martin Hauser d7de863681
Closes #17598: Add bulk creation for VLANs (#22377) 2026-06-15 08:22:58 -05:00
Martin Hauser 573b1b0634
fix(ipam): Correct VLAN ID range bound handling in VLANGroup
Fix miscounting of total_vlan_ids when VLANGroup vid_ranges use
non-canonical bounds (e.g. '[]'). Normalize ranges to '[)' on save and
add migration to recompute existing totals. Prevent division-by-zero in
utilization queries for legacy rows with miscounted totals.

Fixes #22228
2026-05-20 14:45:01 +02:00
Martin Hauser f66e6f360a feat(ipam): Allow single-address IP Ranges
Allow IP ranges where start_address equals end_address to model
single-IP pools like DHCP or NAT reservations. Add validation tests,
filterset coverage, and display logic to render both endpoints.

Fixes #21993
2026-05-14 08:05:51 -04:00
Martin Hauser 1fc43026d0
Closes #20698: Expose total_vlan_ids on VLAN groups (#21574)
Fixes #20698
2026-03-13 15:10:56 -05:00
Arthur Hanson e3d9fe622d
Fix #17654: Add Role to ASN (#21582)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Jason Novinger <jnovinger@gmail.com>
Closes #21571: Bump minimatch and markdown-it to resolve security alerts (#21573)
2026-03-10 10:00:28 -05:00
Jeremy Stretch 2b7600e659 Remove old "introduced in" notices 2025-08-01 15:57:26 -04:00
Jason Novinger 59e1d3a607
Closes: #18588: Relabel Service to Application Service (#19900)
* Closes: #18588: Relabel Service model to Application Service

Updates the `verbose_name` of the `Service` and `ServiceTemplate` models to "Application Service" and
"Application Service Template" respectively. This serves as the foundational change for relabeling
the model throughout the user interface to reduce ambiguity.

To preserve backward compatibility for the REST and GraphQL APIs, the test suites have been updated
to assert the stability of the original field and parameter names. This includes:

*   Using `filter_name_map` in the filterset test case to ensure API query parameters remain
    `service` and `service_id`.
*   Employing the GraphQL test suite's aliasing mechanism to ensure the public schema remains
    unchanged despite the underlying `verbose_name` modification.

Subsequent commits will address UI-specific labels in navigation, tables, forms, and templates.

* Rename to Application Services/Application Service Templates in nav menu

* Rename ~service to ~'Application Service' in templates

This was done for both the Service model and Service Template model
appearances in templates where the word was hardcoded.

* Change ~service to ~'application service' hardcoded strings in Python files

* Update ~service to ~'application service' in docs
2025-07-21 09:22:27 -04:00
Jeremy Stretch 733dd81f0e
Closes #19738: Deprecate the direct assignment of a VLAN to a site (#19904) 2025-07-17 08:45:56 -05:00
Jason Novinger f96df73093
Closes #8423: Allow assigning Service to FHRP Group, in addition to Device and VirtualMachine (#19005) 2025-04-11 07:27:31 -07:00
Jeremy Stretch f8f2ad1d14
Closed #9763: Treat IP ranges as fully populated (#19064) 2025-04-09 07:30:11 -07:00
Jeremy Stretch 678d89d406 Update documentation for v4.2 2024-11-26 12:38:29 -05:00
Jeremy Stretch 8767fd8186
Closes #13428: Q-in-Q VLANs (#17822)
* Initial work on #13428 (QinQ)

* Misc cleanup; add tests for Q-in-Q fields

* Address PR feedback
2024-10-31 14:17:06 -04:00
bctiemann f74a9a1c76
Fixes: #7336 - VLAN Translation (#17745)
* VLANTranslationPolicy and VLANTranslationRule models and all associated UI classes

* Change VLANTranslationPolicy to a PrimaryModel and make name unique

* Add serializer classes to InterfaceSerializer

* Remake migrations

* Add GraphQL typing

* Skip tagged models in test

* Missing migration

* Remove get_absolute_url methods

* Remove package-lock.json

* Rebuild migration and add constraints and field options

* Rebuild migrations

* Use DynamicModelChoiceField for policy field

* Make vlan_translation_policy fields on filtersets more consistent with existing __name convention

* Add vlan_translation_table to VMInterface detail page

* Add vlan_translation_policy to VMInterfaceSerializer

* Move vlan_translation_policy fields to model and filterset mixins

* Protect in-use policies against deletion

* Add vlan_translation_policy to fields in VMInterfaceSerializer

* Cleanup indentation

* Remove unnecessary ordering column

* Rebuild migrations

* Search methods and registration

* Ensure 'id' column is present by default

* Add graphql types/filters/schema for VLANTranslationRule

* Filterset tests

* View tests

* API and viewset tests (incomplete)

* Add tags to VLANTranslationRuleForm

* Complete viewset tests for VLANTranslationRule

* Make VLANTranslationRule.policy nullable (but still required)

* Revert "Make VLANTranslationRule.policy nullable (but still required)"

This reverts commit 4c1bb437ef.

* Revert nullability

* Explicitly prefetch policy in graphql

* Documentation of new and affected models

* Add note about select_related in graphql

* Rework policy/rule documentation

* Move vlan_translation_policy into 802.1Q Switching fieldset

* Remove redundant InterfaceVLANTranslationTable

* Conditionally include vlan_translation_table in interface.html and vminterface.html

* Add description field to VLANTranslationRule

* Define vlan_translation_table conditionally

* Add policy (name) filter to VLANTranslationRuleFilterSet

* Revert changes to adding-models.md (moved to another PR)

* Dynamic table for linked rules in vlantranslationpolicy.html

* Misc cleanup

---------

Co-authored-by: Jeremy Stretch <jstretch@netboxlabs.com>
2024-10-30 17:09:46 -04:00
DM3740 5013a6c692
Fixes: #17612 : Update ASN types in asn.md (#17625)
* Update asn.md

There are no 64-bit AS Numbers - 16- and 32-bit only :
https://www.iana.org/assignments/as-numbers/as-numbers.xhtml

* Update docs/models/ipam/asn.md

Co-authored-by: bluikko <14869000+bluikko@users.noreply.github.com>

---------

Co-authored-by: bluikko <14869000+bluikko@users.noreply.github.com>
2024-09-27 16:20:49 -04:00
Jeremy Stretch 28b867bde4 Documentation updates for v4.1 2024-07-31 16:26:21 -04:00
Arthur Hanson cf1024a12b
9627 use ArrayField on VLANGroup for allowed VLANs (#16710)
* 9627 initial commit

* 9627 numeric range field

* 9627 numeric range field

* 9627 numeric range field

* 9627 numeric range field

* 9627 add stuff for utilization calc

* 9627 update views

* 9627 fixes

* 9627 available_vlans

* 9627 available_vlans

* 9627 fixes

* 9627 bulk import / edit

* 9627 test fixes

* 9627 test fixes

* 9627 update validation

* 9627 fix tests

* 9627 fix tests

* 9627 fix tests

* 9627 fix tests

* 9627 fix tests

* 9627 fix tests

* 9627 review changes

* 9627 temp vlan_id filter

* Clean up labels

* Remove annotate_vlan_ranges() from VLANGroupQuerySet

* Misc cleanup

* Implement contains_vid filter

* Serialize VID ranges as integer lists in REST API

* Remove default value from vlan_id_ranges

* 9627 fix typo in test

* Require vlan_id_ranges & set default value

* Fix logic for upper range boundaries

* Add field to VLANGroup model documentation

* Rename vlan_id_ranges to vid_ranges

* Fix computation of available VLAN IDs

* Clean up migration

* Add tests for range utility functions

* Clean up add_available_vlans()

* Misc cleanup, add test for VID validation

---------

Co-authored-by: Jeremy Stretch <jstretch@netboxlabs.com>
2024-07-16 10:47:18 -04:00
Jeremy Stretch c0512e2c36 #14311: Update model documentation 2023-12-04 09:29:43 -05:00
Jeremy Stretch 699b4dfade Update feature introduction flags 2023-08-01 14:25:25 -04:00
jeremystretch d5d2431cbd Docs cleanup for v3.5 2023-04-18 16:58:53 -04:00
jeremystretch 536b46158a Add mark_utilized to IPRange 2023-03-01 09:27:06 -05:00
Jeremy Stretch 7994073687
Closes #8550: Implement ASN ranges (#11835)
* Move ASN to a separate module

* Move ASNField from dcim to ipam

* Introduce ASNRange model

* Add relationship from ASN to ASNRange

* Add an available-asns API endpoint

* Add RIR assignment for ASNRange

* Add standard tests

* Move child ASNs to a tabbed view

* Remove FK on ASN to ASNRange

* Add tests for provisioning available ASNs

* Add docs for ASNRange
2023-02-27 16:36:05 -05:00
Jonathan Senecal 1e54eee631
Update ipaddress.md
Missing `ipam` before `IPAddress.status`
2023-01-11 09:45:28 -05:00
jeremystretch 6016e1b15d Changelog & cleanup for #9892 2022-09-27 09:55:35 -04:00
Arthur e11d594122 9892 add supporting tests, form fields 2022-09-26 11:39:43 -07:00
jeremystretch 93b36ed580 Closes #10032: Remove unique constraint from L2VPN identifier 2022-08-17 10:47:42 -04:00
jeremystretch d43c98d546 Update IPAM models documentation 2022-08-16 15:32:00 -04:00
jeremystretch 43b27cc052 Misc cleanup 2022-07-12 16:29:26 -04:00
Daniel Sheppard 5bcc3a3fb9 Update docs 2022-07-06 09:00:33 -05:00
Daniel Sheppard 5b397a9827 Add docs 2022-06-30 08:29:08 -05:00
jeremystretch 58f97bc0e7 Merge develop into feature 2022-03-24 16:35:35 -04:00
jeremystretch 97e7ef9a3f Introduce ServiceTemplate 2022-01-12 16:42:28 -05:00
jeremystretch 544d991e1e Closes #8168: Add min/max VID fields to VLANGroup 2021-12-23 11:22:10 -05:00
jeremystretch d2767f39f0 Closes #7850: Add note about where to assign FHRP groups 2021-11-18 15:12:12 -05:00
Daniel Sheppard c72f25c693 #6732 - Add documentation 2021-11-03 12:22:44 -05:00
jeremystretch 412430e1c3 Docs & changelog for #6235 2021-11-02 15:26:45 -04:00
jeremystretch ad65e06d0a Closes #7252: Validate IP range size does not exceed max supported value 2021-09-28 15:44:41 -04:00
Jeremy Stretch 7058d6ca5a
Closes #6328: Local docs build (#6769)
* Incorporate local documentation build in upgrade script

* Add docs build to CI

* Include docs build path in revision control

* Update footer dcos link

* Changelog for #6328

* Clean up errant links
2021-07-19 14:18:08 -04:00
jeremystretch 8d8ac70070 Add IP range documentation 2021-07-16 13:48:57 -04:00
jeremystretch 266482649f Update VLAN documentation 2021-04-05 12:55:57 -04:00
Jeremy Stretch cca2173886 Documentation for #259 2020-09-24 14:18:08 -04:00
Jeremy Stretch 08c492f1f4 Merge develop into develop-2.10 2020-09-04 16:09:05 -04:00
Jeremy Stretch 96d2a8b30a Update IPAM model documentation 2020-07-30 12:55:51 -04:00
Jeremy Stretch 8a23811831 Add missing model doc pages 2020-03-05 13:48:47 -05:00
Jeremy Stretch a061a03860 Refactor service docs 2020-03-05 11:20:10 -05:00
Jeremy Stretch 593374764d Refactor IPAM docs 2020-03-05 11:16:54 -05:00