-
Notifications
You must be signed in to change notification settings - Fork 898
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Completely remove the MiqVimBrokerWorker #19673
Completely remove the MiqVimBrokerWorker #19673
Conversation
We probably should have a migration to remove any miq_worker rows for broker workers |
44d80ad
to
070edd1
Compare
@chessbyte - The problem with the method you referenced is that it is still STI aware. That is, when the query sees an existing MiqVimBrokerWorker row, it will try to instantiate that class and blow up because it won't find the class anymore. This has bitten us before, unfortunately. However, @jrafanie, I think @chessbyte has a point. If we make the method NOT STI aware, would that solve all of our future problems? Two ways I can think to do it...
|
Okay put the schema PR in and kicked the cross-repo tests |
Thanks for the clarification.
Agree that we do not need to instantiate a specific worker class just so we can kill the process and delete the row.
I prefer the
Totally agree that this would be useful in other scenarios. Where should this be defined? |
Looking at @Fryguy's cool ideas about avoiding the the STI problem with missing classes, I am also wondering if we need to be in the business of managing the server's worker processes. I think much of these process related checks were written before systemd and I don't know how likely there are to be runaway processes that don't exit or don't get killed by systemd. The processes can't be heartbeating as their server's drb port has changed once the server was restarted so I'm not sure what situation a worker could get in that would leave it running but not heartbeating and not exceeding memory... maybe a deadlock? Either way, I'm curious if we would have written this code in this way if we were to start from scratch with systemd. |
7ae2d8a
to
2096f8d
Compare
2096f8d
to
70bb989
Compare
@kbrock maybe you can take a look at implementing the |
@agrare what is the status of this PR? hard to figure out what the dependencies and/or issues are before this can be merged |
Yeah sorry @chessbyte I've been working on finishing up this issue #19543 then I'm going to get back to this. Mainly just need to get the cross-repo tests green in addition to some manual testing. |
a850e1f
to
395a1d4
Compare
395a1d4
to
36ec1d6
Compare
|
||
# Check for a specific type (host/ems) if passed | ||
# Default use_vim_broker is true for ems type | ||
::Settings.coresident_miqproxy["use_vim_broker_#{type}"] == true |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can we drop this setting altogether? Do we need a data migration to drop it?
36ec1d6
to
02a2f05
Compare
02a2f05
to
755d219
Compare
Checked commits agrare/manageiq@201fc05~...755d219 with ruby 2.5.5, rubocop 0.69.0, haml-lint 0.20.0, and yamllint 1.10.0 app/models/vm_or_template.rb
spec/models/miq_action_spec.rb
|
🎉 🎉 🎉 🎉 🌮 🎉 |
🔥 🗑 🚽 |
Wow!!!!! This has been a long time coming!! Congratulations to all involved for making this happen! |
This is the complete removal of the MiqVimBrokerWorker
Depends on:
Cross Repo Tests: ManageIQ/manageiq-cross_repo-tests#44