-
Notifications
You must be signed in to change notification settings - Fork 9.3k
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
Elasticache redis 6.x support #15625
Comments
Any workarounds! |
I've created a PR so please upvote it for a faster review! #15702 |
@HaroonSaid got it to work by accident, before seeing this thread, by first setting This resulted in |
I've got these ElastiCache instances that are 5.0.3 and via Terraform we try to update them to 6. When I use 6.x , terraform plan/apply croaks with the message:
When I use 6.0.5, terraform thinks that's fine, but when actually applying it AWS starts to complain:
Now that's fun. Damned if you do, damned if you don't! |
Getting exactly the same issue :(. AWS naming convention again being amazing |
@Krule , that's because your state matches what's already deployed (you are inadvertently making it match manually) and hence it does not try to update the redis cache. Try this on a fresh environment and you'll the issue. |
There are two approaches until a fix is created
|
Given you don't really care what the engine value is, you could just add a lifecycle block to ignore the changes as follows:
|
Any Updates? |
Hey, I'm not sure if I should create a new ticket for this or not, but I think there is a bug when it's creating a 6* Cluster. If you create the cluster using: resource "aws_elasticache_replication_group" "main" {
...
engine_version = "6.x"
...
} Then later you can change it to a specific version and it will ok. resource "aws_elasticache_replication_group" "main" {
...
engine_version = "6.0.5"
...
} But if you recreate the cluster using the
I'm using:
|
He there i have a temporary workaround we currently use in case you don't care about exactly which engine version is running for version 6. You can simply create your cache cluster and ommit the paramater engine_version Below is an example of our working terraform code.
It works both for creating/updating the resource. For us it created the cluster with the newest version. It recognizes version 6 by using the paramater_group_name |
just recently hit this exact issue, does anyone know if its fixed in the latest AWS provider release? Or scheduled to go into one? |
With this closed what release will we see this fix in? |
It looks like it'll be in the next 3.38.0 release. 795d147 |
This has been released in version 3.38.0 of the Terraform AWS provider. Please see the Terraform documentation on provider versioning or reach out if you need any assistance upgrading. For further feature requests or bug reports with this functionality, please create a new GitHub issue following the template for triage. Thanks! |
I'm going to lock this issue because it has been closed for 30 days ⏳. This helps our maintainers find and focus on the active issues. |
This issue was originally opened by @kaushik-prasanna as hashicorp/terraform#26570. It was migrated here as a result of the provider split. The original body of the issue is below.
With the recent release of Redis 6 by AWS Elasticache, AWS has moved to a single version model for its redis engine.
From the docs :
What this means is that the version to be specified in such case is
6.x
while creating Elasticache rather than something like6.0.5
.Coming to the issue, the creation of elasticache works fine when specified as
6.x
, but the same thing when run again after creation leads to the problem due to terraform not recognising the version and trying to update it as such.Sample terraform 0.13.4 code :
On the first run of terraform apply, the resource gets created. But on second run (with not changes), terraform sees that the redis version created was
6.0.5
and tries to update it to6.x
.Output of
terraform plan
:And on apply, we get the error :
From an inital glance, it looks like terraform currently is not aligned with Redis 6.x version from AWS.
Also, we cannot specify specific versions. Hence it's forcing us to downgrade back to Redis 5. Hope this gets solved soon.
The text was updated successfully, but these errors were encountered: