Merge, don't replace RemoteClusters refs #13996
authorPeter Amstutz <pamstutz@veritasgenetics.com>
Fri, 19 Apr 2019 18:48:23 +0000 (14:48 -0400)
committerPeter Amstutz <pamstutz@veritasgenetics.com>
Fri, 19 Apr 2019 18:48:23 +0000 (14:48 -0400)
Arvados-DCO-1.1-Signed-off-by: Peter Amstutz <pamstutz@veritasgenetics.com>

services/api/config/arvados_config.rb

index f57073dfc2b981af620a2371f42161c80b705959..cde8acf23e753ab0fd7f6c383bda0bbb466b4b62 100644 (file)
@@ -147,15 +147,21 @@ arvcfg.declare_config "Services.WebDAV.ExternalURL", URI, :keep_web_service_url
 arvcfg.declare_config "Services.GitHTTP.ExternalURL", URI, :git_repo_https_base
 arvcfg.declare_config "Services.GitSSH.ExternalURL", URI, :git_repo_ssh_base, ->(cfg, k, v) { ConfigLoader.set_cfg cfg, "Services.GitSSH.ExternalURL", "ssh://#{v}" }
 arvcfg.declare_config "RemoteClusters", Hash, :remote_hosts, ->(cfg, k, v) {
-  h = {}
+  h = if cfg["RemoteClusters"] then
+        cfg["RemoteClusters"].deep_dup
+      else
+        {}
+      end
   v.each do |clusterid, host|
-    h[clusterid] = {
-      "Host" => host,
-      "Proxy" => true,
-      "Scheme" => "https",
-      "Insecure" => false,
-      "ActivateUsers" => false
-    }
+    if h[clusterid].nil?
+      h[clusterid] = {
+        "Host" => host,
+        "Proxy" => true,
+        "Scheme" => "https",
+        "Insecure" => false,
+        "ActivateUsers" => false
+      }
+    end
   end
   ConfigLoader.set_cfg cfg, "RemoteClusters", h
 }