Uploaded image for project: 'OpenShift Cloud'
  1. OpenShift Cloud
  2. OCPCLOUD-2010

Add CCM support to External platform API


    • Icon: Story Story
    • Resolution: Done
    • Icon: Critical Critical
    • None
    • None
    • 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.


      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).


      • 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

      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

            agentil@redhat.com Adrien Gentil
            mimccune@redhat.com Michael McCune
            Huali Liu Huali Liu
            0 Vote for this issue
            9 Start watching this issue