Open jrafanie opened 2 years ago
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.
We found there was a missing worker class that was persisted in the
miq_workers
table but was subsequently removed in newer versions:https://github.com/ManageIQ/manageiq/pull/17196 removed this worker and the PRs: https://github.com/ManageIQ/manageiq-providers-vmware/pull/216 added
MiqEmsRefreshCoreWorker
andMiqVimBrokerWorker
to the provider https://github.com/ManageIQ/manageiq-providers-vmware/pull/488 removedMiqEmsRefreshCoreWorker
from the provider https://github.com/ManageIQ/manageiq-providers-vmware/pull/506 removedMiqVimBrokerWorker
from the providerWe didn't write a migration to remove these rows from
miq_workers
leading to the reported issue.Note, this code in the server is there to remove these
unknown
worker class rows at startup but because it's mixing "process killing" and "miq_workers row removal", it's only removing theseunknown
rows for the current/local server. Additionally, it seems problematic to kill valid worker rows for another server, especially if it's active. If you upgrade from one old version to another and old servers are not started on the new code, it will never clean them up.TODO:
MiqServer.seed
or in the tools directory and would do something like this:MiqServer.all.each {|s| s.worker_manager.send(:kill_unknown_worker_processes)}
(but without trying to kill the actual Process) ref