Skip to content

Commit 189b46f

Browse files
committed
Add note on reconcilation
Signed-off-by: Alex Ellis (OpenFaaS Ltd) <[email protected]>
1 parent 500a94d commit 189b46f

File tree

1 file changed

+20
-0
lines changed

1 file changed

+20
-0
lines changed

docs/deployment/troubleshooting.md

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,26 @@ Common issues:
9494
* You haven't created a secret which is required for your function to start. Check your function request or stack.yml, and create any missing secrets.
9595
* Your function is crashing due to an error in your code, check the logs.
9696

97+
### My Function Custom Resource had an error, now it's taking too long to recover
98+
99+
If you create a Function Custom Resource that is in an invalid state due to a missing Secret, invalid requests/limits, or some other parsing or validation error, then the .Status will will go into a "stalled" condition.
100+
101+
You can view conditions by running `kubectl describe -n openfaas-fn function/nodeinfo` for instance.
102+
103+
Every time the Operator tries to reconcile the Function, it will fail, and then wait for a back-off period before trying again. This is standard behaviour for Kubernetes controllers, in order to prevent a misconfigured resource from blocking or crashing the system.
104+
105+
If you have fixed the error condition by changing the Function's .Spec, then the operator will immediately try to reconcile the Function again, resetting the back-off period at the same time.
106+
107+
However, if the .Spec has not changed, and instead some other condition like a missing Secret is now satisfied, you can either wait until the next back-off period, or you can annotate the Function to force the Operator to try again:
108+
109+
```bash
110+
kubectl annotate -n openfaas-fn function/nodeinfo \
111+
--overwrite \
112+
com.openfaas.uid=1
113+
```
114+
115+
The value of the `uid` field can be any value, if you want to force the Operator to try and you already have a value here, then you can just change it to a different value, i.e. `2` or a random string like a UUID.
116+
97117
### Is my function's name too long?
98118

99119
When using OpenFaaS Standard or OpenFaaS for Enterprises along with the Function CRD, a function's name can be no longer than 63 characters. This is due to a limitation on the length of label selectors within Kubernetes.

0 commit comments

Comments
 (0)