13996: Fix discovery document remoteHosts
authorPeter Amstutz <pamstutz@veritasgenetics.com>
Tue, 26 Mar 2019 20:31:06 +0000 (16:31 -0400)
committerPeter Amstutz <pamstutz@veritasgenetics.com>
Mon, 8 Apr 2019 15:09:53 +0000 (11:09 -0400)
Arvados-DCO-1.1-Signed-off-by: Peter Amstutz <pamstutz@veritasgenetics.com>

services/api/app/controllers/arvados/v1/schema_controller.rb
services/api/app/controllers/static_controller.rb

index 222b106a970feed7bbfcfffd801b61f9b9197d9a..d67568d43e27bb7682073b2397b5264d244334d2 100644 (file)
@@ -25,6 +25,8 @@ class Arvados::V1::SchemaController < ApplicationController
   def discovery_doc
     Rails.cache.fetch 'arvados_v1_rest_discovery' do
       Rails.application.eager_load!
+      remoteHosts = {}
+      Rails.configuration.RemoteClusters.each {|k,v| if k != "*" then remoteHosts[k] = v["Host"] end }
       discovery = {
         kind: "discovery#restDescription",
         discoveryVersion: "v1",
@@ -61,7 +63,7 @@ class Arvados::V1::SchemaController < ApplicationController
         crunchLogPartialLineThrottlePeriod: Rails.configuration.Containers["Logging"]["LogPartialLineThrottlePeriod"],
         crunchLogUpdatePeriod: Rails.configuration.Containers["Logging"]["LogUpdatePeriod"],
         crunchLogUpdateSize: Rails.configuration.Containers["Logging"]["LogUpdateSize"],
-        remoteHosts: Rails.configuration.RemoteClusters.map {|k,v| v["Host"]},
+        remoteHosts: remoteHosts,
         remoteHostsViaDNS: Rails.configuration.RemoteClusters["*"]["Proxy"],
         websocketUrl: Rails.configuration.Services["Websocket"]["ExternalURL"].to_s,
         workbenchUrl: Rails.configuration.Services["Workbench1"]["ExternalURL"].to_s,
index 24756b93cacaa09d9f6aa15ecdc2bcf2c634819c..6923f43cb3e42982988d59b86ea7e161d5269521 100644 (file)
@@ -12,7 +12,7 @@ class StaticController < ApplicationController
   def home
     respond_to do |f|
       f.html do
-        if !Rails.configuration.Services["Workbench1"]["ExternalURL"].empty?
+        if !Rails.configuration.Services["Workbench1"]["ExternalURL"].to_s.empty?
           redirect_to Rails.configuration.Services["Workbench1"]["ExternalURL"]
         else
           render_not_found "Oops, this is an API endpoint. You probably want to point your browser to an Arvados Workbench site instead."