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

[Podification] Make it work with Zones #353

Closed
Fryguy opened this issue Dec 4, 2019 · 2 comments · Fixed by ManageIQ/manageiq#19789
Closed

[Podification] Make it work with Zones #353

Fryguy opened this issue Dec 4, 2019 · 2 comments · Fixed by ManageIQ/manageiq#19789
Assignees
Milestone

Comments

@Fryguy
Copy link
Member

Fryguy commented Dec 4, 2019

Requires reworking of the podified orchestrator

@carbonin
Copy link
Member

ManageIQ/manageiq#19648 further decouples the server from workers by reducing our use of Drb and simplifies the server.

@carbonin
Copy link
Member

carbonin commented Dec 17, 2019

The problem here is that, currently, the pods architecture uses only a single server and the "orchestrator" is just the server process (worker manager) for that single server. This is a problem because if we want multiple zones (and specific roles within those zones) we need multiple servers to put in zones.

We don't have a way to create a new "server" in pods so the plan here is to create a stub server model for each zone to serve as a link between zones, roles, and workers that will allow an external worker monitor to dictate worker assignments for the whole region.

The path forward on this is to simplify the server logic enough so it's possible to move it out of the actual MiqServer model. At that point we can generalize the logic so it can work against multiple servers, effectively de-coupling the worker monitor logic from a specific runtime. Then, in pods, we would set up the "orchestrator" to monitor workers for every server in the region.

The biggest challenge here is to not break the existing appliance-based server architecture during this process. This means that we want to reduce the differences between the pods and appliance cases as much as possible. Some places I've picked out as candidates for this kind of refactoring are:

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

Successfully merging a pull request may close this issue.

3 participants