Allow dynamic instances of non-hotplug plugins#735
Conversation
b4c28f6 to
0c9446e
Compare
4ccee1f to
1c81bc0
Compare
1c81bc0 to
21bc0b4
Compare
21bc0b4 to
eece4fe
Compare
Signed-off-by: Adriaan Schmidt <adriaan.schmidt@siemens.com>
eece4fe to
2909323
Compare
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Enterprise Run ID: 📒 Files selected for processing (3)
💤 Files with no reviewable changes (1)
📝 WalkthroughSummary by CodeRabbit
WalkthroughThe PR establishes a device management abstraction pattern for the tuned plugin system. The base ChangesDevice Support Infrastructure and Controller Adaptation
🎯 2 (Simple) | ⏱️ ~10 minutes 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Split off #628 for easier review and discussion.
This removes the checks for "is the plugin of type
hotplug.Plugin" frominstance_createandinstance_destroy, while keeping the rest of the code in controller.py as-is. To do this, some of the device related methods need noop-implementations inbase.Plugin.Notes:
base.Pluginseems to implement some device methods with actual logic (assign_free_devices,release_devices,_run_for_each_device,_call_device_script,_*_device_commands). Why are those not inhotplug.Plugin?create_instance, we could add checking and warnings if the user creates abase.Plugininstance and sets thedevices=ordevices_udev_regex=options. At the moment these options would be ignored silently (which is also ok I guess).