Hide Forgot
Description of problem: When adding a custom extension point in `console-extensions.json`, the validator reports error. The validation is based on the schema generated from the extensions defined in the SDK. The validation needs to be more permissive. Version-Release number of selected component (if applicable): 4.10 How reproducible: 1/1 Steps to Reproduce: 1. Add a custom extension point 2. Try to build the dynamic plugin. 3. Try to run it on console. Actual results: Compilation errors out( can be supressed using env variables) Even if we get it to compile the plugin will fail to load due to errors on the runtime. Expected results: Custom extension points should be loaded and be registered. Additional info: Example of an custom extension point. ``` { "type": "odf.dashboard/widget", "properties": { "component": {"$codeRef": "dashboard.RerouteResource"} } } ```
This bug has been verified on payload 4.11.0-0.nightly-2022-03-04-063157 Verification Steps: 1. Clone the newest console code, configuration a custom plugin. Like dynamic-demo-plugin 2. Add below part (an example) into console-extensions.json file which under the path ./console/dynamic-demo-plugin { "type": "testing", "properties": { "abc": true } }, { "type": "testing.test", "properties": { "foo": { "$codeRef": "barUtils.testHandler" } } }, 3. Login OCP by using CLI command 4. Following below command to build a dynamic plugin(Note: Following the Steps to run the command on different terminal) Terminal 1: under path ./console/ step 1: $ source ./contrib/oc-environment.sh step 8: $./bin/bridge -plugins console-demo-plugin=http://localhost:9001 Terminal 2: under path ./console/frontend/ step 2: $ yarn install step 3: $ yarn build step 7: $ yarn dev Terminal 3: under path .console/dynamic-demo-plugin step 4: $ yarn install step 5: $ yarn run build step 6: $ yarn http-server 5. Verify if there is no error found after finish 4.step5, the dynamic plugin can be built successfully with custom extension 6. Go to path ./console/dynamic-demo-plugin/dist Verify if the custom defined extension has been added into plugin-maifest.json file 7. Verify if the OKD page is load successfully without error Result: 5. The dynamic plugin is build successfully without error built modules 39.9 KiB (javascript) 252 bytes (consume-shared) [built] javascript modules 39.9 KiB modules by path ./components/ 30.9 KiB 7 modules modules by path ./utils/ 8.98 KiB ./utils/example-navs.tsx + 1 modules 2.1 KiB [built] [code generated] + 4 modules container entry 42 bytes [built] [code generated] consume-shared-module modules 252 bytes modules by path *.0 (singleton) 84 bytes consume shared module (default) react-router-dom@=5.2.0 (singleton) 42 bytes [built] [code generated] consume shared module (default) react@^16.8.0 || ^17.0.0 (singleton) 42 bytes [built] [code generated] + 4 modules webpack 5.68.0 compiled successfully in 7919 ms Done in 9.77s. 6. The custom defined extension has been added into plugin-maifest.json file 7. OKD page is loaded normally
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 (Important: OpenShift Container Platform 4.11.0 bug fix and security 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-2022:5069