Open bobdanek opened 6 days ago
I found a workaround that will unblock me, though it doesn't explain why things got into this state to begin with:
If I delete availabilityZone
from spec.forProvider
, the resource gets updated a few seconds later, adding back availabilityZone
but with the correct/expected value.
Example with kubectl:
kubectl patch instances.rds.aws.upbound.io example-db --type json -p '[{ "op": "remove", "path": "/spec/forProvider/availabilityZone" }]'
Is there an existing issue for this?
Affected Resource(s)
Resource MRs required to reproduce the bug
exampledb.yml.txt mysqlinstanceandservice.yml.txt xmysqlinstance.yml.txt xmysqlinstanceandservice.yml.txt
Steps to Reproduce
I don't have a way to reproduce this outside our environment, but here's an approximation:
multiAz
totrue
. Do not specify an availability zone.instance
(instances.rds.aws.upbound.io
) to see in which AZ it landed (status.atProvider.availabilityZone
)instance
(instances.rds.aws.upbound.io
) to see which AZ ends up in the spec (spec.forProvider.availabilityZone
)What happened?
Expected: RDS instance created successfully, and the
instance
managed resource stays synced. The AZ in which the instance was created matches the AZ that appears in the spec.Actual behavior: RDS instance created successfully, but at some point
Synced
on theInstance
becomesFalse
because a different availability zone appeared in the spec, which causes replacement. Replacement is blocked (thankfully) due to"prevent_destroy":true
. Any unrelated changes we want to make are blocked by this.Relevant Error Output Snippet
Crossplane Version
1.14.9
Provider Version
0.40.102
Kubernetes Version
v1.28.9-eks-036c24b
Kubernetes Distribution
EKS
Additional Info
rds-ca-2019
tords-ca-rsa2048-g1
) were not being applied.