As a Red Hat Partner installing OpenShift using the External platform type, I would like to install my own Cloud Controller Manager(CCM). Having a field in the Infrastructure configuration object to signal that I will install my own CCM and that Kubernetes should be configured to expect an external CCM will allow me to run my own CCM on new OpenShift deployments.
This work has been defined in the External platform enhancement , and had previously been part of openshift/api . The CCM API pieces were removed for the 4.13 release of OpenShift to ensure that we did not ship unused portions of the API.
In addition to the API changes, library-go will need to have an update to the IsCloudProviderExternal function to detect the if the External platform is selected and if the CCM should be enabled for external mode.
We will also need to check the ObserveCloudVolumePlugin function to ensure that it is not affected by the external changes and that it continues to use the external volume plugin.
- update openshift/api with new CCM fields (re-revert #1409)
- revendor api to library-go
- update IsCloudProviderExternal in library-go to observe the new API fields
- investigate ObserveCloudVolumePlugin to see if it requires changes
- revendor library-go to MCO, KCMO, and CCCMO
- update enhancement doc to reflect state
- openshift eng
- oracle cloud install effort
- openshift can be installed with External platform type with kubelet, and related components, using the external cloud provider flags.
- this will need to be documented in the API and as part of OCPCLOUD-1581
- this will need validation through unit test, integration testing may be difficult as we will need a new e2e built off the external platform with a ccm