operator-framework / operator-framework/operator-controller
Bug: ProgressDeadlineExceeded not set for CE-level resolution/apply failures
Nobody has claimed this yet.
- Dominant language
- Go
- Stars
- 213
- Forks
- 85
- Avg merge
- 2d 1m
- Merged PRs (30d)
- 38
Description
Consider this scenario:
- At
T0, user creates a CE, which leads to a successful installation:
Progressing=True/SucceededlastTransitionTime=T0
- Much later at
T100, user modifies the CE to ask for a non-existent version:
Progressing=True/RetryinglastTransitionTime=T0(because this only changes when status changes)
What currently happens at T100+progressDeadlineMinutes is.... nothing. We should exceed the deadline at that point, but there is nothing in the CE API anywhere that records when we've actually started progressing from steady state again.
If we change (1) such that it results in Progressing=False/Succeeded, then (2) would transition to Progressing=True, which means lastTransitionTime would also be set to T100, which would mean would could close that scenario's progressing deadline bug by setting Progressing=False/ProgressDeadlineExceeded, which we wouldn't subsequently change until we successfully resolve/apply the COS again.
Originally posted by @joelanford in https://github.com/operator-framework/operator-controller/issues/2810#issuecomment-5231204488
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
No files or tests are named. Start by tracing CE-level resolution and apply status handling; done means a CE changed from a successful installation records the new progression start and reaches Progressing=False/ProgressDeadlineExceeded after the configured deadline, remaining there until resolution or apply succeeds.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go
- Domain
- backend
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 52/100