----- Original Message -----
> We could take an easier way and assume we only have 3 roles, as
in the
> current refactored code: controller, network, compute. The logic would
> then be:
> - By default we install everything, so all in one
> - If our host is not CONFIG_CONTROLLER_HOST but is part of
> CONFIG_NETWORK_HOSTS, we apply the network manifest
> - Same as above if our host is part of CONFIG_COMPUTE_HOSTS
>
> Of course, the last two options would assume a first server is installed as
> controller.
>
> This would allow us to reuse the same answer file on all runs (one per host
> as you proposed), eliminate the ssh code as we are always running locally,
> and make some assumptions in the python code, like expecting OPM to be
> deployed and such. A contributed ansible wrapper to automate the runs
> would be straightforward to create.
>
> What do you think? Would it be worth the effort?
+2 I like that proposal a lot! An ansible wrapper is then just an
example playbook in docs but could be done w/o ansible as well,
manually or using some other remote execution tooling of user's
choice.
Now that the phase 1 refactor is under review and passing CI, I think it's time to
come to a conclusion on this.
This option looks like the best compromise between keeping it simple and dropping the
least possible amount of features. So unless someone has a better idea, I'll work on
that as soon as the current review is merged.
Regards,
Javier
Alan