Skip to content

Commit a5a7bf6

Browse files
committed
Make cleanoutserver step mandatory in drain documentation.
1 parent 628f913 commit a5a7bf6

File tree

1 file changed

+21
-7
lines changed
  • docs/Manual/Deployment/Kubernetes

1 file changed

+21
-7
lines changed

docs/Manual/Deployment/Kubernetes/Drain.md

Lines changed: 21 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -238,13 +238,14 @@ POST /_db/_system/_api/replication/clusterInventory
238238
}
239239
```
240240

241-
Check that for all collections the attribute `"allInSync"` has
242-
the value `true`. Note that it is necessary to do this for all databases!
241+
Check that for all collections the attributes `"isReady"` and `"allInSync"`
242+
both have the value `true`. Note that it is necessary to do this for all
243+
databases!
243244

244245
Here is a shell command which makes this check easy:
245246

246247
```bash
247-
curl -k https://arangodb.9hoeffer.de:8529/_db/_system/_api/replication/clusterInventory --user root: | jq . | grep '"allInSync"' | sort | uniq -c
248+
curl -k https://arangodb.9hoeffer.de:8529/_db/_system/_api/replication/clusterInventory --user root: | jq . | grep '"isReady"\|"allInSync"' | sort | uniq -c
248249
```
249250

250251
If all these checks are performed and are okay, the cluster is ready to
@@ -274,13 +275,14 @@ below, the procedure should also work without this.
274275
Finally, one should **not run a rolling upgrade or restart operation**
275276
at the time of a node drain.
276277

277-
## Clean out a DBserver manually (optional)
278+
## Clean out a DBserver manually
278279

279280
In this step we clean out a _DBServer_ manually, before even issuing the
280-
`kubectl drain` command. This step is optional, but can speed up things
281-
considerably. Here is why:
281+
`kubectl drain` command. Previously, we have denoted this step as optional,
282+
but for safety reasons, we have made it mandatory now, since it is near
283+
impossible to choose the grace period long enough in a reliable way.
282284

283-
If this step is not performed, we must choose
285+
Furthermore, if this step is not performed, we must choose
284286
the grace period long enough to avoid any risk, as explained in the
285287
previous section. However, this has a disadvantage which has nothing to
286288
do with ArangoDB: We have observed, that some k8s internal services like
@@ -328,6 +330,12 @@ could use the body:
328330
{"server":"PRMR-wbsq47rz"}
329331
```
330332

333+
You can use this command line to achieve this:
334+
335+
```bash
336+
curl -k https://arangodb.9hoeffer.de:8529/_admin/cluster/cleanOutServer --user root: -d '{"server":"PRMR-wbsq47rz"}'
337+
```
338+
331339
The API call will return immediately with a body like this:
332340

333341
```JSON
@@ -360,6 +368,12 @@ GET /_admin/cluster/queryAgencyJob?id=38029195
360368
}
361369
```
362370

371+
Use this command line to check progress:
372+
373+
```bash
374+
curl -k https://arangodb.9hoeffer.de:8529/_admin/cluster/queryAgencyJob?id=38029195 --user root:
375+
```
376+
363377
It indicates that the job is still ongoing (`"Pending"`). As soon as
364378
the job has completed, the answer will be:
365379

0 commit comments

Comments
 (0)