-
Story
-
Resolution: Done
-
Critical
-
None
-
None
-
Strategic Product Work
-
3
-
False
-
None
-
False
-
OCPSTRAT-339 - [Phase 2] Add a new platform type ("external") to identify clusters with non-integrated partner components enabled
-
-
-
CLOUD Sprint 239, CLOUD Sprint 240
User Story
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.
Background
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.
After updating openshift/library-go, it will need to be re-vendored into the MCO , KCMO , and CCCMO (although this is not as critical as the other 2).
Steps
- 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
Stakeholders
- openshift eng
- oracle cloud install effort
Definition of Done
- openshift can be installed with External platform type with kubelet, and related components, using the external cloud provider flags.
- Docs
- this will need to be documented in the API and as part of
OCPCLOUD-1581
- Testing
- 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
- links to