Bug 1883679 - Redis operator failed to create RedisEnterpriseCluster instance via console
Summary: Redis operator failed to create RedisEnterpriseCluster instance via console
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: OpenShift Container Platform
Classification: Red Hat
Component: Management Console
Version: 4.5
Hardware: Unspecified
OS: Unspecified
high
high
Target Milestone: ---
: 4.6.0
Assignee: Jon Jackson
QA Contact: Yadan Pei
URL:
Whiteboard:
Depends On:
Blocks: 1884411
TreeView+ depends on / blocked
 
Reported: 2020-09-29 20:27 UTC by jooho lee
Modified: 2023-12-15 19:35 UTC (History)
6 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Cause: In some cases, the value passed to the resource requirements widget in the legacy operand creation form might not be an immutablejs map instance. Consequence: A runtime error was thrown when trying to reference the immutablejs Map.getIn function on the resource requirement widget current value. Fix: Use optional chaining when referencing the immutablejs Map.getIn function. Result: No runtime error is thrown and the widget is rendered without a value.
Clone Of:
Environment:
Last Closed: 2020-10-27 16:46:29 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)
Screenshot of redis instance creation form (99.93 KB, image/png)
2020-10-07 07:12 UTC, Siva Reddy
no flags Details


Links
System ID Private Priority Status Summary Last Updated
Github openshift console pull 6808 0 None closed Bug 1883679: Fix runtime error in legacy operand form 2020-12-04 08:41:51 UTC
Red Hat Product Errata RHBA-2020:4196 0 None None None 2020-10-27 16:46:51 UTC

Description jooho lee 2020-09-29 20:27:01 UTC
Description of problem:
Redis Operator can be installed via operatorhub without any errors. However, when I create a RedisEnterpriseCluster instance, whole page changes to blank.

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


How reproducible:
Always

Steps to Reproduce:
1. Install Redis Operator via Console
2. Click "Create RedisEnterpriseCluster" on the "RedisEnterpriseCluster" tab menu.
3.

Actual results:
Whole page of Console become blank.

Expected results:
The Console show the page the detail information of RedisEnterpriseCluster instance to move forward.

Additional info:

Comment 1 Kevin Rizza 2020-09-29 21:04:00 UTC
Moving this to the Console as this appears to be potentially a UI issue. The operator is installed and adding the CR via kubectl works fine.

Comment 2 Jakub Hadvig 2020-09-30 12:45:07 UTC
I see following error:
```
react_devtools_backend.js:2273 TypeError: c.getIn is not a function
    at Se (create-operand-chunk-22803470c9b57b427be0.min.js:1)
    at R.createElement.R.createElement.R.createElement.R.createElement.R.createElement.s.a.e (create-operand-chunk-22803470c9b57b427be0.min.js:1)
    at t.a (vendors~main-chunk-1d2a4afafc1b80b81e98.min.js:18508)
    at Object.t.a (vendors~main-chunk-1d2a4afafc1b80b81e98.min.js:104)
    at R.createElement.R.createElement.R.createElement.R.createElement.R.createElement (create-operand-chunk-22803470c9b57b427be0.min.js:1)
    at xe (create-operand-chunk-22803470c9b57b427be0.min.js:1)
    at Fo (vendors~main-chunk-1d2a4afafc1b80b81e98.min.js:161173)
    at Ks (vendors~main-chunk-1d2a4afafc1b80b81e98.min.js:161173)
    at Bs (vendors~main-chunk-1d2a4afafc1b80b81e98.min.js:161173)
    at Ns (vendors~main-chunk-1d2a4afafc1b80b81e98.min.js:161173)
```

Most probably the issue is in https://github.com/openshift/console/blob/master/frontend/packages/operator-lifecycle-manager/src/components/operand/create-operand.tsx#L155

Comment 4 Jon Jackson 2020-09-30 20:14:06 UTC
I only see one Redis operator available in OperatorHub, and it does list RedisEnterpriseCluster as a provided API. Could we get some more detail on how to reproduce?

Comment 5 jooho lee 2020-10-01 13:45:10 UTC
Hi Jon,

what do you mean more detail on how to reproduce?

The steps that I shared can reproduce the issue exactly.  Could you tell me what you need to know about reproduce steps?

Comment 6 Jon Jackson 2020-10-01 20:24:07 UTC
(In reply to jooho lee from comment #5)
> Hi Jon,
> 
> what do you mean more detail on how to reproduce?
> 
> The steps that I shared can reproduce the issue exactly.  Could you tell me
> what you need to know about reproduce steps?

Jooho, I was able to figure it out and a fix should be merging soon. Thanks for following up.

Comment 7 jooho lee 2020-10-01 20:43:47 UTC
Jon, 

the customer have a similar issue. could you verify this is the same issue or not?

The reproduce step is this:

1. Login with normal user 
2. Create a project "test-a"

3. Login with cluster-admin user
4. Install a prometheus operator in test-a project for normal user

5. Login with normal user 
6. Create a Prometheus instance

Then, you can see the exact same blank page like Redis one.

If it is different issue, I will create another bugzilla ticket. The customer will create a support ticket for it.

Comment 9 Jon Jackson 2020-10-02 14:34:55 UTC
(In reply to jooho lee from comment #7)
> Jon, 
> 
> the customer have a similar issue. could you verify this is the same issue
> or not?
> 
> The reproduce step is this:
> 
> 1. Login with normal user 
> 2. Create a project "test-a"
> 
> 3. Login with cluster-admin user
> 4. Install a prometheus operator in test-a project for normal user
> 
> 5. Login with normal user 
> 6. Create a Prometheus instance
> 
> Then, you can see the exact same blank page like Redis one.
> 
> If it is different issue, I will create another bugzilla ticket. The
> customer will create a support ticket for it.

Since code freeze is today, I'll look into the bug with the Prometheus operator. If it's not related to this one, I'll open a new one so that we can try to get a fix merged asap. Hopefully it's just another manifestation of this bug and my fix will cover both scenarios.

Comment 10 jooho lee 2020-10-02 17:30:13 UTC
Hi Jon,

customer are using 4.5.6 and they want to know if it is possible to pick the fix into 4.5.x.

Comment 11 Jon Jackson 2020-10-02 19:54:12 UTC
Yes, this will be backported to 4.5.x. See the dependent bug https://bugzilla.redhat.com/show_bug.cgi?id=1884411

Comment 13 Siva Reddy 2020-10-07 07:09:56 UTC
The page to provide the redis operator is now displaying instead of blank page. Hence marking it as verified.
the prometheus detail page also shows up.

Version:
4.6.0-0.nightly-2020-10-05-234751

Steps to verify:
1. Install Redis Operator via Console
2. Click "Create RedisEnterpriseCluster" on the "RedisEnterpriseCluster" tab menu.
3. The Console show the page the detail information of RedisEnterpriseCluster instance to move forward.

attached the screen shot.

Comment 14 Siva Reddy 2020-10-07 07:12:56 UTC
Created attachment 1719600 [details]
Screenshot of redis instance creation form

Comment 16 errata-xmlrpc 2020-10-27 16:46:29 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 (OpenShift Container Platform 4.6 GA Images), 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/RHBA-2020:4196


Note You need to log in before you can comment on or make changes to this bug.