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

[release-4.15] Console plugin proxy changes status code to 200

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done-Errata
    • Icon: Major Major
    • 4.15.0
    • 4.15.0
    • Management Console
    • None
    • Important
    • No
    • False
    • Hide

      None

      Show
      None
    • Hide
      *Cause*: Console server was not relying status code from the plugin service response.
      *Consequence*: Plugin service code always responses return code 200.
      *Fix*: Console server properly writes proxy service return code into response header.
      *Result*: Console server returns proxy service return code.
      Show
      *Cause*: Console server was not relying status code from the plugin service response. *Consequence*: Plugin service code always responses return code 200. *Fix*: Console server properly writes proxy service return code into response header. *Result*: Console server returns proxy service return code.
    • Bug Fix
    • In Progress

      This is a clone of issue OCPBUGS-26933. The following is the description of the original issue:

      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
              openshift-crt-jira-prow OpenShift Prow Bot
              YaDan Pei YaDan Pei
              Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

                Created:
                Updated:
                Resolved: