[PR #7648] [MERGED] Closes #5883: Enable dynamic configuration of some settings #13263

Closed
opened 2025-12-29 22:26:19 +01:00 by adam · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/netbox-community/netbox/pull/7648
Author: @jeremystretch
Created: 10/26/2021
Status: Merged
Merged: 10/27/2021
Merged by: @jeremystretch

Base: featureHead: 5883-dyanmic-config


📝 Commits (10+)

📊 Changes

41 files changed (+911 additions, -357 deletions)

View changed files

📝 docs/additional-features/napalm.md (+1 -1)
docs/configuration/dynamic-settings.md (+137 -0)
📝 docs/configuration/index.md (+6 -3)
📝 docs/configuration/optional-settings.md (+0 -134)
📝 docs/release-notes/version-3.1.md (+8 -0)
📝 docs/rest-api/overview.md (+2 -2)
📝 mkdocs.yml (+1 -0)
📝 netbox/dcim/api/serializers.py (+3 -2)
📝 netbox/dcim/api/views.py (+8 -5)
📝 netbox/dcim/models/devices.py (+2 -2)
📝 netbox/dcim/models/racks.py (+7 -3)
📝 netbox/dcim/tables/devices.py (+5 -12)
📝 netbox/extras/admin.py (+120 -2)
📝 netbox/extras/forms/__init__.py (+1 -0)
netbox/extras/forms/config.py (+79 -0)
netbox/extras/migrations/0064_configrevision.py (+20 -0)
📝 netbox/extras/models/__init__.py (+2 -1)
📝 netbox/extras/models/models.py (+66 -52)
📝 netbox/extras/signals.py (+13 -1)
📝 netbox/ipam/api/mixins.py (+8 -5)

...and 21 more files

📄 Description

Closes: #5883

  • Introduce the ConfigRevision model to store configuration parameters in the database
  • Implement a caching methodology for config parameters
  • Convert 16 settings from static to dynamic parameters
  • Add admin UI views & forms
  • Update documentation
  • Enable restoration of previous revisions
  • Add tests

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/netbox-community/netbox/pull/7648 **Author:** [@jeremystretch](https://github.com/jeremystretch) **Created:** 10/26/2021 **Status:** ✅ Merged **Merged:** 10/27/2021 **Merged by:** [@jeremystretch](https://github.com/jeremystretch) **Base:** `feature` ← **Head:** `5883-dyanmic-config` --- ### 📝 Commits (10+) - [`8224373`](https://github.com/netbox-community/netbox/commit/82243732a19f83cb55c60fe206470cbe04df638b) Initial work on #5883 - [`7c0f32e`](https://github.com/netbox-community/netbox/commit/7c0f32e8ee73914cca3262c68c685da02c82bf5a) Introduce ConfigItem; add rack elevation parameters - [`559dc2f`](https://github.com/netbox-community/netbox/commit/559dc2f8652959c136727ecf11fc3392fd6ac4f5) Add ALLOWED_URL_SCHEMES - [`94804fe`](https://github.com/netbox-community/netbox/commit/94804fecd8c00043dcdf50c45393f86a1e87b6c7) Add MAINTENANCE_MODE, MAPS_URL - [`64d8512`](https://github.com/netbox-community/netbox/commit/64d8512fc3dd16f4acdf6bf195645389ab9e9449) Add PAGINATE_COUNT, MAX_PAGE_SIZE - [`41ff1d0`](https://github.com/netbox-community/netbox/commit/41ff1d0fc92cb7e3fb5a2920cc052b5f4345f622) Add NAPALM config parameters - [`fbf91dd`](https://github.com/netbox-community/netbox/commit/fbf91dda7d466d6d962f0a6c08001b3765029650) Optimize config queries - [`66ed39b`](https://github.com/netbox-community/netbox/commit/66ed39b4b7fd6b85a0c0716233de161b9daa15ce) Clean up boolean fields - [`26d2da7`](https://github.com/netbox-community/netbox/commit/26d2da7b988362d24422d684983e71b8b32f90c8) Initialize Config with empty dict - [`626a446`](https://github.com/netbox-community/netbox/commit/626a446c3d0e1fe0e106658061fe136b2ffbc79e) Docs & changelog for #5883 ### 📊 Changes **41 files changed** (+911 additions, -357 deletions) <details> <summary>View changed files</summary> 📝 `docs/additional-features/napalm.md` (+1 -1) ➕ `docs/configuration/dynamic-settings.md` (+137 -0) 📝 `docs/configuration/index.md` (+6 -3) 📝 `docs/configuration/optional-settings.md` (+0 -134) 📝 `docs/release-notes/version-3.1.md` (+8 -0) 📝 `docs/rest-api/overview.md` (+2 -2) 📝 `mkdocs.yml` (+1 -0) 📝 `netbox/dcim/api/serializers.py` (+3 -2) 📝 `netbox/dcim/api/views.py` (+8 -5) 📝 `netbox/dcim/models/devices.py` (+2 -2) 📝 `netbox/dcim/models/racks.py` (+7 -3) 📝 `netbox/dcim/tables/devices.py` (+5 -12) 📝 `netbox/extras/admin.py` (+120 -2) 📝 `netbox/extras/forms/__init__.py` (+1 -0) ➕ `netbox/extras/forms/config.py` (+79 -0) ➕ `netbox/extras/migrations/0064_configrevision.py` (+20 -0) 📝 `netbox/extras/models/__init__.py` (+2 -1) 📝 `netbox/extras/models/models.py` (+66 -52) 📝 `netbox/extras/signals.py` (+13 -1) 📝 `netbox/ipam/api/mixins.py` (+8 -5) _...and 21 more files_ </details> ### 📄 Description ### Closes: #5883 - [x] Introduce the ConfigRevision model to store configuration parameters in the database - [x] Implement a caching methodology for config parameters - [x] Convert 16 settings from static to dynamic parameters - [x] Add admin UI views & forms - [x] Update documentation - [x] Enable restoration of previous revisions - [x] Add tests --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
adam added the pull-request label 2025-12-29 22:26:19 +01:00
adam closed this issue 2025-12-29 22:26:20 +01:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/netbox#13263