Bug 1921880

Summary: Dynamic plugins are not initialized on console load in production mode
Product: OpenShift Container Platform Reporter: Samuel Padgett <spadgett>
Component: Management ConsoleAssignee: Vojtech Szocs <vszocs>
Status: CLOSED ERRATA QA Contact: Yadan Pei <yapei>
Severity: high Docs Contact:
Priority: unspecified    
Version: 4.7CC: aos-bugs, jokerman, yapei
Target Milestone: ---   
Target Release: 4.7.0   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Version: 4.7.0-0.nightly-2021-01-28-060516 Cluster ID: 3e96482b-790e-4272-8f6c-d8d2f5186643 Browser: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.16; rv:84.0) Gecko/20100101 Firefox/84.0
Last Closed: 2021-02-24 15:57:12 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Samuel Padgett 2021-01-28 18:44:37 UTC
The dynamic plugins set in the operator config are not being loaded on console startup. Only plugins loaded in development mode are being activated. The frontend should initialize all plugins through the console proxy on load instead of loading the URLs directly.

Comment 2 Yadan Pei 2021-02-04 06:20:47 UTC
1. Deploy console-demo-plugin on OpenShift cluster
[yapei@New_Mac dynamic-demo-plugin]$ oc apply -f oc-manifest.yaml 
namespace/console-demo-plugin created
deployment.apps/console-demo-plugin created
service/console-demo-plugin created
consoleplugin.console.openshift.io/console-demo-plugin created
$ oc get pods -n console-demo-plugin
NAME                                  READY   STATUS    RESTARTS   AGE
console-demo-plugin-c9674944c-9r9fn   1/1     Running   0          5m4s

2. enable the demo plugin and save the changes
$ oc edit console.operator.openshift.io cluster
...
spec:
  plugins:
    - console-demo-plugin
...

3. wait for new console pods created and running
4. check cm/console-config YAML to see if plugin settings are updated
$ oc get cm console-config  -n openshift-console -o yaml | grep plugins -A1
    plugins:
      console-demo-plugin: https://console-demo-plugin.console-demo-plugin.svc.cluster.local:9001/

5. open console URL and inspect window.SERVER_FLAGS.consolePlugins via browser console, it returns console-demo-plugin 
> window.SERVER_FLAGS.consolePlugins
["console-demo-plugin"]

console-demo-plugin is automatically loaded, verified on 4.7.0-0.nightly-2021-02-03-165316

Comment 4 Yadan Pei 2021-02-20 07:13:03 UTC
We can see some logs:

Loading entry script for plugin console-demo-plugin.0 from https://console-openshift-console.apps.qe-ui48-0220.qe.devcluster.openshift.com/api/plugins/console-demo-plugin/plugin-entry.js
Added plugin console-demo-plugin.0
Plugin console-demo-plugin.0 is now enabled

Comment 6 errata-xmlrpc 2021-02-24 15:57:12 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory (Moderate: OpenShift Container Platform 4.7.0 security, bug fix, and enhancement update), and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHSA-2020:5633