4
votes

Have an RDS database cluster. The deployed version in AWS has the following attributes: Engine: aurora-postgresql EngineVersion: '10.11'

My cloudformation template specified 'EngineVersion 10.7', but I believe the minor version was updated automatically on the deployed cluster. When I tried to deploy my Cloudformation stack, i ran into this error(Something very similar, i don't have that error message available right now): The specified new engine version is different current version: 10.11 (Service: AmazonRDS; Status Code: 400; Error Code: InvalidParameterCombination

I tried updating my CF template to match the deployed engine version, and now I get: The specified new engine version is same as current version: 10.11 (Service: AmazonRDS; Status Code: 400; Error Code: InvalidParameterCombination

I can't figure out what the InvalidParameterCombination means.

How do I get out of this predicament?

1
The first error is complaining because a downgrade is not possible, i guess the error message is something like: “cannot downgrade”. - f7o
The second error also makes sense, CloudFormation calls the upgrade API because it assumes the cluster ir running 10.7, but actually is 10.11. and therefore the upgrade is not possible. - f7o
There is a issue on github with recent activity on this (github.com/aws-cloudformation/…). - f7o

1 Answers

3
votes

One option i see to work around this issue, is to attach a retention policy (retain) to the cluster, update stack, remove the cluster from the template, update stack and finally import the DB Cluster into the template with the correct version.

Can be difficult with dependencies, for those !Ref calls one could hard code the arn or custer id as a mapping, replace the references with the static mapping and finally follow the steps above. At the end replace hardcoded IDs with newly imported DB cluster and !Ref.