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

Console plugin proxy changes status code to 200

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Major Major
    • None
    • 4.15.0
    • Management Console
    • None
    • Important
    • No
    • False
    • Hide

      None

      Show
      None
    • Hide
      The console plugin proxy was not copying the status code from plugin service responses. This caused all responses from the plugin service to have a 200 status, which caused unexpected behavior on the front end, especially around browser caching. We updated the console proxy logic to forward the plugin service proxy response status code. Proxied plugin requests now behave as expected.
      Show
      The console plugin proxy was not copying the status code from plugin service responses. This caused all responses from the plugin service to have a 200 status, which caused unexpected behavior on the front end, especially around browser caching. We updated the console proxy logic to forward the plugin service proxy response status code. Proxied plugin requests now behave as expected.
    • Bug Fix
    • In Progress

      Description of problem:

      Console is overriding status code of HTTP requests proxied to dynamic plugin services

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

      4.15.0-ec.2

      How reproducible:

      Always

      Steps to Reproduce:

      1. Create an OpenShift 4.15.0-ec.2 cluster or newer
      2. Install ACM 2.9.1 from OperatorHub and create a MultiClusterHub operand
      3. Expose the plugin service: oc -n multicluster-engine expose service console-mce-console
      4. Set tls.termination to passthrough on route/console-mce-console
      5. Compare responses from curling the proxy and the service directly.
          

      Actual results:

      $ curl -k -D - -H "Cookie: <REDACTED>" -H "If-Modified-Since: Thu, 07 Dec 2023 14:45:30 GMT" https://console-openshift-console.apps.kevin-415.dev02.red-chesterfield.com/api/plugins/mce/plugin-manifest.json
      HTTP/1.1 200 OK
      cache-control: no-cache
      date: Wed, 10 Jan 2024 21:16:10 GMT
      last-modified: Thu, 07 Dec 2023 14:45:30 GMT
      referrer-policy: strict-origin-when-cross-origin
      x-content-type-options: nosniff
      x-dns-prefetch-control: off
      x-frame-options: DENY
      x-xss-protection: 1; mode=block
      content-length: 0 
      
      curl -k -D - -H "If-Modified-Since: Thu, 07 Dec 2023 14:45:30 GMT" https://console-mce-console-multicluster-engine.apps.kevin-415.dev02.red-chesterfield.com/plugin/plugin-manifest.json
      HTTP/2 304 
      cache-control: no-cache
      last-modified: Thu, 07 Dec 2023 14:45:30 GMT
      date: Wed, 10 Jan 2024 21:26:33 GMT

      Expected results:

      Response code of 304 should be returned by the proxy route, not changed to 200.

      Additional info:

      Introduced by https://github.com/openshift/console/pull/13272    

            rh-ee-jonjacks Jon Jackson
            rh-ee-kcormier Kevin Cormier
            YaDan Pei YaDan Pei
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

              Created:
              Updated: