Merge branch '18663-add-keepbalance-support'
authorJavier Bértoli <jbertoli@curii.com>
Fri, 11 Mar 2022 15:12:06 +0000 (12:12 -0300)
committerJavier Bértoli <jbertoli@curii.com>
Fri, 11 Mar 2022 15:12:06 +0000 (12:12 -0300)
closes #18663
Arvados-DCO-1.1-Signed-off-by: Javier Bértoli <jbertoli@curii.com>

doc/install/salt-multi-host.html.textile.liquid
tools/salt-install/config_examples/multi_host/aws/pillars/arvados.sls
tools/salt-install/config_examples/multi_host/aws/pillars/nginx_passenger.sls
tools/salt-install/config_examples/single_host/multiple_hostnames/pillars/arvados.sls
tools/salt-install/config_examples/single_host/multiple_hostnames/pillars/nginx_passenger.sls
tools/salt-install/config_examples/single_host/single_hostname/pillars/arvados.sls
tools/salt-install/config_examples/single_host/single_hostname/pillars/nginx_passenger.sls
tools/salt-install/provision.sh

index 6ef274a03d7c6070409297030b82523d10dec3dc..1778338f53ec17022eef5c8af5167008c17c23ee 100644 (file)
@@ -47,6 +47,7 @@ We suggest distributing the Arvados components in the following way, creating at
 ## arvados controller
 ## arvados websocket
 ## arvados cloud dispatcher
+## arvados keepbalance
 # WORKBENCH node:
 ## arvados workbench
 ## arvados workbench2
@@ -150,7 +151,7 @@ ssh user@host sudo ./provision.sh --config local.params --roles database
 h4. API
 <notextile>
 <pre><code>scp -r provision.sh local* user@host:
-ssh user@host sudo ./provision.sh --config local.params --roles api,controller,websocket,dispatcher
+ssh user@host sudo ./provision.sh --config local.params --roles api,controller,websocket,dispatcher,keepbalance
 </code></pre>
 </notextile>
 
index f27aa40ac4207b54cdcd2b39a73be342aadcbfe2..8c14c56ed3a4336a6820c9359b4477a2c348ecd0 100644 (file)
@@ -157,6 +157,9 @@ arvados:
       DispatchCloud:
         InternalURLs:
           'http://__CONTROLLER_INT_IP__:9006': {}
+      Keepbalance:
+        InternalURLs:
+          'http://localhost:9005': {}
       Keepproxy:
         ExternalURL: 'https://keep.__CLUSTER__.__DOMAIN__:__KEEP_EXT_SSL_PORT__'
         InternalURLs:
index 28cc748dacee19185a1a7cf37f7027cbaaa0d755..d9644e5645833257eb329ba452f879ec9daf67d3 100644 (file)
@@ -10,7 +10,7 @@
                           if grains.osfinger in ('CentOS Linux-7',) else
                         '/usr/lib/nginx/modules/ngx_http_passenger_module.so' %}
 {%- set passenger_ruby = '/usr/local/rvm/rubies/ruby-2.7.2/bin/ruby'
-                           if grains.osfinger in ('CentOS Linux-7', 'Ubuntu-18.04',) else
+                           if grains.osfinger in ('CentOS Linux-7', 'Ubuntu-18.04', 'Debian-10') else
                          '/usr/bin/ruby' %}
 
 ### NGINX
index 81d324fcbdf9b568fdac1f09a87e1f39ba3318d8..2579c5ffb0be5b66ee8b892fb7d25b731b82b400 100644 (file)
@@ -142,7 +142,7 @@ arvados:
           'http://__CLUSTER__.__DOMAIN__:9006': {}
       Keepbalance:
         InternalURLs:
-          'http://__CLUSTER__.__DOMAIN__:9005': {}
+          'http://localhost:9005': {}
       Keepproxy:
         ExternalURL: 'https://keep.__CLUSTER__.__DOMAIN__:__CONTROLLER_EXT_SSL_PORT__'
         InternalURLs:
index 4ad14d33ff42b26e2bcc5f0045c7ddacdb704618..886aab87648b430eacd6bc6d59305a6389ff67a6 100644 (file)
@@ -10,7 +10,7 @@
                           if grains.osfinger in ('CentOS Linux-7',) else
                         '/usr/lib/nginx/modules/ngx_http_passenger_module.so' %}
 {%- set passenger_ruby = '/usr/local/rvm/rubies/ruby-2.7.2/bin/ruby'
-                           if grains.osfinger in ('CentOS Linux-7', 'Ubuntu-18.04',) else
+                           if grains.osfinger in ('CentOS Linux-7', 'Ubuntu-18.04', 'Debian-10') else
                          '/usr/bin/ruby' %}
 
 ### NGINX
index 8b8e4f7f9e1d05815c8d1ca698317221ea762796..8e4d66caf5190ff9bc56df42ead5925f2674d438 100644 (file)
@@ -136,6 +136,9 @@ arvados:
         ExternalURL: 'https://__HOSTNAME_EXT__:__CONTROLLER_EXT_SSL_PORT__'
         InternalURLs:
           'http://__IP_INT__:8003': {}
+      Keepbalance:
+        InternalURLs:
+          'http://__IP_INT__:9005': {}
       Keepproxy:
         ExternalURL: 'https://__HOSTNAME_EXT__:__KEEP_EXT_SSL_PORT__'
         InternalURLs:
index 854c543aca652d411afabb770a9983701bdd75d9..bce51f29e0b33a43316d70c28c04cd544e6f028e 100644 (file)
@@ -10,7 +10,7 @@
                           if grains.osfinger in ('CentOS Linux-7',) else
                         '/usr/lib/nginx/modules/ngx_http_passenger_module.so' %}
 {%- set passenger_ruby = '/usr/local/rvm/rubies/ruby-2.7.2/bin/ruby'
-                           if grains.osfinger in ('CentOS Linux-7', 'Ubuntu-18.04',) else
+                           if grains.osfinger in ('CentOS Linux-7', 'Ubuntu-18.04', 'Debian-10') else
                          '/usr/bin/ruby' %}
 
 ### NGINX
index 27dada1eab5802cee177a2953779e6f137047cd8..7b1d14828afc0b42a5a1b86b8b7921792ff426de 100755 (executable)
@@ -29,6 +29,7 @@ usage() {
   echo >&2 "                                                controller"
   echo >&2 "                                                dispatcher"
   echo >&2 "                                                keepproxy"
+  echo >&2 "                                                keepbalance"
   echo >&2 "                                                keepstore"
   echo >&2 "                                                keepweb"
   echo >&2 "                                                shell"
@@ -107,7 +108,7 @@ arguments() {
         for i in ${2//,/ }
           do
             # Verify the role exists
-            if [[ ! "database,api,controller,keepstore,websocket,keepweb,workbench2,webshell,keepproxy,shell,workbench,dispatcher" == *"$i"* ]]; then
+            if [[ ! "database,api,controller,keepstore,websocket,keepweb,workbench2,webshell,keepbalance,keepproxy,shell,workbench,dispatcher" == *"$i"* ]]; then
               echo "The role '${i}' is not a valid role"
               usage
               exit 1
@@ -734,13 +735,7 @@ else
         # Pillars
         grep -q "docker" ${P_DIR}/top.sls       || echo "    - docker" >> ${P_DIR}/top.sls
       ;;
-      "dispatcher")
-        # States
-        grep -q "arvados.${R}" ${S_DIR}/top.sls || echo "    - arvados.${R}" >> ${S_DIR}/top.sls
-        # Pillars
-        # ATM, no specific pillar needed
-      ;;
-      "keepstore")
+      "dispatcher" | "keepbalance" | "keepstore")
         # States
         grep -q "arvados.${R}" ${S_DIR}/top.sls || echo "    - arvados.${R}" >> ${S_DIR}/top.sls
         # Pillars