-
Notifications
You must be signed in to change notification settings - Fork 9.2k
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_instance: honor throughput for inline volumes when iops is set too #17380
Conversation
I haven't been able to run the acceptance tests yet, I will try to get access to an account for that tomorrow. The test is in a separate commit, running against that should demonstrate the issue. |
446aaeb
to
bfe6103
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Welcome @matthiasr 👋
It looks like this is your first Pull Request submission to the Terraform AWS Provider! If you haven’t already done so please make sure you have checked out our CONTRIBUTING guide and FAQ to make sure your contribution is adhering to best practice and has all the necessary elements in place for a successful approval.
Also take a look at our FAQ which details how we prioritize Pull Requests for inclusion.
Thanks again, and welcome to the community! 😃
I am suspecting a bug when both iops and throughput are specified on an inline EBS block device. Test the expected behavior. Signed-off-by: Matthias Rampke <matthias@rampke.de>
@matthiasr Thanks for the contribution. In resource.TestCheckResourceAttr(resourceName, "ebs_block_device.#", "4"), to resource.TestCheckResourceAttr(resourceName, "ebs_block_device.#", "5"), or else the test fails: $ make testacc TEST=./aws/ TESTARGS='-run=TestAccAWSInstance_blockDevices'
==> Checking that code complies with gofmt requirements...
TF_ACC=1 go test ./aws -v -count 1 -parallel 20 -run=TestAccAWSInstance_blockDevices -timeout 120m
=== RUN TestAccAWSInstance_blockDevices
=== PAUSE TestAccAWSInstance_blockDevices
=== CONT TestAccAWSInstance_blockDevices
resource_aws_instance_test.go:526: Step 1/2 error: Check failed: Check 6/17 error: aws_instance.test: Attribute 'ebs_block_device.#' expected "4", got "5"
--- FAIL: TestAccAWSInstance_blockDevices (86.67s)
FAIL
FAIL github.com/terraform-providers/terraform-provider-aws/aws 86.763s
FAIL
GNUmakefile:27: recipe for target 'testacc' failed
make: *** [testacc] Error 1 When that is changed, without your fix the test fails (as expected): $ make testacc TEST=./aws/ TESTARGS='-run=TestAccAWSInstance_blockDevices'
==> Checking that code complies with gofmt requirements...
TF_ACC=1 go test ./aws -v -count 1 -parallel 20 -run=TestAccAWSInstance_blockDevices -timeout 120m
=== RUN TestAccAWSInstance_blockDevices
=== PAUSE TestAccAWSInstance_blockDevices
=== CONT TestAccAWSInstance_blockDevices
resource_aws_instance_test.go:526: Step 1/2 error: Check failed: Check 11/17 error: "aws_instance.test" no TypeSet element "ebs_block_device.*", with nested attrs map[string]string{"device_name":"/dev/sdg", "iops":"4000", "throughput":"300", "volume_size":"10", "volume_type":"gp3"} in state: map[string]string{"%":"46", "ami":"ami-0adafa903cc1e9802", "arn":"arn:aws:ec2:us-west-2:346386234494:instance/i-029553be0f37c2892", "associate_public_ip_address":"true", "availability_zone":"us-west-2a", "cpu_core_count":"2", "cpu_threads_per_core":"1", "credit_specification.#":"1", "credit_specification.0.%":"1", "credit_specification.0.cpu_credits":"standard", "disable_api_termination":"false", "ebs_block_device.#":"5", "ebs_block_device.0.%":"11", "ebs_block_device.0.delete_on_termination":"true", "ebs_block_device.0.device_name":"/dev/sdb", "ebs_block_device.0.encrypted":"false", "ebs_block_device.0.iops":"100", "ebs_block_device.0.kms_key_id":"", "ebs_block_device.0.snapshot_id":"", "ebs_block_device.0.tags.%":"0", "ebs_block_device.0.throughput":"0", "ebs_block_device.0.volume_id":"vol-0c1f90aa87fa9f111", "ebs_block_device.0.volume_size":"9", "ebs_block_device.0.volume_type":"gp2", "ebs_block_device.1.%":"11", "ebs_block_device.1.delete_on_termination":"true", "ebs_block_device.1.device_name":"/dev/sdc", "ebs_block_device.1.encrypted":"false", "ebs_block_device.1.iops":"100", "ebs_block_device.1.kms_key_id":"", "ebs_block_device.1.snapshot_id":"", "ebs_block_device.1.tags.%":"0", "ebs_block_device.1.throughput":"0", "ebs_block_device.1.volume_id":"vol-06a8dcf6700f3f6a0", "ebs_block_device.1.volume_size":"10", "ebs_block_device.1.volume_type":"io1", "ebs_block_device.2.%":"11", "ebs_block_device.2.delete_on_termination":"true", "ebs_block_device.2.device_name":"/dev/sdd", "ebs_block_device.2.encrypted":"true", "ebs_block_device.2.iops":"100", "ebs_block_device.2.kms_key_id":"arn:aws:kms:us-west-2:346386234494:key/de1b833b-bc4c-4ce6-836a-67ce09375aca", "ebs_block_device.2.snapshot_id":"", "ebs_block_device.2.tags.%":"0", "ebs_block_device.2.throughput":"0", "ebs_block_device.2.volume_id":"vol-04f3b259029f61a49", "ebs_block_device.2.volume_size":"12", "ebs_block_device.2.volume_type":"gp2", "ebs_block_device.3.%":"11", "ebs_block_device.3.delete_on_termination":"true", "ebs_block_device.3.device_name":"/dev/sdf", "ebs_block_device.3.encrypted":"false", "ebs_block_device.3.iops":"3000", "ebs_block_device.3.kms_key_id":"", "ebs_block_device.3.snapshot_id":"", "ebs_block_device.3.tags.%":"0", "ebs_block_device.3.throughput":"300", "ebs_block_device.3.volume_id":"vol-07e3a5443f12e4d60", "ebs_block_device.3.volume_size":"10", "ebs_block_device.3.volume_type":"gp3", "ebs_block_device.4.%":"11", "ebs_block_device.4.delete_on_termination":"true", "ebs_block_device.4.device_name":"/dev/sdg", "ebs_block_device.4.encrypted":"false", "ebs_block_device.4.iops":"4000", "ebs_block_device.4.kms_key_id":"", "ebs_block_device.4.snapshot_id":"", "ebs_block_device.4.tags.%":"0", "ebs_block_device.4.throughput":"125", "ebs_block_device.4.volume_id":"vol-020f17f5a281dcd07", "ebs_block_device.4.volume_size":"10", "ebs_block_device.4.volume_type":"gp3", "ebs_optimized":"false", "enclave_options.#":"1", "enclave_options.0.%":"1", "enclave_options.0.enabled":"false", "ephemeral_block_device.#":"1", "ephemeral_block_device.0.%":"3", "ephemeral_block_device.0.device_name":"/dev/sde", "ephemeral_block_device.0.virtual_name":"ephemeral0", "get_password_data":"false", "hibernation":"false", "iam_instance_profile":"", "id":"i-029553be0f37c2892", "instance_state":"running", "instance_type":"t2.medium", "ipv6_address_count":"0", "ipv6_addresses.#":"0", "key_name":"", "metadata_options.#":"1", "metadata_options.0.%":"3", "metadata_options.0.http_endpoint":"enabled", "metadata_options.0.http_put_response_hop_limit":"1", "metadata_options.0.http_tokens":"optional", "monitoring":"false", "network_interface.#":"0", "outpost_arn":"", "password_data":"", "placement_group":"", "primary_network_interface_id":"eni-08d0278a6f3131cf1", "private_dns":"ip-172-31-21-223.us-west-2.compute.internal", "private_ip":"172.31.21.223", "public_dns":"ec2-54-186-169-23.us-west-2.compute.amazonaws.com", "public_ip":"54.186.169.23", "root_block_device.#":"1", "root_block_device.0.%":"10", "root_block_device.0.delete_on_termination":"true", "root_block_device.0.device_name":"/dev/xvda", "root_block_device.0.encrypted":"false", "root_block_device.0.iops":"100", "root_block_device.0.kms_key_id":"", "root_block_device.0.throughput":"0", "root_block_device.0.volume_id":"vol-0496e5c9e767feb15", "root_block_device.0.volume_size":"11", "root_block_device.0.volume_type":"gp2", "secondary_private_ips.#":"0", "security_groups.#":"1", "security_groups.0":"default", "source_dest_check":"true", "subnet_id":"subnet-e26cd99b", "tenancy":"default", "vpc_security_group_ids.#":"1", "vpc_security_group_ids.0":"sg-e7bc7699"}
--- FAIL: TestAccAWSInstance_blockDevices (64.56s)
FAIL
FAIL github.com/terraform-providers/terraform-provider-aws/aws 64.666s
FAIL
GNUmakefile:27: recipe for target 'testacc' failed
make: *** [testacc] Error 1
With the fix, the test passes: $ make testacc TEST=./aws/ TESTARGS='-run=TestAccAWSInstance_blockDevices'
==> Checking that code complies with gofmt requirements...
TF_ACC=1 go test ./aws -v -count 1 -parallel 20 -run=TestAccAWSInstance_blockDevices -timeout 120m
=== RUN TestAccAWSInstance_blockDevices
=== PAUSE TestAccAWSInstance_blockDevices
=== CONT TestAccAWSInstance_blockDevices
--- PASS: TestAccAWSInstance_blockDevices (78.84s)
PASS
ok github.com/terraform-providers/terraform-provider-aws/aws 78.973s |
fd4c2fc
to
52e9ba7
Compare
Thank you, I got the tests running and noticed that too, it's fixed now. My test runs are below the fold. make testacc TESTARGS='-run=TestAccAWSInstance_blockDevices'
|
To test the func TestAccAWSInstance_GP3RootBlockDevice(t *testing.T) {
var v ec2.Instance
resourceName := "aws_instance.test"
testCheck := func() resource.TestCheckFunc {
return func(*terraform.State) error {
// Map out the block devices by name, which should be unique.
blockDevices := make(map[string]*ec2.InstanceBlockDeviceMapping)
for _, blockDevice := range v.BlockDeviceMappings {
blockDevices[*blockDevice.DeviceName] = blockDevice
}
// Check if the root block device exists.
if _, ok := blockDevices["/dev/xvda"]; !ok {
return fmt.Errorf("block device doesn't exist: /dev/xvda")
}
return nil
}
}
resource.ParallelTest(t, resource.TestCase{
PreCheck: func() { testAccPreCheck(t) },
IDRefreshName: resourceName,
IDRefreshIgnore: []string{"ephemeral_block_device", "user_data"},
Providers: testAccProviders,
CheckDestroy: testAccCheckInstanceDestroy,
Steps: []resource.TestStep{
{
Config: testAccInstanceConfigGP3RootBlockDevice(),
Check: resource.ComposeTestCheckFunc(
testAccCheckInstanceExists(resourceName, &v),
resource.TestCheckResourceAttr(resourceName, "root_block_device.#", "1"),
resource.TestCheckResourceAttr(resourceName, "root_block_device.0.volume_size", "10"),
resource.TestCheckResourceAttr(resourceName, "root_block_device.0.volume_type", "gp3"),
resource.TestCheckResourceAttr(resourceName, "root_block_device.0.iops", "4000"),
resource.TestCheckResourceAttr(resourceName, "root_block_device.0.throughput", "300"),
testCheck(),
),
},
{
ResourceName: resourceName,
ImportState: true,
ImportStateVerify: true,
},
},
})
}
func testAccInstanceConfigGP3RootBlockDevice() string {
return composeConfig(testAccLatestAmazonLinuxHvmEbsAmiConfig(), `
resource "aws_instance" "test" {
ami = data.aws_ami.amzn-ami-minimal-hvm-ebs.id
instance_type = "t2.medium"
root_block_device {
volume_size = 10
volume_type = "gp3"
throughput = 300
iops = 4000
}
}
`)
} Without your fix this fails: $ make testacc TEST=./aws/ TESTARGS='-run=TestAccAWSInstance_GP3RootBlockDevice'
==> Checking that code complies with gofmt requirements...
TF_ACC=1 go test ./aws -v -count 1 -parallel 20 -run=TestAccAWSInstance_GP3RootBlockDevice -timeout 120m
=== RUN TestAccAWSInstance_GP3RootBlockDevice
=== PAUSE TestAccAWSInstance_GP3RootBlockDevice
=== CONT TestAccAWSInstance_GP3RootBlockDevice
resource_aws_instance_test.go:501: Step 1/2 error: Check failed: Check 6/7 error: aws_instance.test: Attribute 'root_block_device.0.throughput' expected "300", got "125"
--- FAIL: TestAccAWSInstance_GP3RootBlockDevice (65.10s)
FAIL
FAIL github.com/terraform-providers/terraform-provider-aws/aws 65.206s
FAIL
GNUmakefile:27: recipe for target 'testacc' failed
make: *** [testacc] Error 1 and succeeds with the fix: $ make testacc TEST=./aws/ TESTARGS='-run=TestAccAWSInstance_GP3RootBlockDevice'
==> Checking that code complies with gofmt requirements...
TF_ACC=1 go test ./aws -v -count 1 -parallel 20 -run=TestAccAWSInstance_GP3RootBlockDevice -timeout 120m
=== RUN TestAccAWSInstance_GP3RootBlockDevice
=== PAUSE TestAccAWSInstance_GP3RootBlockDevice
=== CONT TestAccAWSInstance_GP3RootBlockDevice
--- PASS: TestAccAWSInstance_GP3RootBlockDevice (100.66s)
PASS
ok github.com/terraform-providers/terraform-provider-aws/aws 100.796s |
as requested by @ewbankkit: hashicorp#17380 (comment) Signed-off-by: Matthias Rampke <matthias@rampke.de>
When both `iops` and `throughput` are specified on an inline block device (`root_block_device` or `ebs_block_device`), both attributes should be honored. With the `else if`, specifying `iops` would make the `throughput` attribute a NOOP during instance creation. The desired throughput shows up correctly in the plan, but after apply, it is actually the default (125) in the state and in EC2. Signed-off-by: Matthias Rampke <matthias@rampke.de>
Signed-off-by: Matthias Rampke <matthias@rampke.de>
52e9ba7
to
9b9f23a
Compare
done! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM.
$ make testacc TEST=./aws/ TESTARGS='-run=TestAccAWSInstance_' ACCTEST_PARALLELISM=2
==> Checking that code complies with gofmt requirements...
TF_ACC=1 go test ./aws -v -count 1 -parallel 2 -run=TestAccAWSInstance_ -timeout 120m
=== RUN TestAccAWSInstance_inDefaultVpcBySgName
=== PAUSE TestAccAWSInstance_inDefaultVpcBySgName
=== RUN TestAccAWSInstance_inDefaultVpcBySgId
=== PAUSE TestAccAWSInstance_inDefaultVpcBySgId
=== RUN TestAccAWSInstance_inEc2Classic
=== PAUSE TestAccAWSInstance_inEc2Classic
=== RUN TestAccAWSInstance_basic
=== PAUSE TestAccAWSInstance_basic
=== RUN TestAccAWSInstance_atLeastOneOtherEbsVolume
=== PAUSE TestAccAWSInstance_atLeastOneOtherEbsVolume
=== RUN TestAccAWSInstance_EbsBlockDevice_KmsKeyArn
=== PAUSE TestAccAWSInstance_EbsBlockDevice_KmsKeyArn
=== RUN TestAccAWSInstance_EbsBlockDevice_InvalidIopsForVolumeType
=== PAUSE TestAccAWSInstance_EbsBlockDevice_InvalidIopsForVolumeType
=== RUN TestAccAWSInstance_EbsBlockDevice_InvalidThroughputForVolumeType
=== PAUSE TestAccAWSInstance_EbsBlockDevice_InvalidThroughputForVolumeType
=== RUN TestAccAWSInstance_RootBlockDevice_KmsKeyArn
=== PAUSE TestAccAWSInstance_RootBlockDevice_KmsKeyArn
=== RUN TestAccAWSInstance_userDataBase64
=== PAUSE TestAccAWSInstance_userDataBase64
=== RUN TestAccAWSInstance_GP2IopsDevice
=== PAUSE TestAccAWSInstance_GP2IopsDevice
=== RUN TestAccAWSInstance_GP2WithIopsValue
=== PAUSE TestAccAWSInstance_GP2WithIopsValue
=== RUN TestAccAWSInstance_blockDevices
=== PAUSE TestAccAWSInstance_blockDevices
=== RUN TestAccAWSInstance_rootInstanceStore
=== PAUSE TestAccAWSInstance_rootInstanceStore
=== RUN TestAccAWSInstance_noAMIEphemeralDevices
=== PAUSE TestAccAWSInstance_noAMIEphemeralDevices
=== RUN TestAccAWSInstance_sourceDestCheck
=== PAUSE TestAccAWSInstance_sourceDestCheck
=== RUN TestAccAWSInstance_disableApiTermination
=== PAUSE TestAccAWSInstance_disableApiTermination
=== RUN TestAccAWSInstance_dedicatedInstance
=== PAUSE TestAccAWSInstance_dedicatedInstance
=== RUN TestAccAWSInstance_outpost
=== PAUSE TestAccAWSInstance_outpost
=== RUN TestAccAWSInstance_placementGroup
=== PAUSE TestAccAWSInstance_placementGroup
=== RUN TestAccAWSInstance_ipv6_supportAddressCount
=== PAUSE TestAccAWSInstance_ipv6_supportAddressCount
=== RUN TestAccAWSInstance_ipv6AddressCountAndSingleAddressCausesError
=== PAUSE TestAccAWSInstance_ipv6AddressCountAndSingleAddressCausesError
=== RUN TestAccAWSInstance_ipv6_supportAddressCountWithIpv4
=== PAUSE TestAccAWSInstance_ipv6_supportAddressCountWithIpv4
=== RUN TestAccAWSInstance_NetworkInstanceSecurityGroups
=== PAUSE TestAccAWSInstance_NetworkInstanceSecurityGroups
=== RUN TestAccAWSInstance_NetworkInstanceRemovingAllSecurityGroups
=== PAUSE TestAccAWSInstance_NetworkInstanceRemovingAllSecurityGroups
=== RUN TestAccAWSInstance_NetworkInstanceVPCSecurityGroupIDs
=== PAUSE TestAccAWSInstance_NetworkInstanceVPCSecurityGroupIDs
=== RUN TestAccAWSInstance_tags
=== PAUSE TestAccAWSInstance_tags
=== RUN TestAccAWSInstance_blockDeviceTags_volumeTags
=== PAUSE TestAccAWSInstance_blockDeviceTags_volumeTags
=== RUN TestAccAWSInstance_blockDeviceTags_withAttachedVolume
=== PAUSE TestAccAWSInstance_blockDeviceTags_withAttachedVolume
=== RUN TestAccAWSInstance_blockDeviceTags_ebsAndRoot
=== PAUSE TestAccAWSInstance_blockDeviceTags_ebsAndRoot
=== RUN TestAccAWSInstance_instanceProfileChange
=== PAUSE TestAccAWSInstance_instanceProfileChange
=== RUN TestAccAWSInstance_withIamInstanceProfile
=== PAUSE TestAccAWSInstance_withIamInstanceProfile
=== RUN TestAccAWSInstance_privateIP
=== PAUSE TestAccAWSInstance_privateIP
=== RUN TestAccAWSInstance_associatePublicIPAndPrivateIP
=== PAUSE TestAccAWSInstance_associatePublicIPAndPrivateIP
=== RUN TestAccAWSInstance_Empty_PrivateIP
=== PAUSE TestAccAWSInstance_Empty_PrivateIP
=== RUN TestAccAWSInstance_keyPairCheck
=== PAUSE TestAccAWSInstance_keyPairCheck
=== RUN TestAccAWSInstance_rootBlockDeviceMismatch
=== PAUSE TestAccAWSInstance_rootBlockDeviceMismatch
=== RUN TestAccAWSInstance_forceNewAndTagsDrift
=== PAUSE TestAccAWSInstance_forceNewAndTagsDrift
=== RUN TestAccAWSInstance_changeInstanceType
=== PAUSE TestAccAWSInstance_changeInstanceType
=== RUN TestAccAWSInstance_EbsRootDevice_basic
=== PAUSE TestAccAWSInstance_EbsRootDevice_basic
=== RUN TestAccAWSInstance_EbsRootDevice_ModifySize
=== PAUSE TestAccAWSInstance_EbsRootDevice_ModifySize
=== RUN TestAccAWSInstance_EbsRootDevice_ModifyType
=== PAUSE TestAccAWSInstance_EbsRootDevice_ModifyType
=== RUN TestAccAWSInstance_EbsRootDevice_ModifyIOPS_Io1
=== PAUSE TestAccAWSInstance_EbsRootDevice_ModifyIOPS_Io1
=== RUN TestAccAWSInstance_EbsRootDevice_ModifyIOPS_Io2
=== PAUSE TestAccAWSInstance_EbsRootDevice_ModifyIOPS_Io2
=== RUN TestAccAWSInstance_EbsRootDevice_ModifyThroughput_Gp3
=== PAUSE TestAccAWSInstance_EbsRootDevice_ModifyThroughput_Gp3
=== RUN TestAccAWSInstance_EbsRootDevice_ModifyDeleteOnTermination
=== PAUSE TestAccAWSInstance_EbsRootDevice_ModifyDeleteOnTermination
=== RUN TestAccAWSInstance_EbsRootDevice_ModifyAll
=== PAUSE TestAccAWSInstance_EbsRootDevice_ModifyAll
=== RUN TestAccAWSInstance_EbsRootDevice_MultipleBlockDevices_ModifySize
=== PAUSE TestAccAWSInstance_EbsRootDevice_MultipleBlockDevices_ModifySize
=== RUN TestAccAWSInstance_EbsRootDevice_MultipleBlockDevices_ModifyDeleteOnTermination
=== PAUSE TestAccAWSInstance_EbsRootDevice_MultipleBlockDevices_ModifyDeleteOnTermination
=== RUN TestAccAWSInstance_EbsRootDevice_MultipleDynamicEBSBlockDevices
=== PAUSE TestAccAWSInstance_EbsRootDevice_MultipleDynamicEBSBlockDevices
=== RUN TestAccAWSInstance_primaryNetworkInterface
=== PAUSE TestAccAWSInstance_primaryNetworkInterface
=== RUN TestAccAWSInstance_primaryNetworkInterfaceSourceDestCheck
=== PAUSE TestAccAWSInstance_primaryNetworkInterfaceSourceDestCheck
=== RUN TestAccAWSInstance_addSecondaryInterface
=== PAUSE TestAccAWSInstance_addSecondaryInterface
=== RUN TestAccAWSInstance_addSecurityGroupNetworkInterface
=== PAUSE TestAccAWSInstance_addSecurityGroupNetworkInterface
=== RUN TestAccAWSInstance_NewNetworkInterface_PublicIPAndSecondaryPrivateIPs
=== PAUSE TestAccAWSInstance_NewNetworkInterface_PublicIPAndSecondaryPrivateIPs
=== RUN TestAccAWSInstance_NewNetworkInterface_EmptyPrivateIPAndSecondaryPrivateIPs
=== PAUSE TestAccAWSInstance_NewNetworkInterface_EmptyPrivateIPAndSecondaryPrivateIPs
=== RUN TestAccAWSInstance_NewNetworkInterface_EmptyPrivateIPAndSecondaryPrivateIPsUpdate
=== PAUSE TestAccAWSInstance_NewNetworkInterface_EmptyPrivateIPAndSecondaryPrivateIPsUpdate
=== RUN TestAccAWSInstance_NewNetworkInterface_PrivateIPAndSecondaryPrivateIPs
=== PAUSE TestAccAWSInstance_NewNetworkInterface_PrivateIPAndSecondaryPrivateIPs
=== RUN TestAccAWSInstance_NewNetworkInterface_PrivateIPAndSecondaryPrivateIPsUpdate
=== PAUSE TestAccAWSInstance_NewNetworkInterface_PrivateIPAndSecondaryPrivateIPsUpdate
=== RUN TestAccAWSInstance_associatePublic_defaultPrivate
=== PAUSE TestAccAWSInstance_associatePublic_defaultPrivate
=== RUN TestAccAWSInstance_associatePublic_defaultPublic
=== PAUSE TestAccAWSInstance_associatePublic_defaultPublic
=== RUN TestAccAWSInstance_associatePublic_explicitPublic
=== PAUSE TestAccAWSInstance_associatePublic_explicitPublic
=== RUN TestAccAWSInstance_associatePublic_explicitPrivate
=== PAUSE TestAccAWSInstance_associatePublic_explicitPrivate
=== RUN TestAccAWSInstance_associatePublic_overridePublic
=== PAUSE TestAccAWSInstance_associatePublic_overridePublic
=== RUN TestAccAWSInstance_associatePublic_overridePrivate
=== PAUSE TestAccAWSInstance_associatePublic_overridePrivate
=== RUN TestAccAWSInstance_getPasswordData_falseToTrue
=== PAUSE TestAccAWSInstance_getPasswordData_falseToTrue
=== RUN TestAccAWSInstance_getPasswordData_trueToFalse
=== PAUSE TestAccAWSInstance_getPasswordData_trueToFalse
=== RUN TestAccAWSInstance_CreditSpecification_Empty_NonBurstable
=== PAUSE TestAccAWSInstance_CreditSpecification_Empty_NonBurstable
=== RUN TestAccAWSInstance_CreditSpecification_UnspecifiedToEmpty_NonBurstable
=== PAUSE TestAccAWSInstance_CreditSpecification_UnspecifiedToEmpty_NonBurstable
=== RUN TestAccAWSInstance_creditSpecification_unspecifiedDefaultsToStandard
=== PAUSE TestAccAWSInstance_creditSpecification_unspecifiedDefaultsToStandard
=== RUN TestAccAWSInstance_creditSpecification_standardCpuCredits
=== PAUSE TestAccAWSInstance_creditSpecification_standardCpuCredits
=== RUN TestAccAWSInstance_creditSpecification_unlimitedCpuCredits
=== PAUSE TestAccAWSInstance_creditSpecification_unlimitedCpuCredits
=== RUN TestAccAWSInstance_creditSpecification_unknownCpuCredits_t2
=== PAUSE TestAccAWSInstance_creditSpecification_unknownCpuCredits_t2
=== RUN TestAccAWSInstance_creditSpecification_unknownCpuCredits_t3
=== PAUSE TestAccAWSInstance_creditSpecification_unknownCpuCredits_t3
=== RUN TestAccAWSInstance_creditSpecification_updateCpuCredits
=== PAUSE TestAccAWSInstance_creditSpecification_updateCpuCredits
=== RUN TestAccAWSInstance_creditSpecification_isNotAppliedToNonBurstable
=== PAUSE TestAccAWSInstance_creditSpecification_isNotAppliedToNonBurstable
=== RUN TestAccAWSInstance_creditSpecificationT3_unspecifiedDefaultsToUnlimited
=== PAUSE TestAccAWSInstance_creditSpecificationT3_unspecifiedDefaultsToUnlimited
=== RUN TestAccAWSInstance_creditSpecificationT3_standardCpuCredits
=== PAUSE TestAccAWSInstance_creditSpecificationT3_standardCpuCredits
=== RUN TestAccAWSInstance_creditSpecificationT3_unlimitedCpuCredits
=== PAUSE TestAccAWSInstance_creditSpecificationT3_unlimitedCpuCredits
=== RUN TestAccAWSInstance_creditSpecificationT3_updateCpuCredits
=== PAUSE TestAccAWSInstance_creditSpecificationT3_updateCpuCredits
=== RUN TestAccAWSInstance_creditSpecification_standardCpuCredits_t2Tot3Taint
=== PAUSE TestAccAWSInstance_creditSpecification_standardCpuCredits_t2Tot3Taint
=== RUN TestAccAWSInstance_creditSpecification_unlimitedCpuCredits_t2Tot3Taint
=== PAUSE TestAccAWSInstance_creditSpecification_unlimitedCpuCredits_t2Tot3Taint
=== RUN TestAccAWSInstance_disappears
=== PAUSE TestAccAWSInstance_disappears
=== RUN TestAccAWSInstance_UserData_EmptyStringToUnspecified
=== PAUSE TestAccAWSInstance_UserData_EmptyStringToUnspecified
=== RUN TestAccAWSInstance_UserData_UnspecifiedToEmptyString
=== PAUSE TestAccAWSInstance_UserData_UnspecifiedToEmptyString
=== RUN TestAccAWSInstance_hibernation
=== PAUSE TestAccAWSInstance_hibernation
=== RUN TestAccAWSInstance_metadataOptions
=== PAUSE TestAccAWSInstance_metadataOptions
=== RUN TestAccAWSInstance_enclaveOptions
=== PAUSE TestAccAWSInstance_enclaveOptions
=== RUN TestAccAWSInstance_GP3RootBlockDevice
=== PAUSE TestAccAWSInstance_GP3RootBlockDevice
=== CONT TestAccAWSInstance_inDefaultVpcBySgName
=== CONT TestAccAWSInstance_GP3RootBlockDevice
--- PASS: TestAccAWSInstance_GP3RootBlockDevice (80.15s)
=== CONT TestAccAWSInstance_enclaveOptions
--- PASS: TestAccAWSInstance_inDefaultVpcBySgName (90.32s)
=== CONT TestAccAWSInstance_metadataOptions
--- PASS: TestAccAWSInstance_metadataOptions (174.35s)
=== CONT TestAccAWSInstance_hibernation
--- PASS: TestAccAWSInstance_hibernation (192.12s)
=== CONT TestAccAWSInstance_UserData_UnspecifiedToEmptyString
--- PASS: TestAccAWSInstance_enclaveOptions (431.13s)
=== CONT TestAccAWSInstance_UserData_EmptyStringToUnspecified
=== CONT TestAccAWSInstance_disappears
--- PASS: TestAccAWSInstance_UserData_UnspecifiedToEmptyString (98.88s)
--- PASS: TestAccAWSInstance_UserData_EmptyStringToUnspecified (102.90s)
=== CONT TestAccAWSInstance_creditSpecification_unlimitedCpuCredits_t2Tot3Taint
--- PASS: TestAccAWSInstance_disappears (69.64s)
=== CONT TestAccAWSInstance_creditSpecification_standardCpuCredits_t2Tot3Taint
--- PASS: TestAccAWSInstance_creditSpecification_unlimitedCpuCredits_t2Tot3Taint (166.13s)
=== CONT TestAccAWSInstance_creditSpecificationT3_updateCpuCredits
--- PASS: TestAccAWSInstance_creditSpecificationT3_updateCpuCredits (120.12s)
=== CONT TestAccAWSInstance_creditSpecificationT3_unlimitedCpuCredits
--- PASS: TestAccAWSInstance_creditSpecificationT3_unlimitedCpuCredits (136.70s)
=== CONT TestAccAWSInstance_creditSpecificationT3_standardCpuCredits
=== CONT TestAccAWSInstance_creditSpecificationT3_unspecifiedDefaultsToUnlimited
--- PASS: TestAccAWSInstance_creditSpecification_standardCpuCredits_t2Tot3Taint (422.68s)
--- PASS: TestAccAWSInstance_creditSpecificationT3_standardCpuCredits (125.95s)
=== CONT TestAccAWSInstance_creditSpecification_isNotAppliedToNonBurstable
--- PASS: TestAccAWSInstance_creditSpecification_isNotAppliedToNonBurstable (116.35s)
=== CONT TestAccAWSInstance_creditSpecification_updateCpuCredits
=== CONT TestAccAWSInstance_creditSpecification_unknownCpuCredits_t3
--- PASS: TestAccAWSInstance_creditSpecificationT3_unspecifiedDefaultsToUnlimited (324.77s)
--- PASS: TestAccAWSInstance_creditSpecification_updateCpuCredits (141.88s)
=== CONT TestAccAWSInstance_creditSpecification_unknownCpuCredits_t2
--- PASS: TestAccAWSInstance_creditSpecification_unknownCpuCredits_t2 (95.97s)
=== CONT TestAccAWSInstance_creditSpecification_unlimitedCpuCredits
--- PASS: TestAccAWSInstance_creditSpecification_unlimitedCpuCredits (115.44s)
=== CONT TestAccAWSInstance_creditSpecification_standardCpuCredits
=== CONT TestAccAWSInstance_creditSpecification_unspecifiedDefaultsToStandard
--- PASS: TestAccAWSInstance_creditSpecification_unknownCpuCredits_t3 (315.20s)
--- PASS: TestAccAWSInstance_creditSpecification_standardCpuCredits (115.70s)
=== CONT TestAccAWSInstance_CreditSpecification_UnspecifiedToEmpty_NonBurstable
--- PASS: TestAccAWSInstance_creditSpecification_unspecifiedDefaultsToStandard (106.00s)
=== CONT TestAccAWSInstance_CreditSpecification_Empty_NonBurstable
--- PASS: TestAccAWSInstance_CreditSpecification_UnspecifiedToEmpty_NonBurstable (117.74s)
=== CONT TestAccAWSInstance_getPasswordData_trueToFalse
--- PASS: TestAccAWSInstance_getPasswordData_trueToFalse (218.05s)
=== CONT TestAccAWSInstance_getPasswordData_falseToTrue
--- PASS: TestAccAWSInstance_CreditSpecification_Empty_NonBurstable (312.74s)
=== CONT TestAccAWSInstance_associatePublic_overridePrivate
--- PASS: TestAccAWSInstance_associatePublic_overridePrivate (79.17s)
=== CONT TestAccAWSInstance_associatePublic_overridePublic
--- PASS: TestAccAWSInstance_getPasswordData_falseToTrue (134.05s)
=== CONT TestAccAWSInstance_associatePublic_explicitPrivate
--- PASS: TestAccAWSInstance_associatePublic_overridePublic (78.61s)
=== CONT TestAccAWSInstance_associatePublic_explicitPublic
--- PASS: TestAccAWSInstance_associatePublic_explicitPrivate (210.54s)
=== CONT TestAccAWSInstance_associatePublic_defaultPublic
--- PASS: TestAccAWSInstance_associatePublic_explicitPublic (200.48s)
=== CONT TestAccAWSInstance_associatePublic_defaultPrivate
--- PASS: TestAccAWSInstance_associatePublic_defaultPublic (80.09s)
=== CONT TestAccAWSInstance_NewNetworkInterface_PrivateIPAndSecondaryPrivateIPsUpdate
--- PASS: TestAccAWSInstance_associatePublic_defaultPrivate (85.53s)
=== CONT TestAccAWSInstance_NewNetworkInterface_PrivateIPAndSecondaryPrivateIPs
--- PASS: TestAccAWSInstance_NewNetworkInterface_PrivateIPAndSecondaryPrivateIPsUpdate (135.97s)
=== CONT TestAccAWSInstance_NewNetworkInterface_EmptyPrivateIPAndSecondaryPrivateIPsUpdate
--- PASS: TestAccAWSInstance_NewNetworkInterface_EmptyPrivateIPAndSecondaryPrivateIPsUpdate (154.74s)
=== CONT TestAccAWSInstance_NewNetworkInterface_EmptyPrivateIPAndSecondaryPrivateIPs
--- PASS: TestAccAWSInstance_NewNetworkInterface_EmptyPrivateIPAndSecondaryPrivateIPs (107.56s)
=== CONT TestAccAWSInstance_NewNetworkInterface_PublicIPAndSecondaryPrivateIPs
--- PASS: TestAccAWSInstance_NewNetworkInterface_PrivateIPAndSecondaryPrivateIPs (367.91s)
=== CONT TestAccAWSInstance_addSecurityGroupNetworkInterface
--- PASS: TestAccAWSInstance_addSecurityGroupNetworkInterface (181.94s)
=== CONT TestAccAWSInstance_addSecondaryInterface
--- PASS: TestAccAWSInstance_addSecondaryInterface (181.60s)
=== CONT TestAccAWSInstance_primaryNetworkInterfaceSourceDestCheck
--- PASS: TestAccAWSInstance_primaryNetworkInterfaceSourceDestCheck (130.76s)
=== CONT TestAccAWSInstance_primaryNetworkInterface
--- PASS: TestAccAWSInstance_primaryNetworkInterface (151.59s)
=== CONT TestAccAWSInstance_EbsRootDevice_MultipleDynamicEBSBlockDevices
--- PASS: TestAccAWSInstance_NewNetworkInterface_PublicIPAndSecondaryPrivateIPs (658.42s)
=== CONT TestAccAWSInstance_EbsRootDevice_MultipleBlockDevices_ModifyDeleteOnTermination
--- PASS: TestAccAWSInstance_EbsRootDevice_MultipleBlockDevices_ModifyDeleteOnTermination (162.59s)
=== CONT TestAccAWSInstance_EbsRootDevice_MultipleBlockDevices_ModifySize
--- PASS: TestAccAWSInstance_EbsRootDevice_MultipleDynamicEBSBlockDevices (187.91s)
=== CONT TestAccAWSInstance_EbsRootDevice_ModifyAll
--- PASS: TestAccAWSInstance_EbsRootDevice_ModifyAll (142.79s)
=== CONT TestAccAWSInstance_EbsRootDevice_ModifyDeleteOnTermination
--- PASS: TestAccAWSInstance_EbsRootDevice_MultipleBlockDevices_ModifySize (197.00s)
=== CONT TestAccAWSInstance_EbsRootDevice_ModifyThroughput_Gp3
--- PASS: TestAccAWSInstance_EbsRootDevice_ModifyDeleteOnTermination (101.28s)
=== CONT TestAccAWSInstance_EbsRootDevice_ModifyIOPS_Io2
--- PASS: TestAccAWSInstance_EbsRootDevice_ModifyThroughput_Gp3 (132.33s)
=== CONT TestAccAWSInstance_EbsRootDevice_ModifyIOPS_Io1
--- PASS: TestAccAWSInstance_EbsRootDevice_ModifyIOPS_Io2 (121.88s)
=== CONT TestAccAWSInstance_EbsRootDevice_ModifyType
--- PASS: TestAccAWSInstance_EbsRootDevice_ModifyIOPS_Io1 (132.73s)
=== CONT TestAccAWSInstance_EbsRootDevice_ModifySize
--- PASS: TestAccAWSInstance_EbsRootDevice_ModifyType (142.86s)
=== CONT TestAccAWSInstance_EbsRootDevice_basic
--- PASS: TestAccAWSInstance_EbsRootDevice_ModifySize (194.83s)
=== CONT TestAccAWSInstance_changeInstanceType
--- PASS: TestAccAWSInstance_EbsRootDevice_basic (186.62s)
=== CONT TestAccAWSInstance_forceNewAndTagsDrift
--- PASS: TestAccAWSInstance_forceNewAndTagsDrift (154.52s)
=== CONT TestAccAWSInstance_rootBlockDeviceMismatch
--- PASS: TestAccAWSInstance_rootBlockDeviceMismatch (83.41s)
=== CONT TestAccAWSInstance_keyPairCheck
--- PASS: TestAccAWSInstance_changeInstanceType (308.80s)
=== CONT TestAccAWSInstance_Empty_PrivateIP
--- PASS: TestAccAWSInstance_keyPairCheck (75.94s)
=== CONT TestAccAWSInstance_associatePublicIPAndPrivateIP
--- PASS: TestAccAWSInstance_Empty_PrivateIP (110.37s)
=== CONT TestAccAWSInstance_privateIP
--- PASS: TestAccAWSInstance_associatePublicIPAndPrivateIP (92.70s)
=== CONT TestAccAWSInstance_withIamInstanceProfile
--- PASS: TestAccAWSInstance_privateIP (84.54s)
=== CONT TestAccAWSInstance_instanceProfileChange
--- PASS: TestAccAWSInstance_withIamInstanceProfile (100.14s)
=== CONT TestAccAWSInstance_blockDeviceTags_ebsAndRoot
--- PASS: TestAccAWSInstance_instanceProfileChange (185.77s)
=== CONT TestAccAWSInstance_blockDeviceTags_withAttachedVolume
--- PASS: TestAccAWSInstance_blockDeviceTags_ebsAndRoot (125.54s)
=== CONT TestAccAWSInstance_blockDeviceTags_volumeTags
--- PASS: TestAccAWSInstance_blockDeviceTags_withAttachedVolume (168.18s)
=== CONT TestAccAWSInstance_tags
--- PASS: TestAccAWSInstance_blockDeviceTags_volumeTags (224.76s)
=== CONT TestAccAWSInstance_NetworkInstanceVPCSecurityGroupIDs
--- PASS: TestAccAWSInstance_tags (94.28s)
=== CONT TestAccAWSInstance_NetworkInstanceRemovingAllSecurityGroups
--- PASS: TestAccAWSInstance_NetworkInstanceVPCSecurityGroupIDs (116.84s)
=== CONT TestAccAWSInstance_NetworkInstanceSecurityGroups
--- PASS: TestAccAWSInstance_NetworkInstanceRemovingAllSecurityGroups (117.25s)
=== CONT TestAccAWSInstance_ipv6_supportAddressCountWithIpv4
--- PASS: TestAccAWSInstance_ipv6_supportAddressCountWithIpv4 (85.80s)
=== CONT TestAccAWSInstance_ipv6AddressCountAndSingleAddressCausesError
--- PASS: TestAccAWSInstance_ipv6AddressCountAndSingleAddressCausesError (15.12s)
=== CONT TestAccAWSInstance_ipv6_supportAddressCount
--- PASS: TestAccAWSInstance_NetworkInstanceSecurityGroups (138.00s)
=== CONT TestAccAWSInstance_placementGroup
--- PASS: TestAccAWSInstance_ipv6_supportAddressCount (96.59s)
=== CONT TestAccAWSInstance_outpost
data_source_aws_outposts_outposts_test.go:66: skipping since no Outposts found
--- SKIP: TestAccAWSInstance_outpost (0.74s)
=== CONT TestAccAWSInstance_dedicatedInstance
--- PASS: TestAccAWSInstance_placementGroup (100.01s)
=== CONT TestAccAWSInstance_disableApiTermination
--- PASS: TestAccAWSInstance_dedicatedInstance (120.51s)
=== CONT TestAccAWSInstance_sourceDestCheck
--- PASS: TestAccAWSInstance_disableApiTermination (128.30s)
=== CONT TestAccAWSInstance_noAMIEphemeralDevices
--- PASS: TestAccAWSInstance_noAMIEphemeralDevices (69.09s)
=== CONT TestAccAWSInstance_rootInstanceStore
--- PASS: TestAccAWSInstance_sourceDestCheck (158.25s)
=== CONT TestAccAWSInstance_blockDevices
--- PASS: TestAccAWSInstance_rootInstanceStore (95.76s)
=== CONT TestAccAWSInstance_GP2WithIopsValue
--- PASS: TestAccAWSInstance_GP2WithIopsValue (6.10s)
=== CONT TestAccAWSInstance_GP2IopsDevice
--- PASS: TestAccAWSInstance_blockDevices (110.08s)
=== CONT TestAccAWSInstance_userDataBase64
--- PASS: TestAccAWSInstance_GP2IopsDevice (109.51s)
=== CONT TestAccAWSInstance_RootBlockDevice_KmsKeyArn
--- PASS: TestAccAWSInstance_userDataBase64 (90.32s)
=== CONT TestAccAWSInstance_EbsBlockDevice_InvalidThroughputForVolumeType
--- PASS: TestAccAWSInstance_EbsBlockDevice_InvalidThroughputForVolumeType (7.07s)
=== CONT TestAccAWSInstance_EbsBlockDevice_InvalidIopsForVolumeType
=== CONT TestAccAWSInstance_EbsBlockDevice_KmsKeyArn
--- PASS: TestAccAWSInstance_EbsBlockDevice_InvalidIopsForVolumeType (6.16s)
--- PASS: TestAccAWSInstance_RootBlockDevice_KmsKeyArn (110.48s)
=== CONT TestAccAWSInstance_atLeastOneOtherEbsVolume
--- PASS: TestAccAWSInstance_EbsBlockDevice_KmsKeyArn (75.85s)
=== CONT TestAccAWSInstance_basic
--- PASS: TestAccAWSInstance_basic (88.62s)
=== CONT TestAccAWSInstance_inEc2Classic
--- PASS: TestAccAWSInstance_atLeastOneOtherEbsVolume (168.10s)
=== CONT TestAccAWSInstance_inDefaultVpcBySgId
--- PASS: TestAccAWSInstance_inEc2Classic (94.48s)
--- PASS: TestAccAWSInstance_inDefaultVpcBySgId (79.29s)
PASS
ok github.com/terraform-providers/terraform-provider-aws/aws 6426.224s
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks great! 🎉
GovCloud:
--- PASS: TestAccAWSInstance_blockDevices (126.35s)
us-west-2
:
--- PASS: TestAccAWSInstance_blockDevices (124.54s)
This has been released in version 3.28.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. If you feel this issue should be reopened, we encourage creating a new issue linking back to this one for added context. Thanks! |
Community Note
Closes #17379
Output from acceptance testing: