#8523 Topology Graph returns Runtime Error
Closed: fixed 3 years ago by abbra. Opened 3 years ago by paranoyedroid.

Issue

The Topology Graph section in the Web interface returns a Runtime Error.

Steps to Reproduce

  1. Install freeipa-server-4.8.9-2.fc32.x86_64
  2. Log in as Admin
  3. Navigate to IPA Server > Topology > Topology Graph
  4. Get Blank Page
  5. Reload webpage
  6. Receive Runtime error

Actual behavior

Runtime error
Web UI got in unrecoverable state during "runtime" phase.

Expected behavior

I Expect the normal Topology Graph to be shown

Version/Release/Distribution

[root@ipa /]# rpm -q freeipa-server freeipa-client ipa-server ipa-client 389-ds-base pki-ca krb5-server
freeipa-server-4.8.9-2.fc32.x86_64
freeipa-client-4.8.9-2.fc32.x86_64
package ipa-server is not installed
package ipa-client is not installed
389-ds-base-1.4.3.12-1.fc32.x86_64
pki-ca-10.9.4-1.fc32.noarch
krb5-server-1.18.2-22.fc32.x86_64

Stack trace:

Technical details:
self.facet.get_pkeys is not a function
render_tab@https://ipa.domain.tld/ipa/ui/js/freeipa/app.js?40809:444:139
render_group@https://ipa.domain.tld/ipa/ui/js/freeipa/app.js?40809:442:320
render@https://ipa.domain.tld/ipa/ui/js/freeipa/app.js?40809:440:789
freeipa/facet/</exp.simple_facet_header/that.create_facet_groups@https://ipa.domain.tld/ipa/ui/js/freeipa/app.js?40809:429:1509
freeipa/facet/</exp.simple_facet_header/that.create@https://ipa.domain.tld/ipa/ui/js/freeipa/app.js?40809:432:6
create_header@https://ipa.domain.tld/ipa/ui/js/freeipa/app.js?40809:960:671
create@https://ipa.domain.tld/ipa/ui/js/freeipa/app.js?40809:960:446
show@https://ipa.domain.tld/ipa/ui/js/freeipa/app.js?40809:572:414
inherited@https://ipa.domain.tld/ipa/ui/js/dojo/dojo.js?v=40809:2:6552
show@https://ipa.domain.tld/ipa/ui/js/freeipa/app.js?40809:957:2343
inherited@https://ipa.domain.tld/ipa/ui/js/dojo/dojo.js?v=40809:2:6552
show@https://ipa.domain.tld/ipa/ui/js/freeipa/app.js?40809:961:62
show_facet@https://ipa.domain.tld/ipa/ui/js/freeipa/app.js?40809:59:50
on_facet_show@https://ipa.domain.tld/ipa/ui/js/freeipa/app.js?40809:54:772
dispatcher@https://ipa.domain.tld/ipa/ui/js/dojo/dojo.js?v=40809:3:22841
dojo/on/</on.emit@https://ipa.domain.tld/ipa/ui/js/dojo/dojo.js?v=40809:3:16044
dojo/on/</on.emit@https://ipa.domain.tld/ipa/ui/js/dojo/dojo.js?v=40809:3:16982
emit@https://ipa.domain.tld/ipa/ui/js/dojo/dojo.js?v=40809:3:21147
show_facet@https://ipa.domain.tld/ipa/ui/js/freeipa/app.js?40809:568:307
handle@https://ipa.domain.tld/ipa/ui/js/freeipa/app.js?40809:188:32
get_handler/this.handler@https://ipa.domain.tld/ipa/ui/js/freeipa/app.js?40809:188:141
fireRoute@https://ipa.domain.tld/ipa/ui/js/dojo/dojo.js?v=40809:4:16421
_handlePathChange@https://ipa.domain.tld/ipa/ui/js/dojo/dojo.js?v=40809:4:18120
startup@https://ipa.domain.tld/ipa/ui/js/dojo/dojo.js?v=40809:4:17430
startup@https://ipa.domain.tld/ipa/ui/js/freeipa/app.js?40809:568:463
start_runtime@https://ipa.domain.tld/ipa/ui/js/freeipa/app.js?40809:49:261
register_phases/<@https://ipa.domain.tld/ipa/ui/js/freeipa/app.js?40809:5:370
_run_phase/<@https://ipa.domain.tld/ipa/ui/js/freeipa/app.js?40809:6:2457
forEach@https://ipa.domain.tld/ipa/ui/js/dojo/dojo.js?v=40809:2:23501
_run_phase@https://ipa.domain.tld/ipa/ui/js/freeipa/app.js?40809:6:2399
next_phase@https://ipa.domain.tld/ipa/ui/js/freeipa/app.js?40809:8:6
_run_phase/<@https://ipa.domain.tld/ipa/ui/js/freeipa/app.js?40809:7:151
signalListener@https://ipa.domain.tld/ipa/ui/js/dojo/dojo.js?v=40809:4:6613
Deferred/promise.then@https://ipa.domain.tld/ipa/ui/js/dojo/dojo.js?v=40809:4:9137
_run_phase@https://ipa.domain.tld/ipa/ui/js/freeipa/app.js?40809:7:41
next_phase@https://ipa.domain.tld/ipa/ui/js/freeipa/app.js?40809:8:6
_run_phase/<@https://ipa.domain.tld/ipa/ui/js/freeipa/app.js?40809:7:151
signalListener@https://ipa.domain.tld/ipa/ui/js/dojo/dojo.js?v=40809:4:6613
Deferred/promise.then@https://ipa.domain.tld/ipa/ui/js/dojo/dojo.js?v=40809:4:9137
_run_phase@https://ipa.domain.tld/ipa/ui/js/freeipa/app.js?40809:7:41
next_phase@https://ipa.domain.tld/ipa/ui/js/freeipa/app.js?40809:8:6
_run_phase/<@https://ipa.domain.tld/ipa/ui/js/freeipa/app.js?40809:7:151
signalListener@https://ipa.domain.tld/ipa/ui/js/dojo/dojo.js?v=40809:4:6613
signalWaiting@https://ipa.domain.tld/ipa/ui/js/dojo/dojo.js?v=40809:4:6430
Deferred/this.resolve@https://ipa.domain.tld/ipa/ui/js/dojo/dojo.js?v=40809:4:8375
all/</<@https://ipa.domain.tld/ipa/ui/js/dojo/dojo.js?v=40809:5:13883
signalListener@https://ipa.domain.tld/ipa/ui/js/dojo/dojo.js?v=40809:4:6613
signalWaiting@https://ipa.domain.tld/ipa/ui/js/dojo/dojo.js?v=40809:4:6430
Deferred/this.resolve@https://ipa.domain.tld/ipa/ui/js/dojo/dojo.js?v=40809:4:8375
register_phases/</<@https://ipa.domain.tld/ipa/ui/js/freeipa/app.js?40809:5:153
on_success@https://ipa.domain.tld/ipa/ui/js/freeipa/app.js?40809:85:3335
freeipa/rpc/</rpc.concurrent_command/that.on_success_all@https://ipa.domain.tld/ipa/ui/js/freeipa/app.js?40809:157:26
freeipa/rpc/</rpc.concurrent_command/that.command_completed@https://ipa.domain.tld/ipa/ui/js/freeipa/app.js?40809:156:40
freeipa/rpc/</rpc.concurrent_command/that.success_handler@https://ipa.domain.tld/ipa/ui/js/freeipa/app.js?40809:155:598
freeipa/rpc/</rpc.concurrent_command/that.execute/command.on_success</<@https://ipa.domain.tld/ipa/ui/js/freeipa/app.js?40809:154:288
freeipa/rpc/</rpc.command/that.register_handlers/<@https://ipa.domain.tld/ipa/ui/js/freeipa/app.js?40809:152:245
dispatcher@https://ipa.domain.tld/ipa/ui/js/dojo/dojo.js?v=40809:3:22841
dojo/on/</on.emit@https://ipa.domain.tld/ipa/ui/js/dojo/dojo.js?v=40809:3:16044
dojo/on/</on.emit@https://ipa.domain.tld/ipa/ui/js/dojo/dojo.js?v=40809:3:16982
emit@https://ipa.domain.tld/ipa/ui/js/dojo/dojo.js?v=40809:3:21147
success_handler@https://ipa.domain.tld/ipa/ui/js/freeipa/app.js?40809:144:608
c@https://ipa.domain.tld/ipa/ui/js/libs/jquery.js?v=40809:3:27742
fireWith@https://ipa.domain.tld/ipa/ui/js/libs/jquery.js?v=40809:3:28487
l@https://ipa.domain.tld/ipa/ui/js/libs/jquery.js?v=40809:3:78668
o/<@https://ipa.domain.tld/ipa/ui/js/libs/jquery.js?v=40809:3:80996

note Sensitive information has been redacted.

Additional info:

I have FreeIPA installed with a docker deployment using github.com/freeipa/freeipa-container
On commit: https://github.com/freeipa/freeipa-container/commit/aafe4358a9b88500de910dd133af913323427ff6


Same here. It seems the regression introduced in https://pagure.io/freeipa/c/b25bccc59a99255bf8b67c6843b120923d2a89e5?branch=master.
The current master is also affected.

This partially reverts that changes, but at least, fixes the regression:

--- a/install/ui/src/freeipa/facet.js
+++ b/install/ui/src/freeipa/facet.js
@@ -1639,9 +1639,7 @@ exp.FacetGroupsWidget = declare([], {
         $('<a/>', {
             text: tab.tab_label,
             'class': 'tab-link',
-            href: "#" + navigation.create_hash(tab, {
-                pkeys: self.facet.get_pkeys()
-            }),
+            href: "#" + navigation.create_hash(tab, {}),
             name: tab.name
         }).appendTo(el);

@stsymbal, any thoughts?

I think it fails because there are 2 facet base classes (in facet.js and facets/Facet.js) and only 1 contains the get_pkeys() method. The idea was to unite on 1 system, but that did not happen.

The fix (probablyú would be to add get_pkeys() functionality to facets/Facets.js

Metadata Update from @pvoborni:
- Issue priority set to: critical
- Issue tagged with: regression

3 years ago

master:

  • 1512acc WebUI: Fix topology graph navigation crash
  • 69368fc WebUI tests: Add simple test to check topology graph page is available

ipa-4-8:

  • 7e87738 WebUI: Fix topology graph navigation crash
  • 7b807a5 WebUI tests: Add simple test to check topology graph page is available

Metadata Update from @abbra:
- Issue close_status updated to: fixed
- Issue status updated to: Closed (was: Open)

3 years ago

Login to comment on this ticket.

Metadata