Merge branch '18693-dedup-permissions'
[arvados.git] / doc / admin / diagnostics.html.textile.liquid
1 ---
2 layout: default
3 navsection: admin
4 title: Diagnostics
5 ...
6
7 {% comment %}
8 Copyright (C) The Arvados Authors. All rights reserved.
9
10 SPDX-License-Identifier: CC-BY-SA-3.0
11 {% endcomment %}
12
13 The @arvados-client diagnostics@ command exercises basic cluster functionality, and identifies some common installation and configuration problems. Especially after upgrading or reconfiguring Arvados or server/network infrastructure, it can be the quickest way to identify problems.
14
15 h2. Using system privileges
16
17 On a server node, it is easiest to run the diagnostics command with system privileges. The word @sudo@ here instructs the @arvados-client@ command to load @Controller.ExternalURL@ and @SystemRootToken@ from @/etc/arvados/config.yml@ and use those credentials to run tests with system privileges.
18
19 When run this way, diagnostics will also include "health checks":health-checks.html.
20
21 <notextile><pre>
22 # <span class="userinput">arvados-client sudo diagnostics</span>
23 </pre></notextile>
24
25 h2. Using regular user privileges
26
27 On any node (server node, shell node, or a workstation outside the system network), you can also run diagnostics by setting the usual @ARVADOS_API_HOST@ and @ARVADOS_API_TOKEN@ environment variables. Typically this is done with a regular user account.
28
29 <notextile><pre>
30 $ <span class="userinput">export ARVADOS_API_HOST=zzzzz.arvadosapi.com</span>
31 $ <span class="userinput">export ARVADOS_API_TOKEN=xxxxxxxxxx</span>
32 $ <span class="userinput">arvados-client diagnostics</span>
33 </pre></notextile>
34
35 h2. Internal/external client detection
36
37 The diagnostics output indicates whether its client connection is categorized by the server as internal or external. If you run diagnostics automatically with cron or a monitoring tool, you can use the @-internal-client@ or @-external-client@ flag to specify how you _expect_ the client to be categorized, and the test will fail otherwise. Example:
38
39 <notextile><pre>
40 # <span class="userinput">arvados-client sudo diagnostics -internal-client</span>
41 [...]
42
43 --- cut here --- error summary ---
44
45 ERROR     60: checking internal/external client detection (11 ms): expecting internal=true external=false, but found internal=false external=true
46 </pre></notextile>
47
48 h2. Example output
49
50 <notextile><pre>
51 # <span class="userinput">arvados-client sudo diagnostics</span>
52 INFO       5: running health check (same as `arvados-server check`)
53 INFO      10: getting discovery document from https://zzzzz.arvadosapi.com/discovery/v1/apis/arvados/v1/rest
54 INFO      20: getting exported config from https://zzzzz.arvadosapi.com/arvados/v1/config
55 INFO      30: getting current user record
56 INFO      40: connecting to service endpoint https://keep.zzzzz.arvadosapi.com/
57 INFO      41: connecting to service endpoint https://*.collections.zzzzz.arvadosapi.com/
58 INFO      42: connecting to service endpoint https://download.zzzzz.arvadosapi.com/
59 INFO      43: connecting to service endpoint wss://ws.zzzzz.arvadosapi.com/websocket
60 INFO      44: connecting to service endpoint https://workbench.zzzzz.arvadosapi.com/
61 INFO      45: connecting to service endpoint https://workbench2.zzzzz.arvadosapi.com/
62 INFO      50: checking CORS headers at https://zzzzz.arvadosapi.com/
63 INFO      51: checking CORS headers at https://keep.zzzzz.arvadosapi.com/d41d8cd98f00b204e9800998ecf8427e+0
64 INFO      52: checking CORS headers at https://download.zzzzz.arvadosapi.com/
65 INFO      60: checking internal/external client detection
66 INFO      61: reading+writing via keep service at https://keep.zzzzz.arvadosapi.com:443/
67 INFO      80: finding/creating "scratch area for diagnostics" project
68 INFO      90: creating temporary collection
69 INFO     100: uploading file via webdav
70 INFO     110: checking WebDAV ExternalURL wildcard (https://*.collections.zzzzz.arvadosapi.com/)
71 INFO     120: downloading from webdav (https://d41d8cd98f00b204e9800998ecf8427e-0.collections.zzzzz.arvadosapi.com/foo)
72 INFO     121: downloading from webdav (https://d41d8cd98f00b204e9800998ecf8427e-0.collections.zzzzz.arvadosapi.com/sha256:feb5d9fea6a5e9606aa995e879d862b825965ba48de054caab5ef356dc6b3412.tar)
73 INFO     122: downloading from webdav (https://download.zzzzz.arvadosapi.com/c=d41d8cd98f00b204e9800998ecf8427e+0/_/foo)
74 INFO     123: downloading from webdav (https://download.zzzzz.arvadosapi.com/c=d41d8cd98f00b204e9800998ecf8427e+0/_/sha256:feb5d9fea6a5e9606aa995e879d862b825965ba48de054caab5ef356dc6b3412.tar)
75 INFO     124: downloading from webdav (https://a15a27cbc1c7d2d4a0d9e02529aaec7e-128.collections.zzzzz.arvadosapi.com/sha256:feb5d9fea6a5e9606aa995e879d862b825965ba48de054caab5ef356dc6b3412.tar)
76 INFO     125: downloading from webdav (https://download.zzzzz.arvadosapi.com/c=zzzzz-4zz18-twitqma8mbvwydy/_/sha256:feb5d9fea6a5e9606aa995e879d862b825965ba48de054caab5ef356dc6b3412.tar)
77 INFO     130: getting list of virtual machines
78 INFO     140: getting workbench1 webshell page
79 INFO     150: connecting to webshell service
80 INFO     160: running a container
81 INFO      ... container request submitted, waiting up to 10m for container to run
82 INFO    9990: deleting temporary collection
83 </pre></notextile>