Skip to content

Conversation

@ne-Lux
Copy link

@ne-Lux ne-Lux commented Dec 11, 2025

Job pods, that are meant to remain in the namespace after completing their job for a certain time will cause the helm deployment to fail.

The enhanced parsePodJson filters out pods with ownerReferences.kind == Job. The rationale behind filtering out kind == Job and not focusing on ReplicaSet is, that most ownerReferences in OpenShift should be considered. ReplicaSet and ReplicationController are common (Deployment / DeploymentConfig), but also no ownerReferences, StatefulSet and potentially others can occur. All these pods with different ownerReferences should either be of different app label (if your app does not rely on them) or running (if your app relies on them).

Therefore, the only pods with the same app label that are allowed to be in the namespace with a phase != running are job pods.

Lukas Nennstiel added 3 commits December 11, 2025 13:06
testing of parcePodJson requires to have an oc get pods output mocked. The both jsons represent one project with problematic pods and one project with running pods and one job pod, that should be ignored.
write one succeeding test for problematic project-json output and one failing test for project-json that includes a job pod.
parsePodJson failed before if the project had job-related pods with the same app label. Since it is common for job pods to remain in the namespace, they are now excluded from the 'running' check to not produce false negatives.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant