Skip to content
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

[WIP] [POC] Remove multiple server support from the orchestrator process. #21535

Closed
wants to merge 4 commits into from

Conversation

Fryguy
Copy link
Member

@Fryguy Fryguy commented Nov 2, 2021

This PR is a PoC to show how we don't need as_each_server at the evm_server level. It probably does not work as is. This is a partial revert of #19734

The idea here is that the orchestrator should only be responsible for its own "server". In appliances this is done automatically because we only watch one server anwyay, and we presume the rest of the server records are being watched by their orchestrators. In podified, this was changed to watch every "server", however all of the servers are fake records that are only in place to deal with the zone -> miq_server relationship which we need for zone support.

Instead, what we can do is just watch the one "server" record we care about, and then change the way we monitor other servers in server_monitor.rb. What's missing from this PR is that the server_monitor.rb code needs to change such that we can have a subclass for Kubernetes that effectively does nothing for the other "fake" servers (i.e. we don't care about heartbeats), but still allow for role management to support the zones concept of placement. @agrare had a good idea for a MiqServer::PlatformManagement, which I think aligns with this.

Built on #21532, so only look at the latest commit: https://github.com/Fryguy/manageiq/compare/Fryguy:remove_as_each_server~...Fryguy:remove_as_each_server?expand=1

cc @agrare @jrafanie

agrare and others added 4 commits November 1, 2021 14:58
On podified there are multiple miq_server instances but only one
"master".  All miq_servers run on the same kubernetes cluster and thus
only have to run one set of monitor_pods/monitor_deployments threads to
update the global current_pods/current_deployments hashes.
@Fryguy Fryguy requested a review from jrafanie as a code owner November 2, 2021 17:07
@miq-bot miq-bot added the wip label Nov 2, 2021
@miq-bot
Copy link
Member

miq-bot commented Nov 2, 2021

Checked commit Fryguy@29d751e with ruby 2.6.3, rubocop 1.13.0, haml-lint 0.35.0, and yamllint
2 files checked, 0 offenses detected
Everything looks fine. ⭐

@miq-bot
Copy link
Member

miq-bot commented Nov 10, 2021

This pull request is not mergeable. Please rebase and repush.

@miq-bot
Copy link
Member

miq-bot commented Feb 27, 2023

This pull request has been automatically closed because it has not been updated for at least 3 months.

Feel free to reopen this pull request if these changes are still valid.

Thank you for all your contributions! More information about the ManageIQ triage process can be found in the triage process documentation.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants