-
Notifications
You must be signed in to change notification settings - Fork 9.6k
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_elasticache_parameter_group always dirty #5854
Comments
Hi @wr0ngway - thanks for the report. I just tested the config you specified on Terraform v0.6.14 and I'm not seeing the same behavior.
Do you notice anything different about my repro attempt that might be causing this? |
Strange - I'm not quite sure of the path I took to get there, but it involved starting with an empty param group, then some combination of playing with that param in the console and/or terraform before settling on the final value in terraform and noticing I couldn't get it to stay clean. I'll see if I can duplicate it better - maybe try create an empty param group, then add the single setting after that first apply? |
Interesting! So flopping between this: resource "aws_elasticache_parameter_group" "cache" {
name = "cache"
family = "memcached1.4"
description = "cache param group"
# parameter {
# name = "max_item_size"
# value = "5242880"
# }
} And this: resource "aws_elasticache_parameter_group" "cache" {
name = "cache"
family = "memcached1.4"
description = "cache param group"
parameter {
name = "max_item_size"
value = "5242880"
}
} Doesn't seem to trigger any mischief from here on v0.6.14. Let me know if you figure out anything on your side. 👍 |
Try this, add the following param settings into your group, then apply, then remove them, then apply, then plan - and you should see dirtiness.
|
Okay yes that does repro! Steps for minimal repro: resource "aws_elasticache_parameter_group" "cache" {
name = "cache"
family = "memcached1.4"
description = "cache param group"
parameter {
name = "max_item_size"
value = "5242880"
}
parameter {
name = "maxconns_fast"
value = "0"
}
} Apply the above, then apply: resource "aws_elasticache_parameter_group" "cache" {
name = "cache"
family = "memcached1.4"
description = "cache param group"
parameter {
name = "max_item_size"
value = "5242880"
}
} Yields unresolvable diff:
|
I'm seeing a similar issue, possibly related, where casing seems to trigger the dirtiness. resource "aws_elasticache_parameter_group" "redis_cache" {
name = "cache"
family = "redis2.8"
description = "cache param group"
parameter {
name = "notify-keyspace-events"
value = "Ex"
}
} This leads to the following diff on subsequent calls to apply/plan: ~ aws_elasticache_parameter_group.cache
parameter.202024865.name: "" => "notify-keyspace-events"
parameter.202024865.value: "" => "Ex"
parameter.877125953.name: "notify-keyspace-events" => ""
parameter.877125953.value: "ex" => "" If you don't believe it to be related, let me know, and I'll create a separate issue for it. |
@myrlund Your bug is related to a ToLower() command in structure.go in the AWS provider. I've just encountered this bug myself. The big problem being that E and e are not equivalent in this resource. |
…s case sensitive variable - hashicorp#5854
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. If you have found a problem that seems similar to this, please open a new issue and complete the issue template so we can capture all the details necessary to investigate further. |
If I set a single parameter in an aws_elasticache_parameter_group, it does get applied, but subsequently the group is always seen as dirty - i.e. the aws side has multiple params in the group (defaults), but the local side only has the one I set.
result of subsequent plan:
The text was updated successfully, but these errors were encountered: