crossplane-contrib / crossplane-contrib/function-auto-ready

Unsuccesful synced resource but ready composition

Open
#114 0 comments 4 reactions 0 assignees View on GitHub
bug
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.