CAPO: support Sylva's stack installation across multiple OpenStack platforms

In the Validation Center, we have identified that it would be useful to have the capability to deploy the Sylva's stack across multiple OpenStack platforms.

Some of the reasons to implement this feature are:

  1. In some cases, an OpenStack's platform may be not easy to expand with new servers (it depends on many factors, like the installer of the OpenStack's platform, the heterogeneity of the servers available to expand the platform, among others), being easier to deploy a new OpenStack instance on the new available servers.
  2. In production environments, it is a must to have redundancy of the control plane nodes of the different clusters that are part of Sylva's stack. In this case, having them redundant in different OpenStack's instances (that could be geographically separated) is a really good option.
  3. Deploying Sylva's stack across multiple OpenStack's platforms provides more flexibility and availability of Sylva's services than having it deployed on only one platform (e.g. maintenance windows of datacenters could lead to service loss if we are working with only one OpenStack's platform and all its nodes are deployed in the same physical datacenter under maintenance).

Regarding to the last point, we will have to cover in the future migration capabilities in order to migrate the nodes that are deployed in an OpenStack under maintenance to another available OpenStack that can assume the load, preserving Sylva's services availability.