Integration reporting error before the progress deadline timeout expires
- Dominant language
- Go
- Stars
- 927
- Forks
- 387
- Avg merge
- 15h 5m
- Merged PRs (30d)
- 36
Description
### What happened?
I have Camel-K running on an EKS cluster with autoscaling groups scaling up to 20 nodes.
At the moment this was reported, 8 nodes were running, and I created a new Integration object.
There was no room for a new pod in the running nodes, so Kubernetes spawned a new one. However, the Integration reported as Error immediately, even before the Deployment progress deadline expired.
This is the Integration report:
```
- lastTransitionTime: "2024-05-27T17:42:16Z"
lastUpdateTime: "2024-05-27T17:42:16Z"
message: '0/8 nodes are available: 1 node(s) were unschedulable, 7 Insufficient
cpu. preemption: 0/8 nodes are available: 1 Preemption is not helpful for scheduling,
7 No preemption victims found for incoming pod..'
reason: Error
status: "False"
type: Ready
```
And this is the Deployment status:
```
status:
conditions:
- lastTransitionTime: "2024-05-27T17:42:16Z"
lastUpdateTime: "2024-05-27T17:42:16Z"
message: Deployment does not have minimum availability.
reason: MinimumReplicasUnavailable
status: "False"
type: Available
- lastTransitionTime: "2024-05-27T17:42:16Z"
lastUpdateTime: "2024-05-27T17:42:16Z"
message: ReplicaSet "deploy-4f2a232d-fec3-42ad-b437-b5c47fcf1804-copy-5dbc986949"
is progressing.
reason: ReplicaSetUpdated
status: "True"
type: Progressing
```
As we can see, the deployment is still progressing.
I expected the status to be Error only after the progress deadline expired.
### Steps to reproduce
_No response_
### Relevant log output
_No response_
### Camel K version
2.2.0
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by tracing the controller path that turns the Integration's Deployment status into Ready or Error, using the reported Integration and Deployment conditions as the comparison. Check how the progress deadline is read and how scheduling failures are classified; done means an integration remains non-Error while deployment progress is ongoing, with tests covering these conditions.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go, kubernetes
- Domain
- backend, infrastructure
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100