
On Mon, Jun 12, 2017 at 5:50 PM, Leon Goldberg <lgoldber@redhat.com> wrote:
Hey,
We're trying to come up with a way to deploy OVN provider's firewalld services during engine setup. The naive solution of querying the user during customization and then installing during STAGE_PACKAGES fails as firewalld configuration happens prior to it.
We thought of a couple of possible solutions we'd like your opinions on (ordered in perceived level of difficulty):
1) Ship/require the packages with ovirt-engine without requiring user input. This essentially couples engine with OVN and disregards a future where OVN doesn't run alongside Engine.
How much space will this add? RPMs/Installed-size? This is also what we do today with dwh. It can run in the engine machine or on a different one, but the engine still (indirectly) requires it. So it's always shipped, and if user chooses to not configure it, it still takes space, and user has to set it up elsewhere.
2) Install the packages immediately following user input during customization. A bit hacky and doesn't conceptually fit the stage of customization.
3) Move user input to STAGE_INTERNAL_PACKAGES. Feels more disruptive than #1 to the current otopi flow as STAGE_INTERNAL_PACKAGES is dedicated for packages that are required for otopi itself to operate. Not only this doesn't fit conceptually, it introduces user input to a stage that shouldn't have any.
4) Move firewalld configuration to happen after STAGE_PACKAGES.
This is a rather big change to how things are done, and breaks iptables support. If we want to keep iptables support, and allow prompting the user with the changes that will be done to iptables [1], we must know beforehand which ports will need to be opened, so we need the firewalld service files during customization. Thinking about this, another option is to package the service files separately (in ovn itself, one day, or in the provider, for now) - and require by the engine only this sub-package, which should be tiny and have no dependencies (except for firewalld perhaps). [1] https://bugzilla.redhat.com/1109326
5) Refactor to prepare the grounds for OVN/Engine separation. At this point this feels very ambiguous. We don't yet know how will containers be accessed (is ssh guaranteed?) in the future or generally how should a remote installation look like.
Agreed. While "this is the future", I do not think we can do anything worthy for 4.2. Best,
Any input/questions are appreciated.
Thanks, Leon
-- Didi