15572: Install doc updates for workbench, ws, dispatcher
authorPeter Amstutz <peter.amstutz@curii.com>
Mon, 16 Dec 2019 16:58:29 +0000 (11:58 -0500)
committerPeter Amstutz <peter.amstutz@curii.com>
Mon, 16 Dec 2019 16:58:29 +0000 (11:58 -0500)
Arvados-DCO-1.1-Signed-off-by: Peter Amstutz <peter.amstutz@curii.com>

doc/install/install-composer.html.textile.liquid
doc/install/install-dispatch-cloud.html.textile.liquid
doc/install/install-jobs-image.html.textile.liquid
doc/install/install-workbench-app.html.textile.liquid
doc/install/install-workbench2-app.html.textile.liquid
doc/install/install-ws.html.textile.liquid

index 9f37f0e628495854f9256883dd2bff98ed6dd9da..58ba5d03a0afa36735c4b4cf0f8c1e9c32d0e64c 100644 (file)
@@ -36,16 +36,20 @@ h2(#update-nginx). Update nginx configuration
 
 Composer may be served from the same host as Workbench.  Composer communicates directly with the Arvados API server.  It does not require its own backend and should be served as a static file.
 
-Use a text editor to create a new file @/etc/nginx/conf.d/arvados-composer.conf@ with the following configuration.  Options that need attention are marked with "TODO".
+Add the following @location@ sections to @/etc/nginx/conf.d/arvados-workbench.conf@ .
 
 <notextile>
-<pre><code>location /composer {
-  root   /var/www/arvados-composer
-  index  index.html
-}
+<pre><code>server {
+  [...]
+
+  location /composer {
+    root   /var/www/arvados-composer;
+    index  index.html;
+  }
 
-location /composer.yml {
-  return 200 '{ "API_HOST": "<span class="userinput">ClusterID.example.com</span>" }';
+  location /composer/composer.yml {
+    return 200 '{ "API_HOST": "<span class="userinput">ClusterID.example.com</span>" }';
+  }
 }
 </code></pre>
 </notextile>
index 3689ecf76b80db34d5beb3c0571fbdf690117696..dfc25fc675cb025eed714f1809851caad728049e 100644 (file)
@@ -180,6 +180,8 @@ On the dispatch node, start monitoring the arvados-dispatch-cloud logs:
 </code></pre>
 </notextile>
 
+"Make sure to install the arvados/jobs image.":install-jobs-image.html
+
 Submit a simple container request:
 
 <notextile>
index 4b8dd6ce2faf2841628d1fcf0a001a0484d35897..15b16faf078ffab4be9baf37e4cc362e234db6d8 100644 (file)
@@ -15,7 +15,7 @@ Here we create a default project for the standard Arvados Docker images, and giv
 
 <notextile>
 <pre><code>~$ <span class="userinput">uuid_prefix=$(arv --format=uuid user current | cut -d- -f1)</span>
-~$ <span class="userinput">project_uuid=$(arv --format=uuid group create --group '{"owner_uuid":"$uuid_prefix-tpzed-000000000000000", "group_class":"project", "name":"Arvados Standard Docker Images"}')</span>
+~$ <span class="userinput">project_uuid=$(arv --format=uuid group create --group '{"owner_uuid":"'$uuid_prefix'-tpzed-000000000000000", "group_class":"project", "name":"Arvados Standard Docker Images"}')</span>
 ~$ <span class="userinput">echo "Arvados project uuid is '$project_uuid'"</span>
 ~$ <span class="userinput">read -rd $'\000' newlink &lt;&lt;EOF; arv link create --link "$newlink"</span>
 <span class="userinput">{
index a6466dc61a0b0ed51a373b28d8cb72bcf00a02a0..b33f28eb1f6f986eecec887b7622b3c94ab42699 100644 (file)
@@ -12,10 +12,10 @@ SPDX-License-Identifier: CC-BY-SA-3.0
 # "Install dependencies":#dependencies
 # "Update config.yml":#update-config
 # "Update Nginx configuration":#update-nginx
+# "Trusted client flag":#trusted_client
 # "Install arvados-workbench":#install-packages
 # "Restart the API server and controller":#restart-api
 # "Confirm working installation":#confirm-working
-# "Trusted client setting":#trusted_client
 
 h2(#dependencies). Install dependencies
 
@@ -77,6 +77,19 @@ Use a text editor to create a new file @/etc/nginx/conf.d/arvados-workbench.conf
 </code></pre>
 </notextile>
 
+h2(#trusted_client). Trusted client flag
+
+In the <strong>API server</strong> project root, start the Rails console.  {% include 'install_rails_command' %}
+
+Create an ApiClient record for your Workbench installation with the @is_trusted@ flag set.
+
+<notextile><pre><code>irb(main):001:0&gt; <span class="userinput">include CurrentApiClient</span>
+=&gt; true
+irb(main):002:0&gt; <span class="userinput">act_as_system_user do ApiClient.create!(url_prefix: "https://workbench.ClusterID.example.com/", is_trusted: true) end</span>
+=&gt; #&lt;ApiClient id: 2, uuid: "...", owner_uuid: "...", modified_by_client_uuid: nil, modified_by_user_uuid: "...", modified_at: "2019-12-16 14:19:10", name: nil, url_prefix: "https://workbench.ClusterID.example.com/", created_at: "2019-12-16 14:19:10", updated_at: "2019-12-16 14:19:10", is_trusted: true&gt;
+</code></pre>
+</notextile>
+
 {% assign arvados_component = 'arvados-workbench' %}
 
 {% include 'install_packages' %}
@@ -86,20 +99,3 @@ Use a text editor to create a new file @/etc/nginx/conf.d/arvados-workbench.conf
 h2(#confirm-working). Confirm working installation
 
 Visit @https://workbench.ClusterID.example.com@ in a browser.  You should be able to log in using the login method you configured in the previous step.  If @Users.AutoAdminFirstUser@ is true, you will be an admin user.
-
-h2(#trusted_client). Trusted client flag
-
-Log in to Workbench once to ensure that the Arvados API server has a record of the Workbench client. (It's OK if Workbench says your account hasn't been activated yet. We'll deal with that next.)
-
-In the <strong>API server</strong> project root, start the Rails console.  {% include 'install_rails_command' %}
-
-At the console, enter the following commands to locate the ApiClient record for your Workbench installation (typically, while you're setting this up, the @last@ one in the database is the one you want), then set the @is_trusted@ flag for the appropriate client record:
-
-<notextile><pre><code>irb(main):001:0&gt; <span class="userinput">wb = ApiClient.all.last; [wb.url_prefix, wb.created_at]</span>
-=&gt; ["https://workbench.example.com/", Sat, 19 Apr 2014 03:35:12 UTC +00:00]
-irb(main):002:0&gt; <span class="userinput">include CurrentApiClient</span>
-=&gt; true
-irb(main):003:0&gt; <span class="userinput">act_as_system_user do wb.update_attributes!(is_trusted: true) end</span>
-=&gt; true
-</code></pre>
-</notextile>
index e873ad1e73d73ab0b5d811fefb01b23d56582213..c3d67ed66ef34670207c752f35656f7accac2d88 100644 (file)
@@ -29,14 +29,10 @@ Edit @/etc/arvados/config.yml@ to set the keys below.  The full set of configura
 <notextile>
 <pre><code>    Services:
       Workbench2:
-        ExternalURL: <span class="userinput">"https://workbench2.ClustedID.example.com"</span>
+        ExternalURL: <span class="userinput">"https://workbench2.ClusterID.example.com"</span>
 </code></pre>
 </notextile>
 
-h2. Vocabulary configuration (optional)
-
-Workbench2 can load a vocabulary file which lists available metadata properties for groups and collections.  To configure the property vocabulary definition, please visit the "Workbench2 Vocabulary Format":{{site.baseurl}}/admin/workbench2-vocabulary.html page in the Admin section.
-
 h2(#update-nginx). Update Nginx configuration
 
 Workbench2 does not require its own database. It is a set of html, javascript and css files that are served as static files from Nginx.
@@ -45,16 +41,17 @@ Use a text editor to create a new file @/etc/nginx/conf.d/arvados-workbench2.con
 
 <notextile>
 <pre><code>server {
-  listen       <span class="userinput">[your public IP address]</span>:443 ssl;
+  listen       *:443 ssl;
   server_name  workbench2.<span class="userinput">ClusterID.example.com</span>;
 
   ssl on;
-  ssl_certificate     <span class="userinput">/YOUR/PATH/TO/cert.pem</span>;
-  ssl_certificate_key <span class="userinput">/YOUR/PATH/TO/cert.key</span>;
+  ssl_certificate     <span class="userinput">/TODO/YOUR/PATH/TO/cert.pem</span>;
+  ssl_certificate_key <span class="userinput">/TODO/YOUR/PATH/TO/cert.key</span>;
 
   index  index.html;
 
-  # Workbench2 uses a call to /config.json to bootstrap itself and talk to the desired API server
+  # TODO: Workbench2 uses a call to /config.json to bootstrap itself
+  # and find out where to contact the API server.
   location /config.json {
     return 200 '{ "API_HOST": "<span class="userinput">ClusterID.example.com</span>" }';
   }
@@ -71,6 +68,10 @@ Use a text editor to create a new file @/etc/nginx/conf.d/arvados-workbench2.con
 </code></pre>
 </notextile>
 
+h2. Vocabulary configuration (optional)
+
+Workbench2 can load a vocabulary file which lists available metadata properties for groups and collections.  To configure the property vocabulary definition, please visit the "Workbench2 Vocabulary Format":{{site.baseurl}}/admin/workbench2-vocabulary.html page in the Admin section.
+
 {% assign arvados_component = 'arvados-workbench2' %}
 
 {% include 'install_packages' %}
index f3319fa4cc1d4ccb3da9fd51772ceb7dc93ae205..748de64ea62c403e403c04cc973b2075f3bea114 100644 (file)
@@ -26,7 +26,7 @@ Edit the cluster config at @/etc/arvados/config.yml@ and set @Services.Websocket
 <pre><code>    Services:
       Websocket:
         InternalURLs:
-         <span class="userinput">"http://ws.ClusterID.example.com:8005"</span>: {}
+         "http://localhost:8005"</span>: {}
         ExternalURL: <span class="userinput">wss://ws.ClusterID.example.com/websocket</span>
 </span></code></pre>
 </notextile>
@@ -43,15 +43,15 @@ upstream arvados-ws {
 }
 
 server {
-  listen                <span class="userinput">[your public IP address]</span>:443 ssl;
-  server_name           ws.<span class="userinput">uuid_prefix.your.domain</span>;
+  listen                *:443 ssl;
+  server_name           ws.<span class="userinput">ClusterID.example.com</span>;
 
   proxy_connect_timeout 90s;
   proxy_read_timeout    300s;
 
   ssl                   on;
-  ssl_certificate       <span class="userinput"/>YOUR/PATH/TO/cert.pem</span>;
-  ssl_certificate_key   <span class="userinput"/>YOUR/PATH/TO/cert.key</span>;
+  ssl_certificate       <span class="userinput">/TODO/YOUR/PATH/TO/cert.pem</span>;
+  ssl_certificate_key   <span class="userinput">/TODO/YOUR/PATH/TO/cert.key</span>;
 
   location / {
     proxy_pass          http://arvados-ws;
@@ -85,7 +85,7 @@ h2(#confirm). Confirm working installation
 Confirm the service is listening on its assigned port and responding to requests.
 
 <notextile>
-<pre><code>~$ <span class="userinput">curl http://0.0.0.0:<b>8005</b>/status.json</span>
+<pre><code>~$ <span class="userinput">curl https://ws.ClusterID.example.com/status.json</span>
 {"Clients":1}
 </code></pre>
 </notextile>