You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The current MiqServer::WorkerManagement was originally developed around starting worker processes on appliances, and a lot of logic for actually starting and stopping workers is handled in the MiqWorker class rather than in the MiqServer::WorkerManagement module.
With the addition of the "podified" runtime the way that workers are started and stopped was conditional and some checks had to be added throughout the code. Adding the systemd runtime compounded this with even more conditional checks.
A cleaner design would be to consolidate the worker management logic into a common interface that has the worker operations like start/stop/restart implemented by subclasses like Container/Systemd/Process. The MiqWorker class can then only be responsible for the name, count, and env vars/config without any special consideration for if they'll be run k8s or systemd.
This issue has been automatically marked as stale because it has not been updated for at least 3 months.
If you can still reproduce this issue on the current release or on master, please reply with all of the information you have about it in order to keep the issue open.
Thank you for all your contributions! More information about the ManageIQ triage process can be found in the triage process documentation.
The current
MiqServer::WorkerManagement
was originally developed around starting worker processes on appliances, and a lot of logic for actually starting and stopping workers is handled in the MiqWorker class rather than in the MiqServer::WorkerManagement module.With the addition of the "podified" runtime the way that workers are started and stopped was conditional and some checks had to be added throughout the code. Adding the systemd runtime compounded this with even more conditional checks.
A cleaner design would be to consolidate the worker management logic into a common interface that has the worker operations like start/stop/restart implemented by subclasses like Container/Systemd/Process. The MiqWorker class can then only be responsible for the name, count, and env vars/config without any special consideration for if they'll be run k8s or systemd.
TODO
The text was updated successfully, but these errors were encountered: