operator-framework / operator-framework/operator-controller

Bug: ProgressDeadlineExceeded not set for CE-level resolution/apply failures

Open
#2,861 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Go
Stars
213
Forks
85
Avg merge
2d 1m
Merged PRs (30d)
38

Description

Consider this scenario:

  1. At T0, user creates a CE, which leads to a successful installation:
  • Progressing=True/Succeeded
  • lastTransitionTime=T0
  1. Much later at T100, user modifies the CE to ask for a non-existent version:
  • Progressing=True/Retrying
  • lastTransitionTime=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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.