Bug 1840446

Summary: Console crashed on "CouchbaseCluster" details view - TypeError: (n || []).map is not a function
Product: OpenShift Container Platform Reporter: tony.wu
Component: Management ConsoleAssignee: Jon Jackson <jonjacks>
Status: CLOSED ERRATA QA Contact: Yadan Pei <yapei>
Severity: high Docs Contact:
Priority: unspecified    
Version: 4.5CC: aos-bugs, bpeterse, jokerman, pweil, yanpzhan, yapei
Target Milestone: ---   
Target Release: 4.5.0   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Cause: The CouchbaseCluster resource 'status.conditions' property is not an array. Consequence: A runtime error was occurring on the details page for these resources because it was assumed that this property was an array. Fix: Update logic on the details page to ensure that the 'status.conditions' property is an array before trying to access Array.prototype properties. Result: If a resource's 'status.conditions' property is not an array, the Conditions section on the details page will just be omitted now.
Story Points: ---
Clone Of: 1840445 Environment:
Last Closed: 2020-07-13 17:41:51 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1840445    
Attachments:
Description Flags
1_CouchbaseCluster_list_view.png
none
2_CouchbaseCluster_details_view_crashed.png
none
3_Component_Trace.txt
none
4_Stack_Trace.txt none

Description tony.wu 2020-05-27 00:02:49 UTC
Created attachment 1692472 [details]
1_CouchbaseCluster_list_view.png

+++ This bug was initially created as a clone of Bug #1840445 +++

Description of problem:
Console crashed on "CouchbaseCluster" details view - 
TypeError: (n || []).map is not a function


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


How reproducible:
100%


Steps to Reproduce:
1. Install "Couchbase" Operator to "default" namespace from "OperatorHub" view

2. Create a Secret in "default" namespace using "Key/Value Secret" with:
name: cb-example-auth
key1: username
value1: username
key2: password
value2: password

3. Go to "Installed Operators" view, create "CouchbaseCluster" in "default" namespace

4. Wait until "CouchbaseCluster" reach to "Running" state

5. Click on CouchbaseCluster to details view


Actual results:
Console crashed on "CouchbaseCluster" details view - 
TypeError: (n || []).map is not a function


Expected results:
See "CouchbaseCluster" to details view


Additional info:
See in attachments:
1_CouchbaseCluster_list_view.png
2_CouchbaseCluster_details_view_crashed.png
3_Component_Trace.txt
4_Stack_Trace.txt

--- Additional comment from  on 2020-05-27 00:01:17 UTC ---



--- Additional comment from  on 2020-05-27 00:01:29 UTC ---



--- Additional comment from  on 2020-05-27 00:01:40 UTC ---

Comment 1 tony.wu 2020-05-27 00:03:10 UTC
Created attachment 1692473 [details]
2_CouchbaseCluster_details_view_crashed.png

Comment 2 tony.wu 2020-05-27 00:03:27 UTC
Created attachment 1692474 [details]
3_Component_Trace.txt

Comment 3 tony.wu 2020-05-27 00:03:38 UTC
Created attachment 1692475 [details]
4_Stack_Trace.txt

Comment 4 Jon Jackson 2020-05-28 21:25:00 UTC
This actually looks like an issue with the custom resource that is created by the operator. The CouchbaseCluster resource status stanza is incorrect. 'status.conditions' should be an array of conditions, but is an object instead. We can add some extra handling here to make sure we don't get a runtime error, but ultimately, the operator will need to be fixed in order for a conditions table to show up in the details view.

Comment 8 Yanping Zhang 2020-06-01 09:43:35 UTC
Checked on OCP 4.5 cluster with payload 4.5.0-0.nightly-2020-05-30-025738
Steps to verify:
1. Install "Couchbase" Operator to "default" namespace from "OperatorHub" view

2. Create a Secret in "default" namespace using "Key/Value Secret" with:
name: cb-example-auth
key1: username
value1: username
key2: password
value2: password

3. Go to "Installed Operators" view, create "CouchbaseCluster" in "default" namespace

4. Wait until "CouchbaseCluster" reach to "Running" state

5. Click on CouchbaseCluster to details view.
The detailed page display normally without crash.

The bug is fixed, so move it to Verified.

Comment 9 errata-xmlrpc 2020-07-13 17:41:51 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, 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:2409