-
Notifications
You must be signed in to change notification settings - Fork 1.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Health Check (Liveness and Readiness probe for Operator) #1234
Comments
cc @shawn-hurley @jmrodri as it's an ansible operator enhancement issue ^ |
@lilic |
@lili @luszczynski We actually used to have a default readiness check but it (in combination with leader election) interfered with rolling out operator deployment updates. See #920 and #932. If we reintroduce these (or similar) checks, we need to make sure we don't have a regression with the operator deployment rollout issue. |
@luszczynski Thanks for the request! I think this makes sense to tackle in a future sprint. |
Issues go stale after 90d of inactivity. Mark the issue as fresh by commenting If this issue is safe to close now please do so with /lifecycle stale |
Stale issues rot after 30d of inactivity. Mark the issue as fresh by commenting If this issue is safe to close now please do so with /lifecycle rotten |
Rotten issues close after 30d of inactivity. Reopen the issue by commenting /close |
@openshift-bot: Closing this issue. In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
Hi @joelanford should it be closed? I am re-opening it since shows that it still making sense. |
What did the checks look like when they were conflicting with the election? EDIT: Found where this was originally discussed in #920. |
I got asked this question at a workshops and it's actually a valid one. There should be SOME sort of default readiness/health check for an ansible operator |
Is there a design proposal on how to handle this? |
I haven't found a design proposal in my poking around. I also haven't run into any problems simply using EDIT: Removed sentence about something I was looking for because I found it. |
cc @chris-short |
I see a health check as being as simple as running |
Should we not add for all types? We might could to do it in upstream .. wdyt @asmacdo |
IMO: to close this one we need to address it to upstream (go) and in SDK for the helm |
@asmacdo @camilamacedo86 Short question, is liveness and readiness probe available for go operator ? |
is it implemented in controller-runtime already? See: kubernetes-sigs/controller-runtime#855
@asmacdo I understand that we have liveness check for Ansible. So, could you please give a hand by supplementing here what is or not done for ansible and why? PS. would be nice to have the link for the code implementation and/or pr where it was addressed. |
Just to keep it update. The controller-runtime provides features to address this need and it is addressed on upstream for v3-alpha plugin. See:kubernetes-sigs/kubebuilder#1856 So, the next step would be we check if we can add it to v1+ ansible/helm plugin or we need to push it for v2+ plugin as well for them. Also. we might need to deprecate some specific implementation done for Ansible to address the same in favor of controller-runtime/upstream one. @asmacdo have we any specific reason for not use the controller-runtime implementation to address it for Ansible as well? |
/lifecycle frozen |
It will be solved for GO with the go/v3 plugin that will be available for the next release and for Helm/Ansible we have the PR: #4326 |
…4326) **Description of the change:** - Add the probes for Helm/Ansible by default as it was done for Golang go/v3 in upstream. - For Ansible/Helm-based operators, added new flag `--health-probe-bind-address` to allow customize the probe port used. - For Ansible-based operators, deprecated the ping endpoint **Motivation for the change:** - #1234
…perator-framework#4326) **Description of the change:** - Add the probes for Helm/Ansible by default as it was done for Golang go/v3 in upstream. - For Ansible/Helm-based operators, added new flag `--health-probe-bind-address` to allow customize the probe port used. - For Ansible-based operators, deprecated the ping endpoint **Motivation for the change:** - operator-framework#1234 Signed-off-by: reinvantveer <[email protected]>
…perator-framework#4326) **Description of the change:** - Add the probes for Helm/Ansible by default as it was done for Golang go/v3 in upstream. - For Ansible/Helm-based operators, added new flag `--health-probe-bind-address` to allow customize the probe port used. - For Ansible-based operators, deprecated the ping endpoint **Motivation for the change:** - operator-framework#1234 Signed-off-by: rearl <[email protected]>
What did you do?
I've created a new ansible operator using:
What did you expect to see?
I expect to see a deployment object using liveness and readiness probe to check the health of my operator.
The file is
gogs-operator/deploy/operator.yaml
What did you see instead? Under which circumstances?
A deployment without liveness and readiness probe.
Environment
operator-sdk version v0.6.0
oc v3.11.88
kubernetes v1.11.0+d4cacc0
features: Basic-Auth GSSAPI Kerberos SPNEGO
Additional context
Additionally, operator-sdk should:
Do these requirements above make sense?
The text was updated successfully, but these errors were encountered: