[PR #18537] [MERGED] Closes: #18535 - Skip incompatible plugins during startup #15371

Closed
opened 2025-12-30 00:21:33 +01:00 by adam · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/netbox-community/netbox/pull/18537
Author: @bctiemann
Created: 1/30/2025
Status: Merged
Merged: 3/10/2025
Merged by: @jeremystretch

Base: featureHead: 18535-skip-incompatible-plugins


📝 Commits (10+)

  • dd2ca38 Skip incompatible plugins during startup and remove from PLUGINS
  • baab200 Handle exceptions on request processors in incompatible plugins, and display status in Plugins page
  • 8b6a241 Revert "Handle exceptions on request processors in incompatible plugins, and display status in Plugins page"
  • 1423a1f Resolve merge conflicts
  • 55b5b7c Skip incompatible plugins during startup and remove from PLUGINS
  • 28cf67b Rename Installed column to Active, and add custom PluginActiveColumn with tooltip
  • 1d6a656 Fix is_installed
  • 92a5623 Simplify plugin_config.validate syntax
  • d1ea60f Merge feature
  • 9b7c10e Revert "Merge feature"

📊 Changes

7 files changed (+54 additions, -16 deletions)

View changed files

📝 netbox/core/exceptions.py (+7 -0)
📝 netbox/core/plugins.py (+10 -6)
📝 netbox/core/tables/plugins.py (+6 -2)
📝 netbox/core/tables/template_code.py (+12 -0)
📝 netbox/netbox/middleware.py (+5 -1)
📝 netbox/netbox/plugins/__init__.py (+3 -2)
📝 netbox/netbox/settings.py (+11 -5)

📄 Description

Closes: #18535

Changes the behavior of the PluginConfig.validate method so that if a plugin with incompatible min or max version specified, it raises an IncompatiblePluginError which is caught in settings.py and registering the plugin is skipped, allowing NetBox to launch cleanly with the plugin disabled.


🔄 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/18537 **Author:** [@bctiemann](https://github.com/bctiemann) **Created:** 1/30/2025 **Status:** ✅ Merged **Merged:** 3/10/2025 **Merged by:** [@jeremystretch](https://github.com/jeremystretch) **Base:** `feature` ← **Head:** `18535-skip-incompatible-plugins` --- ### 📝 Commits (10+) - [`dd2ca38`](https://github.com/netbox-community/netbox/commit/dd2ca387a5e1f409db38e4ba23d40a4c4b876be3) Skip incompatible plugins during startup and remove from PLUGINS - [`baab200`](https://github.com/netbox-community/netbox/commit/baab200f73d846df12209dad045e163403673b5d) Handle exceptions on request processors in incompatible plugins, and display status in Plugins page - [`8b6a241`](https://github.com/netbox-community/netbox/commit/8b6a241500389800aca8099fa18bc200b2afd8d1) Revert "Handle exceptions on request processors in incompatible plugins, and display status in Plugins page" - [`1423a1f`](https://github.com/netbox-community/netbox/commit/1423a1f0d32164518310b5d5aa5c34822f4a2d3a) Resolve merge conflicts - [`55b5b7c`](https://github.com/netbox-community/netbox/commit/55b5b7c53a768fb9876b60b636cdc9f86916d374) Skip incompatible plugins during startup and remove from PLUGINS - [`28cf67b`](https://github.com/netbox-community/netbox/commit/28cf67b732f0b4f6024d2bd2be1a93cc53b2cabf) Rename Installed column to Active, and add custom PluginActiveColumn with tooltip - [`1d6a656`](https://github.com/netbox-community/netbox/commit/1d6a656d633c9bb479a6f604f8a673f86dc08d1c) Fix is_installed - [`92a5623`](https://github.com/netbox-community/netbox/commit/92a56230160357a01d875029e865b5d07368d84e) Simplify plugin_config.validate syntax - [`d1ea60f`](https://github.com/netbox-community/netbox/commit/d1ea60f08270b9e79d30b9fa9859049aa371f4c6) Merge feature - [`9b7c10e`](https://github.com/netbox-community/netbox/commit/9b7c10e86409d113ed8ea31f0e3da59da607e99c) Revert "Merge feature" ### 📊 Changes **7 files changed** (+54 additions, -16 deletions) <details> <summary>View changed files</summary> 📝 `netbox/core/exceptions.py` (+7 -0) 📝 `netbox/core/plugins.py` (+10 -6) 📝 `netbox/core/tables/plugins.py` (+6 -2) 📝 `netbox/core/tables/template_code.py` (+12 -0) 📝 `netbox/netbox/middleware.py` (+5 -1) 📝 `netbox/netbox/plugins/__init__.py` (+3 -2) 📝 `netbox/netbox/settings.py` (+11 -5) </details> ### 📄 Description ### Closes: #18535 Changes the behavior of the `PluginConfig.validate` method so that if a plugin with incompatible min or max version specified, it raises an `IncompatiblePluginError` which is caught in `settings.py` and registering the plugin is skipped, allowing NetBox to launch cleanly with the plugin disabled. --- <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-30 00:21:33 +01:00
adam closed this issue 2025-12-30 00:21:33 +01:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/netbox#15371