Project

General

Profile

Actions

Bug #13105

closed

Missing federation config makes the multi-site search's session manager fail to log in

Added by Lucas Di Pentima about 6 years ago. Updated almost 6 years ago.

Status:
Resolved
Priority:
Normal
Assigned To:
Category:
Workbench
Target version:
Story points:
-
Release:
Release relationship:
Auto

Description

It seems that if API's remote_hosts configuration is not declared on the config file, the discovery document doesn't get a useful default value (In this case, would be {}) and also the Javascript code from SessionDB assumes that remoteHosts will always be defined.

We could fix this problem on both sides, adding proper error messages to the Javascript code if it happens to be that a newer workbench is working against an older API server.


Subtasks 1 (0 open1 closed)

Task #13157: Review 13105-wb-ignore-missing-remotesResolvedLucas Di Pentima04/06/2018Actions

Related issues

Related to Arvados - Bug #13851: Workbench multi-site search bugResolvedLucas Di Pentima07/19/2018Actions
Actions #1

Updated by Lucas Di Pentima about 6 years ago

  • Target version changed from 2018-02-28 Sprint to 2018-03-14 Sprint
Actions #2

Updated by Lucas Di Pentima about 6 years ago

  • Target version changed from 2018-03-14 Sprint to 2018-03-28 Sprint
Actions #3

Updated by Tom Morris about 6 years ago

  • Target version changed from 2018-03-28 Sprint to 2018-04-11 Sprint
Actions #4

Updated by Tom Clegg about 6 years ago

Seems like this shouldn't be an error -- Workbench should behave as if config is empty/false if those remote_* entries aren't in the discovery doc. This should only happen with an old API server -- API server config already defaults to {}.

Actions #5

Updated by Lucas Di Pentima about 6 years ago

  • Status changed from New to In Progress
Actions #6

Updated by Lucas Di Pentima about 6 years ago

Updates at 41e47f3ea2edecd4f15f9f4321de6e71b24aedbc - branch 13105-wb-ignore-missing-remotes
Test run: https://ci.curoverse.com/job/developer-run-tests/680/

Actions #7

Updated by Tom Clegg about 6 years ago

Instead of having 4 variations of this, could we fill in both missing values once in discoveryDoc(), and fix the two cases that don't call discoveryDoc() so they do? I expect this will also eliminate some redundant requests by giving discoveryDoc()'s cache more opportunities.

-m.request(baseURL+'discovery/v1/apis/arvados/v1/rest').then(function(dd) {
+db.discoveryDoc({baseURL: baseURL}).map(function(dd) {
     ...
 })
Actions #8

Updated by Lucas Di Pentima about 6 years ago

Updated & rebased at 6171961498800d18e826da1dcb1b908600eec0ac

Set default values on discoveryDoc func, also fix some discovery doc requests to use the cache, as suggested.

Actions #9

Updated by Tom Clegg about 6 years ago

suggest

-db.discoveryDoc({baseURL: session.baseURL}).map...
+db.discoveryDoc(session).map...

the rest LGTM, thanks!

Actions #10

Updated by Lucas Di Pentima about 6 years ago

  • Status changed from In Progress to Resolved
  • % Done changed from 0 to 100
Actions #11

Updated by Peter Amstutz almost 6 years ago

  • Related to Bug #13851: Workbench multi-site search bug added
Actions #12

Updated by Tom Morris almost 6 years ago

  • Release set to 13
Actions

Also available in: Atom PDF