Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Reconcile error in RDSInstance for IOPS value when updating allocated storage from under 400 gib to over 400 gib #2034

Open
ShamilMagamadov opened this issue Apr 12, 2024 · 0 comments
Labels
bug Something isn't working

Comments

@ShamilMagamadov
Copy link

ShamilMagamadov commented Apr 12, 2024

What happened?

When creating RDSInstance with storageType equal gp3 and allocatedStorage set to 200gib (under 400gib). IOPS is then automatically set to correct baseline of 3000. When then editing the RDSInstance by increasing the allocatedStorage to 2000gib (over 400 gib), the IOPS should be automatically increased to 12 000. AWS will automatically increase the IOPS to the new baseline (can confirm in the AWS console), but crossplane-provider will try to reconcile it back to the previous value of 3000. 3000 IOPS is not valid for allocatedStorage over 400gib, the new treshold is now 12 000 and no longer 3000. A reconcile error happens. I expected the crossplane provider to not try to renconcile it back to 3000 but to be updated with the updated IOPS value from AWS: 12 000 which was set by AWS automatically when updating the allocatedStorage parameter, the storage of the RDSInstance.

How can we reproduce it?

  1. First create a RDSInstance with allocatedStorage set to 200gib (<400) and storageType equal to gp3.

     apiVersion: database.aws.crossplane.io/v1beta1
     kind: RDSInstance
    
  2. Confirm in the AWS console the IOPS is set to 3000.

  3. Then edit the RDSInstance by increasing the allocatedStorage to 600 (>400) gib.

  4. Confirm in the AWS console the IOPS is set to 12 000.

  5. Describe the RDSInstance and verify the reconcile error with message something like this:
    Invalid iops value for engine name postgres and storage type gp3: 3000","requestParameters":{"allowMajorVersionUpgrade":true,"dBInstanceIdentifier":"instance-x-db","iops":3000,"multiAZ":true,"applyImmediately":true}

Environment

Crossplane version: v1.15.0
kubectl version: v1.29.1
crossplane/provider-aws@v0.32.0
Resource: apiVersion: database.aws.crossplane.io/v1beta1, kind: RDSInstance
Linux Redhat 8.9
-->

@ShamilMagamadov ShamilMagamadov added the bug Something isn't working label Apr 12, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

1 participant