-
Notifications
You must be signed in to change notification settings - Fork 266
Conversation
Can one of the admins verify this patch? |
2 similar comments
Can one of the admins verify this patch? |
Can one of the admins verify this patch? |
@mrwacky42 this generally looks pretty good but seems fragile. Why not update the etcd node launch config as well? And what happens when that node's IOPs in Terraform state is no longer 100? |
@squat - I based this change on the current behavior of Terraform and AWS. The etcd nodes are not using autoscaling, so there is no launch configuration, just For There is a PR attached to the original issue I linked above to fix the |
thank I see now. From the issue you linked, it looks like even settings iops to 100 for gp2 volumes will not always work. @fraenkel writes that for large volume sizes the iops can be reported to be 150, so we may still have resource churn. |
As @mrwacky42 correctly, notes, iops defaults to 0 for gp2 volumes in launch configurations, but defaults to size*3 for instance resources. This explains why @simnalamburt was seeing the issue in #1397 (comment) for only the volumes used in launch configurations but not the volumes used etcd nodes. This PR partially undoes #1397. We should merge #953 next to ensure that iops is set correctly for volumes in instance resources. |
closing and reopening to trigger tests |
@mrwacky42 tests are failing with:
can you please fix the formatting? |
b059151
to
f02a5c7
Compare
@squat - Maybe I shouldn't have rebased. Did I confuse Jenkins? |
@mrwacky42 no, rebasing was good 👍. Linting is still failing. Can you please |
Possibly related to this issue with the Terraform AWS provider: hashicorp/terraform-provider-aws#1521 Terraform or the AWS API report `0` IOPS for `gp2` volumes after creation. If I create a `gp2` volume with these modules, every subsequent run of Terraform will attempt to destroy and recreate the LC in order to make IOPs match. This change sets IOPS to 0 for non-`io1` type volumes. Since the number of IOPS for `gp2` volume is based on the size, Terraform arguably should only accept the `iops` parameter for `io1` volumes. Interestingly, for the etcd nodes, this problem does not occur because the Terraform state shows 100 IOPS even for `gp2` volumes.
Also apply `terraform fmt`.
f02a5c7
to
8f756d5
Compare
I cheated and ran 😀 |
@mrwacky42 had an unrelated flake in one of the azure tests. Merging! |
Possibly related to this issue with the Terraform AWS provider:
hashicorp/terraform-provider-aws#1521
Terraform or the AWS API report
0
IOPS forgp2
volumes after creation.If I create a
gp2
volume with these modules, every subsequent run ofTerraform will attempt to destroy and recreate the LC in order to make
IOPs match. This change sets IOPS to 0 for non-
io1
type volumes.Since the number of IOPS for
gp2
volume is based on the size, Terraformarguably should only accept the
iops
parameter forio1
volumes.Interestingly, for the etcd nodes, this problem does not occur because
the Terraform state shows 100 IOPS even for
gp2
volumes.