-
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
AWS has changed Elasticache Redis versioning again #22385
Comments
Yes Please!!! This is basically blocking us to upgrade to version 6.0 |
So what needs to change? Does that Elasticache API now want us to specify
That has always been the case for the 6.x clusters. The Describe API always return the actual version number that is running (i.e. 5.0.5, 6.0.0, etc...), not necessarily the engine_version parameter specified in the create API call. (i.e. "6.x"). |
I've been looking at the docs, indeed, it seems like with the 6.2 release, it seems like AWS wants us to use "6.0" and "6.2" in the |
@manelpb - Seems like you can still specify "6.x" in the |
@ktham Yes, but that would force us to migrate to 6.2 instead of 6.0. Even though they don't have any significant breaking change, there was indeed a change that could affect the way they calculate key expiration, as described here:
https://raw.githubusercontent.com/redis/redis/6.2/00-RELEASENOTES We don't want to migrate right from 5.0 to 6.2 without making sure it won't affect all of our servers, which might take some time. |
Ah, I see. cc @gdavison, there might be some tweaks needed to #18920 to support setting I think we'll want to:
|
Note that I'm not talking about the API call used to describe the version that a particular cluster is running, this API call returns a list of versions (for both Redis and Memcached) that are supported by the API. I'm pretty sure you're thinking of
Among other things, |
Ah, indeed. Sorry, I didn't read your PR description carefully initially |
Looks like we have a pull request open with a change to fix this issue. Has anyone looked at it? |
Using engine_version "6.x" seems to work. |
Picking this one up as the PR seems to be lying around |
Do we have any ETA when will be the provider this will be available to support 6.0 and 6.2 for engine_version? |
Just finished the PR (need to run tests), up to the reviewers, as ElastiCache is a core service you might get lucky and it becomes part of 4.6.0 (upcoming release). |
Thank you @bschaatsbergen |
I had to jump between a few hoops in order to make this work as friendly as possible without breaking anything. I removed the Being able to specify resource "aws_elasticache_cluster" "example" {
cluster_id = "cluster-example"
engine = "redis"
node_type = "cache.t3.medium"
num_cache_nodes = 1
engine_version = "6.0" <--- simply change to 6.2 if you want to upgrade
port = 6379
apply_immediately = true
} # aws_elasticache_cluster.example will be updated in-place
~ resource "aws_elasticache_cluster" "example" {
~ engine_version = "6.0" -> "6.2"
id = "cluster-example"
tags = {}
# (19 unchanged attributes hidden)
} Thoughts? |
As long we understand that this would cause a breaking change and we add a note about it, I think it should be fine |
Hey all, as you can see by the above the fix is merged and will be part of 4.12.0 🎉 |
Thank you so much!! |
This functionality has been released in v4.12.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. Thank you! |
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. |
Community Note
Terraform CLI and Terraform AWS Provider Version
Affected Resource(s)
aws_elasticache_replication_group
(This probably also impacts
aws_elasticache_cluster
when used with Redis, but I haven't personally verified it)Terraform Configuration Files
Please include all Terraform configurations required to reproduce the bug. Bug reports without a functional reproduction may be closed without investigation.
Debug Output
https://gist.github.com/philomory/eeead53871f26c6a3825e36c17a862af
Expected Behavior
Create two Redis clusters, one at 6.0 and one at 6.2
Actual Behavior
An error is displayed, stating
engine_version: Redis versions must match <major>.x when using version 6 or higher, or <major>.<minor>.<bug-fix>
.Steps to Reproduce
terraform apply
Important Factoids
Previously, Amazon had announced the following for Redis versions 6 and higher:
(This was as opposed to with versions 5.x and lower, where you could specify full version numbers).
However, at some point in the recent past (probably coinciding with the 2021-11-23 announcement of support for Redis 6.2, but I'm not certain), the documentation was changed to state:
The output of
aws elasticache describe-cache-engine-versions
now confirms that there are engine versions"6.0"
and"6.2"
now, but not any engine version identified as"6.x"
(although oddly attempting to create a cluster with engine_version "6.x" does still work, and results in a cluster using version 6.2.5).References
6.x
as anengine_version
and removal of support for e.g.6.0
.The text was updated successfully, but these errors were encountered: