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

RDSInstance.forProvider.caCertificateIdentifier property is not working #1889

Closed
mateusz-lubanski-sinch opened this issue Oct 9, 2023 · 2 comments
Labels
bug Something isn't working

Comments

@mateusz-lubanski-sinch
Copy link

What happened?

After setting RDSInstance.forProvider.caCertificateIdentifier property value to rds-ca-rsa2048-g1 change is not reflected in provisioned RDS Instance (it still uses rds-ca-2019)

Might be related to: #1795

How can we reproduce it?

example RDS Instance:

apiVersion: database.aws.crossplane.io/v1beta1
kind: RDSInstance
metadata:
  annotations:
    crossplane.io/external-name: deploy-to-lab-mysql-0
  name: deploy-to-lab-mysql-0-x6fhs
spec:
  deletionPolicy: Delete
  forProvider:
    allocatedStorage: 20
    applyModificationsImmediately: false
    backupRetentionPeriod: 0
    caCertificateIdentifier: rds-ca-rsa2048-g1
    copyTagsToSnapshot: true
    dbInstanceClass: db.t4g.small
    dbParameterGroupName: deploy-to-lab-mysql-0
    dbSubnetGroupName: private_net_vpc-09axxx
    enableCloudwatchLogsExports:
    - audit
    enablePerformanceInsights: false
    engine: mysql
    masterUsername: root
    maxAllocatedStorage: 1000
    multiAZ: false
    preferredBackupWindow: 14:00-16:00
    preferredMaintenanceWindow: Mon:11:00-Mon:14:00
    publiclyAccessible: false
    region: eu-west-1
    skipFinalSnapshotBeforeDeletion: true
    storageEncrypted: true
    storageType: gp3
    vpcSecurityGroupIds:
    - sg-05xxx
    - sg-06xxx
    - sg-04xxx
  managementPolicies:
  - Observe
  - Create
  - Update
  - Delete
  providerConfigRef:
    name: crossplane-provider-aws

After a while resource is provisioned provisioned

kubectl get rdsinstance
NAME                          READY   SYNCED   STATE       ENGINE   VERSION   AGE
deploy-to-lab-mysql-0-x6fhs   True    True     available   mysql              26m

When we look on AWS Console we can see that our database is using rds-ca-2019 CA Certificate which is wrong because we set it to rds-ca-rsa2048-g1:
image

When we check RDS Instance status we can see below pendingModifiedValues:

kubectl get rdsinstance deploy-to-lab-mysql-0-x6fhs -o yaml | yq ".status.atProvider.pendingModifiedValues"
caCertificateIdentifier: rds-ca-rsa2048-g1
pendingCloudwatchLogsExports: {}

In AWS Console there is no pending modification, restarting RDS Instance also didn't help

image

What environment did it happen in?

  • Crossplane version: 1.13.2
  • provider version: xpkg.upbound.io/crossplane-contrib/provider-aws:v0.43.0
  • Cloud provider: AWS
  • Kubernetes version 1.24.x
  • Kubernetes distribution: EKS
@mateusz-lubanski-sinch mateusz-lubanski-sinch added the bug Something isn't working label Oct 9, 2023
@MisterMX
Copy link
Collaborator

I tried to replicate this issue in v0.44.0 and I got a successful update from rds-ca-2019 to rds-ca-rsa2048-g1 without any issues. There is also not additional value in pendingModifiedValues.

Could it the non-update is cause by having spec.forProvider.applyModificationsImmediately: false?

@mateusz-lubanski-sinch
Copy link
Author

You are right @MisterMX , after updating spec.forProvider.a spec.forProvider.applyMpplyModificationsImmediately: true it is working as expected!

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

2 participants