Skip to content

fix: degrade condition overwritten by the next reconcile - #220

Open
alicefr wants to merge 3 commits into
bootc-dev:mainfrom
alicefr:fix-bug-217
Open

alicefr wants to merge 3 commits into
bootc-dev:mainfrom
alicefr:fix-bug-217

Conversation

@alicefr

@alicefr alicefr commented Oct 5, 2026 •

Copy link
Copy Markdown
Collaborator

When tag resolution fails for a BootcNodePool, the Degraded condition is correctly set but lost on the next reconcile: the blanket healthy-reset clears it and the deferred resolution path returns early without re-applying it.

Re-set the TagResolutionError condition when resolution is not yet due and TargetDigest is still empty, meaning no prior resolution has succeeded.

Fixes: #217

@alicefr

alicefr commented Oct 5, 2026

Copy link
Copy Markdown
Collaborator Author

@Mergifyio backport release-0.1

@mergify

mergify Bot commented Oct 5, 2026

Copy link
Copy Markdown

backport release-0.1

🟠 Waiting for conditions to match

Details
  • merged [📌 backport requirement]

Bumps the go-deps group with 9 updates:

| Package | From | To |
| --- | --- | --- |
| [github.com/aws/aws-sdk-go-v2](https://github.com/aws/aws-sdk-go-v2) | `1.47.0` | `1.47.1` |
| [github.com/aws/aws-sdk-go-v2/config](https://github.com/aws/aws-sdk-go-v2) | `1.33.5` | `1.33.6` |
| [github.com/aws/aws-sdk-go-v2/service/autoscaling](https://github.com/aws/aws-sdk-go-v2) | `1.78.0` | `1.78.1` |
| [github.com/aws/aws-sdk-go-v2/service/ec2](https://github.com/aws/aws-sdk-go-v2) | `1.335.0` | `1.336.1` |
| [github.com/onsi/gomega](https://github.com/onsi/gomega) | `1.43.1` | `1.44.0` |
| [k8s.io/api](https://github.com/kubernetes/api) | `0.37.0` | `0.37.1` |
| [k8s.io/apimachinery](https://github.com/kubernetes/apimachinery) | `0.37.0` | `0.37.1` |
| [k8s.io/client-go](https://github.com/kubernetes/client-go) | `0.37.0` | `0.37.1` |
| [k8s.io/kubectl](https://github.com/kubernetes/kubectl) | `0.37.0` | `0.37.1` |

Updates `github.com/aws/aws-sdk-go-v2` from 1.47.0 to 1.47.1
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Commits](aws/aws-sdk-go-v2@v1.47.0...v1.47.1)

Updates `github.com/aws/aws-sdk-go-v2/config` from 1.33.5 to 1.33.6
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Commits](aws/aws-sdk-go-v2@config/v1.33.5...config/v1.33.6)

Updates `github.com/aws/aws-sdk-go-v2/service/autoscaling` from 1.78.0 to 1.78.1
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Commits](aws/aws-sdk-go-v2@service/s3/v1.78.0...service/s3/v1.78.1)

Updates `github.com/aws/aws-sdk-go-v2/service/ec2` from 1.335.0 to 1.336.1
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Commits](aws/aws-sdk-go-v2@service/ec2/v1.335.0...service/ec2/v1.336.1)

Updates `github.com/onsi/gomega` from 1.43.1 to 1.44.0
- [Release notes](https://github.com/onsi/gomega/releases)
- [Changelog](https://github.com/onsi/gomega/blob/master/CHANGELOG.md)
- [Commits](onsi/gomega@v1.43.1...v1.44.0)

Updates `k8s.io/api` from 0.37.0 to 0.37.1
- [Commits](kubernetes/api@v0.37.0...v0.37.1)

Updates `k8s.io/apimachinery` from 0.37.0 to 0.37.1
- [Commits](kubernetes/apimachinery@v0.37.0...v0.37.1)

Updates `k8s.io/client-go` from 0.37.0 to 0.37.1
- [Changelog](https://github.com/kubernetes/client-go/blob/master/CHANGELOG.md)
- [Commits](kubernetes/client-go@v0.37.0...v0.37.1)

Updates `k8s.io/kubectl` from 0.37.0 to 0.37.1
- [Commits](kubernetes/kubectl@v0.37.0...v0.37.1)

---
updated-dependencies:
- dependency-name: github.com/aws/aws-sdk-go-v2
  dependency-version: 1.47.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: go-deps
- dependency-name: github.com/aws/aws-sdk-go-v2/config
  dependency-version: 1.33.6
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: go-deps
- dependency-name: github.com/aws/aws-sdk-go-v2/service/autoscaling
  dependency-version: 1.78.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: go-deps
- dependency-name: github.com/aws/aws-sdk-go-v2/service/ec2
  dependency-version: 1.336.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: go-deps
- dependency-name: github.com/onsi/gomega
  dependency-version: 1.44.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: go-deps
- dependency-name: k8s.io/api
  dependency-version: 0.37.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: go-deps
- dependency-name: k8s.io/apimachinery
  dependency-version: 0.37.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: go-deps
- dependency-name: k8s.io/client-go
  dependency-version: 0.37.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: go-deps
- dependency-name: k8s.io/kubectl
  dependency-version: 0.37.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: go-deps
...

Signed-off-by: dependabot[bot] <support@github.com>
When a tag-based pool has a prior PoolDegraded condition from a failed
tag resolution, the blanket healthy-reset at the top of Reconcile clears
it. On the next deferred-resolution path (poll interval not yet elapsed),
the degraded state is lost because resolveTargetDigest does not restore
it. Pass the previous conditions into resolveTargetDigest and re-apply
the degraded condition when TargetDigest is still empty.

Assisted-by: AI
Signed-off-by: Alice Frosi <afrosi@redhat.com>
Add TestResolveTargetDigestDeferredPreservesDegraded to confirm that when
a tag resolution previously failed and set PoolDegraded, a subsequent
deferred resolution (poll interval not elapsed) carries the degraded
condition forward instead of silently dropping it.

Assisted-by: AI
Signed-off-by: Alice Frosi <afrosi@redhat.com>

This branch has not been deployed

No deployments
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.

[bug] Wrong image should cause the bootcnodepool to be in degraded state

1 participant