crossplane-contrib / crossplane-contrib/function-auto-ready
Unsuccesful synced resource but ready composition
- Dominant language
- Go
- Stars
- 36
- Forks
- 27
- Avg merge
- 2d 9h
- Merged PRs (30d)
- 9
Description
When a Composition is created and all of its subresources eventually become Ready, the function-auto-ready sets the Ready condition on the Composition accordingly.
If then a change is made to the composition that causes syncing of a subresource to fail. The composition remains ready because the subresource remains ready.
However, if the Composition is later updated in a way that causes one of its subresources to fail syncing, the Composition continues to report as Ready.
I believe this is incorrect behavior. A Composition should not be considered Ready if any of its subresources are NotReady or not successfully synced.
Crossplane trace:
```
LambdaFunction/lets-doit-dd7z5 True True Available
├─ Alias/lets-doit-dd7z5-qbsdk False True ReconcileError: ...ception: Additional version weight must be less than 100 %
└─ Function/lets-doit True True Available
```
Status:
```
conditions:
-reason: Available
status: "True"
type: Ready
- status: "False"
type: Synced
reason: AsyncUpdateFailure
message: 'async update failed: failed to update the resource: error Lambda: UpdateAlias, https response error StatusCode: 400, InvalidParameterValueException: Additional version weight must be less than 100 %
```
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by inspecting function-auto-ready's readiness evaluation and reproduce the Composition flow described in the issue: resources first become Ready, then a subresource sync fails while its Ready condition remains true. Verify that the Composition's Ready condition becomes false when any subresource is not successfully synced, using the provided Crossplane trace and status as the expected behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go
- Domain
- backend
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 42/100