Uploaded image for project: 'OpenShift Bugs'
  1. OpenShift Bugs
  2. OCPBUGS-18996

"Create StorageClass" form breaks when a dynamic provisioner is selected


    • Icon: Bug Bug
    • Resolution: Done-Errata
    • Icon: Critical Critical
    • 4.15.0
    • 4.14.0
    • Management Console
    • None
    • Critical
    • No
    • False
    • Hide



      Description of problem:

      Please check: https://issues.redhat.com/browse/OCPBUGS-18702?focusedId=23021716&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-23021716 for more details.
      https://drive.google.com/drive/folders/14aSJs-lO6HC-2xYFlOTJtCZIQg3ekE85?usp=sharing (plz check recording "sc_form_typeerror.mp4").   
      1. TypeError mentioned above.
      2. Default params added by an extension are not getting added to the created StorageClass.
      3. Validation for parameters added by an extension in not working correctly as well.
      4. The Provisioner child details will be stuck once user selected 'openshift-storage.cephfs.csi.ceph.com'.

      Version-Release number of selected component (if applicable):

      4.14 (OCP)

      How reproducible:


      Steps to Reproduce:

      1. Install ODF operator.
      2. Create StorageSystem (once dynamic plugin is loaded).
      3. Wait for a while for ODF related StorageClasses gets created.
      4. Once they are created, go to "Create StorageSystem" form.
      5. Switch to provisioners (rbd.csi.ceph) added by ODF dynamic plugin. 

      Actual results:

      Page breaks with an error.

      Expected results:

      Page should not break.
      And functionality should be how it was acting before the refactoring introduced by PR: https://github.com/openshift/console/pull/13036

      Additional info:

      Stack trace:
      Caught error in a child component: TypeError: Cannot read properties of undefined (reading 'parameters')
          at allRequiredFieldsFilled (storage-class-form.tsx:204:1)
          at validateForm (storage-class-form.tsx:235:1)
          at storage-class-form.tsx:262:1
          at invokePassiveEffectCreate (react-dom.development.js:23487:1)
          at HTMLUnknownElement.callCallback (react-dom.development.js:3945:1)
          at Object.invokeGuardedCallbackDev (react-dom.development.js:3994:1)
          at invokeGuardedCallback (react-dom.development.js:4056:1)
          at flushPassiveEffectsImpl (react-dom.development.js:23574:1)
          at unstable_runWithPriority (scheduler.development.js:646:1)
          at runWithPriority$1 (react-dom.development.js:11276:1) {componentStack: '\n    at StorageClassFormInner (http://localhost:90...c03030668ef271da51f.js:491534:20)\n    at Suspense'}

            skatiyar@redhat.com Sanjal Katiyar
            skatiyar@redhat.com Sanjal Katiyar
            Xiyun Zhao Xiyun Zhao
            0 Vote for this issue
            8 Start watching this issue