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

[openshift-4.22] hermetic build failure - nmstate-console-plugin

    • None
    • False
    • Hide

      None

      Show
      None
    • None
    • Critical
    • None
    • None
    • Proposed
    • None
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      Description of problem:

        nmstate-console-plugin fails to build in hermetic mode due to yarn package manager incompatibility and Cypress test framework attempting network downloads during build process.
        

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

        OpenShift Container Platform 4.14+
        nmstate-console-plugin component across all affected versions
        

      How reproducible:

        Always - occurs when converting any nmstate-console-plugin build from network_mode: open to hermetic mode
        

      Steps to Reproduce:

        1. Remove network_mode: open from nmstate-console-plugin.yml configuration
        2. Attempt hermetic build via Konflux build system
        3. Build fails during npm install phase when Cypress tries to download binaries
        

      Actual results:

        npm error Installing Cypress (version: 12.17.4)
        npm error The Cypress App could not be downloaded.
        npm error URL: https://download.cypress.io/desktop/12.17.4?platform=linux&arch=x64
        npm error Error: getaddrinfo ENOTFOUND download.cypress.io
      
        Build fails because:
        - Yarn package manager not supported by cachi2 for hermetic dependency management
        - Cypress testing framework requires network access to download.cypress.io
        - Custom yarn artifacts and dockerfile modifications conflict with hermetic requirements
        

      Expected results:

        nmstate-console-plugin builds successfully in hermetic mode without requiring network access during build process. Component should use npm package manager and disable Cypress binary
        downloads via CYPRESS_INSTALL_BINARY=0 environment variable.
        

      Additional info:

        Root cause: Component uses yarn package manager which is incompatible with cachi2 hermetic builds, plus Cypress test framework downloads binaries during build.
      
        Solution requires:
        1. Upstream yarn→npm migration (similar to networking-console-plugin)
        2. Set CYPRESS_INSTALL_BINARY=0 to disable test framework downloads
        3. Remove yarn-specific artifacts and dockerfile modifications
        4. Update ocp-build-data package manager configuration
      
        Reference upstream work: https://github.com/openshift/nmstate-console-plugin/pull/169
        Similar successful conversion: networking-console-plugin PRs #347 and #331
      
        Tracking: ART-14616 (parent task with technical analysis)
        

              upalatuc@redhat.com Ugo Palatucci
              lgarciaac Luis García Acosta
              None
              None
              Guohua Ouyang Guohua Ouyang
              None
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

                Created:
                Updated: