Uploaded image for project: 'OpenShift Container Platform (OCP) Strategy'
  1. OpenShift Container Platform (OCP) Strategy
  2. OCPSTRAT-870

Retroactive default StorageClass assignment - GA


    • False
    • Hide


    • False
    • OCPSTRAT-16OpenShift - Kubernetes and Core Platform
    • 0% To Do, 0% In Progress, 100% Done
    • 100% (High)
    • 0
    • 0
    • Program Call

      Feature Goal*

      What is our purpose in implementing this?  What new capability will be available to customers?

      The goal of this feature is to GA the retroactive storage class assignment upstream and productise it in OCP.

      Why is this important? (mandatory)

      At the moment, when no default class is set and a PVC created without any explicit storage class, the PVC is stuck forever. This feature allows these PVC to be retroactively assigned as soon as a default storage class is set. This can cause issues during installation when not default storage is set yet or during a change in the default storage class.

      Scenarios (mandatory) 

      Provide details for user scenarios including actions to be performed, platform specifications, and user personas.  


      In some cases there is no default SC defined, this can happen during OCP deployment where components such as the registry request a PV whereas the SC are not been defined yet. This can also happen during a change in default SC, there won't be any between the admin unset the current one and set the new on.


      • The admin marks the current default SC1 as non-default.

      Another user creates PVC requesting a default SC, by leaving pvc.spec.storageClassName=nil. The default SC does not exist at this point, therefore the admission plugin leaves the PVC untouched with pvc.spec.storageClassName=nil.
      The admin marks SC2 as default.
      PV controller, when reconciling the PVC, updates pvc.spec.storageClassName=nil to the new SC2.
      PV controller uses the new SC2 when binding / provisioning the PVC.

      • The installer creates PVC for the image registry first, requesting the default storage class by leaving pvc.spec.storageClassName=nil.

      The installer creates a default SC.
      PV controller, when reconciling the PVC, updates pvc.spec.storageClassName=nil to the new default SC.
      PV controller uses the new default SC when binding / provisioning the PVC.

      Dependencies (internal and external) (mandatory)

      What items must be delivered by other teams/groups to enable delivery of this epic. 

      No external dependencies.

      Contributing Teams(and contacts) (mandatory) 

      Our expectation is that teams would modify the list below to fit the epic. Some epics may not need all the default groups but what is included here should accurately reflect who will be involved in delivering the epic.

      • Development - STOR
      • Documentation - STOR
      • QE - STOR
      • PX - 
      • Others -

      Acceptance Criteria (optional)

      Provide some (testable) examples of how we will know if we have achieved the epic goal.  

      Drawbacks or Risk (optional)

      Can bring confusion to customer as there is a change in the default behavior customer are used to. This needs to be carefully documented.

      Done - Checklist (mandatory)

      The following points apply to all epics and are what the OpenShift team believes are the minimum set of criteria that epics should meet for us to consider them potentially shippable. We request that epic owners modify this list to reflect the work to be completed in order to produce something that is potentially shippable.

      • CI Testing -  Basic e2e automationTests are merged and completing successfully
      • Documentation - Content development is complete.
      • QE - Test scenarios are written and executed successfully.
      • Technical Enablement - Slides are complete (if requested by PLM)
      • Engineering Stories Merged
      • All associated work items with the Epic are closed
      • Epic status should be “Release Pending” 

            rh-gs-gcharot Gregory Charot
            rh-gs-gcharot Gregory Charot
            Roman Bednar Roman Bednar
            Wei Sun Wei Sun
            Lisa Pettyjohn Lisa Pettyjohn
            Roman Bednar Roman Bednar
            Gregory Charot Gregory Charot
            Eric Rich Eric Rich
            0 Vote for this issue
            3 Start watching this issue