-
Bug
-
Resolution: Done
-
Major
-
1.17.0, 1.18.0, 1.17.1, 1.18.1
Description of Problem
Since the `openshift-gitops-redis-ha-haproxy` deployment now has default replica count set to 3 and has PodAntiAffinity as:
affinity:
podAntiAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
- labelSelector:
matchLabels:
app.kubernetes.io/name: openshift-gitops-redis-ha-haproxy
topologyKey: kubernetes.io/hostname
And the RollingUpdate Strategy as:
type: RollingUpdate
rollingUpdate:
maxUnavailable: 25%
maxSurge: 25%
As the update strategy will start a new pod before deleting an existing one and when PodAntiAffinity rules are applied, for environments containing only 3 worker nodes, the new pod is never scheduled.
Additional Info
- <Any additional info such as logs, must-gather outputs, etc.>
Problem Reproduction
- <How do we reproduce the problem?>
Reproducibility
- Always
Prerequisites/Environment
- <OpenShift, managed service (e.g., ROSA, ARO), operators, layered product, and other software versions, build details>
Steps to Reproduce
- ...
Expected Results
- ...
Actual Results
- ...
Problem Analysis
- <Completed by engineering team as part of the triage/refinement process>
Root Cause
- <What is the root cause of the problem? Or, why is it not a bug?>
Workaround (If Possible)
- <Are there any workarounds we can provide to the customers?>
Fix Approaches
- Need to check if maxUnavailable field in rollout can be adjusted to fix this issue.
Acceptance Criteria
- ...
Definition of Done
- Code Complete:
- All code has been written, reviewed, and approved.
- Tested:
- Unit tests have been written and passed.
- Ensure code coverage is not reduced with the changes.
- Integration tests have been automated.
- System tests have been conducted, and all critical bugs have been fixed.
- Tested and merged on OpenShift either upstream or downstream on a local build.
- Documentation:
- User documentation or release notes have been written (if applicable).
- Build:
- Code has been successfully built and integrated into the main repository / project.
- Midstream changes (if applicable) are done, reviewed, approved and merged.
- Review:
- Code has been peer-reviewed and meets coding standards.
- All acceptance criteria defined in the user story have been met.
- Tested by reviewer on OpenShift.
- Deployment:
- The feature has been deployed on OpenShift cluster for testing.