Description
/kind feature
/area provider/ibmcloud
User Story
What would you like to be added?
The ability for IBM Cloud CAPI to verify and potentially create Dedicated Hosts for hosting Machine VSI's, during cluster infrastructure reconciliation alleviating the user from having to do so manually.
Detailed Feature Description
For Infrastructure based clusters, IBM Cloud CAPI should reconcile a list of Dedicated Hosts for a VPC, verifying they exist and and available to host VPC VSI's (for Machines), or if necessary create the Dedicated Host(s) during infrastructure reconciliation.
Context & Motivation
What problem does this solve, and why is it important?
IBM Cloud CAPI can create an entire cluster infrastructure (VPC, subnets, VSI's, etc.), but the ability to use IBM Cloud VPC Dedicated Hosts is currently only available to existing cluster infrastructure (and existing Dedicated Hosts). Adding this capability to IBM Cloud CAPI to not only verify, but potentially create Dedicated Hosts would allow for simpler user experiences.
Proposed Solution
How should this be implemented?
- Add new API resources for a Dedicated Host.
- Add a slice of Dedicated Hosts to Spec (and their equivalent to Status) for Infrastructure Cluster definitions
- Add a new step during Infrastructure's cluster infrastructure reconciliation, for Dedicated Hosts
- Dedicated Hosts are attempted to be verified (existing) or can be created, assuming the necessary fields are populated
- Once all Dedicated Hosts are created (if necessary) and appear ready, continue reconciliation to next resource (say, between Custom Image and Subnets)
- Machine reconciliation may benefit from a verification of Dedicated Host, but may be unnecessary (TBD)
Alternatives Considered
Have you considered any alternatives?
The only alternate solution is to have a user create all necessary Infrastructure resources, to use existing Dedicated Hosts.
Additional Information
Anything else you would like to add?
An initial attempt to add this support would be to start with targeting creation of Dedicated Hosts by Zone, and potentially follow up with support of creating or using existing Dedicated Host Groups as well.