Datastores
Each datastore with the status available must have a container that runs.
The datastore has the status available. Its container runs, and its data is on the volume.
The reconciler provisions a datastore again when its container is not there, stopped, paused or dead. It starts or creates the container with the same volume, thus the data stays.
A datastore that failed
If a datastore has the status failed, the reconciler tries again with a backoff.
| Try | Wait before it |
|---|---|
| First | 60 seconds |
| Next ones | Two times the previous wait |
| Maximum | 30 minutes |
When the reconciler provisions a datastore again, it can keep a container that exists. If the current limits of the datastore are different, it applies them to this container. Example: you raised the limits while the datastore was failed because it ran out of memory.
A container that the kernel killed because of its memory limit makes the provision fail immediately.
the redis container ran out of memory (limit 256 MiB) — raise the datastore's memory limitThe free-disk check (--min-free-disk) never blocks the reconciler here. The condition: the datastore exists and its image is still on the server. Thus a datastore heals on a disk that is almost full too.