Skip to content
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

Unexpected behaviour around controller.minAvailable and controller.maxUnavailable parameters #9625

Closed
qlikcoe opened this issue Feb 14, 2023 · 3 comments · Fixed by #9904
Closed
Labels
lifecycle/frozen Indicates that an issue or PR should not be auto-closed due to staleness. needs-kind Indicates a PR lacks a `kind/foo` label and requires one. needs-priority needs-triage Indicates an issue or PR lacks a `triage/foo` label and requires one.

Comments

@qlikcoe
Copy link

qlikcoe commented Feb 14, 2023

As of chart version 4.4.2 new PDB parameter was introduced: controller.maxUnavailable.

Here's the code snipped of how it was implemented:

{{- if .Values.controller.minAvailable }}
  minAvailable: {{ .Values.controller.minAvailable }}
{{- else if .Values.controller.maxUnavailable }}
  maxUnavailable: {{ .Values.controller.maxUnavailable }}
{{- end }}

Because the default values.yaml has controller.minAvailable set to 1, the conditional block above doesn't work as expected, unless you explicitly override controller.minAvailable: null during helm chart deployment. Otherwise it will ignore the maxUnavailable.

The documentation for these two PDB parameters is also not aligned with how it behaves. It says:

Define either 'minAvailable' or 'maxUnavailable', never both.

The readme is also missing the description for the maxUnavailable parameter, the latter is only mentioned in the description of the minAvailable parameter:
https://github.com/kubernetes/ingress-nginx/blob/main/charts/ingress-nginx/README.md?plain=1#L392

@k8s-ci-robot k8s-ci-robot added the needs-triage Indicates an issue or PR lacks a `triage/foo` label and requires one. label Feb 14, 2023
@k8s-ci-robot
Copy link
Contributor

This issue is currently awaiting triage.

If Ingress contributors determines this is a relevant issue, they will accept it by applying the triage/accepted label and provide further guidance.

The triage/accepted label can be added by org members by writing /triage accepted in a comment.

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.

@k8s-ci-robot k8s-ci-robot added needs-kind Indicates a PR lacks a `kind/foo` label and requires one. needs-priority labels Feb 14, 2023
@github-actions
Copy link

This is stale, but we won't close it automatically, just bare in mind the maintainers may be busy with other tasks and will reach your issue ASAP. If you have any question or request to prioritize this, please reach #ingress-nginx-dev on Kubernetes Slack.

@github-actions github-actions bot added the lifecycle/frozen Indicates that an issue or PR should not be auto-closed due to staleness. label Mar 17, 2023
@balonik
Copy link
Contributor

balonik commented Apr 26, 2023

This bug is really annoying.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
lifecycle/frozen Indicates that an issue or PR should not be auto-closed due to staleness. needs-kind Indicates a PR lacks a `kind/foo` label and requires one. needs-priority needs-triage Indicates an issue or PR lacks a `triage/foo` label and requires one.
Projects
Archived in project
Development

Successfully merging a pull request may close this issue.

3 participants