b-vpc-subnet-ipam-wait-delete: Fixing IPAM consistency between aws_vpc and aws_subnet#46523
b-vpc-subnet-ipam-wait-delete: Fixing IPAM consistency between aws_vpc and aws_subnet#46523thefire wants to merge 8 commits into
Conversation
Community GuidelinesThis comment is added to every new Pull Request to provide quick reference to how the Terraform AWS Provider is maintained. Please review the information below, and thank you for contributing to the community that keeps the provider thriving! 🚀 Voting for Prioritization
Pull Request Authors
|
111e2f4 to
9b9b7ad
Compare
|
@ewbankkit this one is also related to creating and destroying a new IPAM VPC resource pool. Any chance it could go in with #46483 ? |
There was a problem hiding this comment.
Pull request overview
This PR aligns aws_subnet IPAM behavior with aws_vpc by waiting for IPAM to release subnet CIDR allocations during deletion, and adjusts acceptance tests/changelog accordingly.
Changes:
- Add post-delete polling in
aws_subnetdeletion to wait for related IPAM allocations to disappear. - Mark IPAM-related subnet acceptance tests as long-running (skip in
-shortmode). - Add a release note entry for the bugfix.
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
| internal/service/ec2/vpc_subnet.go | Adds IPAM allocation wait logic to subnet deletion path. |
| internal/service/ec2/vpc_subnet_test.go | Skips IPAM acceptance tests when running in short mode. |
| .changelog/46523.txt | Adds release note describing the aws_subnet IPAM delete consistency fix. |
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
ewbankkit
left a comment
There was a problem hiding this comment.
LGTM 🚀.
% make testacc TESTARGS='-run=TestAccVPCSubnet_' PKG=ec2 ACCTEST_PARALLELISM=4
make: Verifying source code with gofmt...
==> Checking that code complies with gofmt requirements...
make: Validating schemas
ok github.com/hashicorp/terraform-provider-aws/internal/provider/sdkv2 5.968s
ok github.com/hashicorp/terraform-provider-aws/internal/provider/framework 5.871s
make: Running acceptance tests on branch: 🌿 HEAD 🌿...
TF_ACC=1 go1.26.5 test ./internal/service/ec2/... -v -count 1 -parallel 4 -run=TestAccVPCSubnet_ -timeout 360m -vet=off -buildvcs=false
2026/07/20 09:44:31 Creating Terraform AWS Provider (SDKv2-style)...
2026/07/20 09:44:31 Initializing Terraform AWS Provider (SDKv2-style)...
=== RUN TestAccVPCSubnet_Identity_basic
=== PAUSE TestAccVPCSubnet_Identity_basic
=== RUN TestAccVPCSubnet_Identity_regionOverride
=== PAUSE TestAccVPCSubnet_Identity_regionOverride
=== RUN TestAccVPCSubnet_Identity_ExistingResource_basic
=== PAUSE TestAccVPCSubnet_Identity_ExistingResource_basic
=== RUN TestAccVPCSubnet_Identity_ExistingResource_noRefreshNoChange
=== PAUSE TestAccVPCSubnet_Identity_ExistingResource_noRefreshNoChange
=== RUN TestAccVPCSubnet_List_basic
=== PAUSE TestAccVPCSubnet_List_basic
=== RUN TestAccVPCSubnet_List_regionOverride
=== PAUSE TestAccVPCSubnet_List_regionOverride
=== RUN TestAccVPCSubnet_List_filtered
=== PAUSE TestAccVPCSubnet_List_filtered
=== RUN TestAccVPCSubnet_List_excludeDefaultSubnets
=== PAUSE TestAccVPCSubnet_List_excludeDefaultSubnets
=== RUN TestAccVPCSubnet_List_subnetIDs
=== PAUSE TestAccVPCSubnet_List_subnetIDs
=== RUN TestAccVPCSubnet_List_filteredSubnetIDs
=== PAUSE TestAccVPCSubnet_List_filteredSubnetIDs
=== RUN TestAccVPCSubnet_List_Filtered_defaultForAZ
=== PAUSE TestAccVPCSubnet_List_Filtered_defaultForAZ
=== RUN TestAccVPCSubnet_tags
=== PAUSE TestAccVPCSubnet_tags
=== RUN TestAccVPCSubnet_Tags_null
=== PAUSE TestAccVPCSubnet_Tags_null
=== RUN TestAccVPCSubnet_Tags_emptyMap
=== PAUSE TestAccVPCSubnet_Tags_emptyMap
=== RUN TestAccVPCSubnet_Tags_addOnUpdate
=== PAUSE TestAccVPCSubnet_Tags_addOnUpdate
=== RUN TestAccVPCSubnet_Tags_EmptyTag_onCreate
=== PAUSE TestAccVPCSubnet_Tags_EmptyTag_onCreate
=== RUN TestAccVPCSubnet_Tags_EmptyTag_OnUpdate_add
=== PAUSE TestAccVPCSubnet_Tags_EmptyTag_OnUpdate_add
=== RUN TestAccVPCSubnet_Tags_EmptyTag_OnUpdate_replace
=== PAUSE TestAccVPCSubnet_Tags_EmptyTag_OnUpdate_replace
=== RUN TestAccVPCSubnet_Tags_DefaultTags_providerOnly
=== PAUSE TestAccVPCSubnet_Tags_DefaultTags_providerOnly
=== RUN TestAccVPCSubnet_Tags_DefaultTags_nonOverlapping
=== PAUSE TestAccVPCSubnet_Tags_DefaultTags_nonOverlapping
=== RUN TestAccVPCSubnet_Tags_DefaultTags_overlapping
=== PAUSE TestAccVPCSubnet_Tags_DefaultTags_overlapping
=== RUN TestAccVPCSubnet_Tags_DefaultTags_updateToProviderOnly
=== PAUSE TestAccVPCSubnet_Tags_DefaultTags_updateToProviderOnly
=== RUN TestAccVPCSubnet_Tags_DefaultTags_updateToResourceOnly
=== PAUSE TestAccVPCSubnet_Tags_DefaultTags_updateToResourceOnly
=== RUN TestAccVPCSubnet_Tags_DefaultTags_emptyResourceTag
=== PAUSE TestAccVPCSubnet_Tags_DefaultTags_emptyResourceTag
=== RUN TestAccVPCSubnet_Tags_DefaultTags_emptyProviderOnlyTag
=== PAUSE TestAccVPCSubnet_Tags_DefaultTags_emptyProviderOnlyTag
=== RUN TestAccVPCSubnet_Tags_DefaultTags_nullOverlappingResourceTag
=== PAUSE TestAccVPCSubnet_Tags_DefaultTags_nullOverlappingResourceTag
=== RUN TestAccVPCSubnet_Tags_DefaultTags_nullNonOverlappingResourceTag
=== PAUSE TestAccVPCSubnet_Tags_DefaultTags_nullNonOverlappingResourceTag
=== RUN TestAccVPCSubnet_Tags_ComputedTag_onCreate
=== PAUSE TestAccVPCSubnet_Tags_ComputedTag_onCreate
=== RUN TestAccVPCSubnet_Tags_ComputedTag_OnUpdate_add
=== PAUSE TestAccVPCSubnet_Tags_ComputedTag_OnUpdate_add
=== RUN TestAccVPCSubnet_Tags_ComputedTag_OnUpdate_replace
=== PAUSE TestAccVPCSubnet_Tags_ComputedTag_OnUpdate_replace
=== RUN TestAccVPCSubnet_Tags_IgnoreTags_Overlap_defaultTag
=== PAUSE TestAccVPCSubnet_Tags_IgnoreTags_Overlap_defaultTag
=== RUN TestAccVPCSubnet_Tags_IgnoreTags_Overlap_resourceTag
=== PAUSE TestAccVPCSubnet_Tags_IgnoreTags_Overlap_resourceTag
=== RUN TestAccVPCSubnet_basic
=== PAUSE TestAccVPCSubnet_basic
=== RUN TestAccVPCSubnet_tags_defaultAndIgnoreTags
=== PAUSE TestAccVPCSubnet_tags_defaultAndIgnoreTags
=== RUN TestAccVPCSubnet_tags_ignoreTags
=== PAUSE TestAccVPCSubnet_tags_ignoreTags
=== RUN TestAccVPCSubnet_ipv6
=== PAUSE TestAccVPCSubnet_ipv6
=== RUN TestAccVPCSubnet_enableIPv6
=== PAUSE TestAccVPCSubnet_enableIPv6
=== RUN TestAccVPCSubnet_availabilityZoneID
=== PAUSE TestAccVPCSubnet_availabilityZoneID
=== RUN TestAccVPCSubnet_disappears
=== PAUSE TestAccVPCSubnet_disappears
=== RUN TestAccVPCSubnet_customerOwnedIPv4Pool
=== PAUSE TestAccVPCSubnet_customerOwnedIPv4Pool
=== RUN TestAccVPCSubnet_mapCustomerOwnedIPOnLaunch
=== PAUSE TestAccVPCSubnet_mapCustomerOwnedIPOnLaunch
=== RUN TestAccVPCSubnet_mapPublicIPOnLaunch
=== PAUSE TestAccVPCSubnet_mapPublicIPOnLaunch
=== RUN TestAccVPCSubnet_outpost
=== PAUSE TestAccVPCSubnet_outpost
=== RUN TestAccVPCSubnet_enableDNS64
=== PAUSE TestAccVPCSubnet_enableDNS64
=== RUN TestAccVPCSubnet_ipv4ToIPv6
=== PAUSE TestAccVPCSubnet_ipv4ToIPv6
=== RUN TestAccVPCSubnet_enableLNIAtDeviceIndex
=== PAUSE TestAccVPCSubnet_enableLNIAtDeviceIndex
=== RUN TestAccVPCSubnet_privateDNSNameOptionsOnLaunch
=== PAUSE TestAccVPCSubnet_privateDNSNameOptionsOnLaunch
=== RUN TestAccVPCSubnet_ipv6Native
=== PAUSE TestAccVPCSubnet_ipv6Native
=== RUN TestAccVPCSubnet_IPAM_ipv4Allocation
=== PAUSE TestAccVPCSubnet_IPAM_ipv4Allocation
=== RUN TestAccVPCSubnet_IPAM_ipv4AllocationExplicitCIDR
=== PAUSE TestAccVPCSubnet_IPAM_ipv4AllocationExplicitCIDR
=== RUN TestAccVPCSubnet_IPAM_ipv6Allocation
=== PAUSE TestAccVPCSubnet_IPAM_ipv6Allocation
=== RUN TestAccVPCSubnet_IPAM_crossRegion
=== PAUSE TestAccVPCSubnet_IPAM_crossRegion
=== RUN TestAccVPCSubnet_GuardDutyDependencies_basic
=== PAUSE TestAccVPCSubnet_GuardDutyDependencies_basic
=== RUN TestAccVPCSubnet_GuardDutyDependencies_multiple
=== PAUSE TestAccVPCSubnet_GuardDutyDependencies_multiple
=== CONT TestAccVPCSubnet_Identity_basic
=== CONT TestAccVPCSubnet_tags_defaultAndIgnoreTags
=== CONT TestAccVPCSubnet_ipv4ToIPv6
=== CONT TestAccVPCSubnet_Tags_EmptyTag_OnUpdate_replace
--- PASS: TestAccVPCSubnet_Identity_basic (34.89s)
=== CONT TestAccVPCSubnet_IPAM_ipv4AllocationExplicitCIDR
--- PASS: TestAccVPCSubnet_Tags_EmptyTag_OnUpdate_replace (39.38s)
=== CONT TestAccVPCSubnet_GuardDutyDependencies_multiple
--- PASS: TestAccVPCSubnet_tags_defaultAndIgnoreTags (44.98s)
=== CONT TestAccVPCSubnet_GuardDutyDependencies_basic
--- PASS: TestAccVPCSubnet_ipv4ToIPv6 (75.55s)
=== CONT TestAccVPCSubnet_IPAM_crossRegion
--- PASS: TestAccVPCSubnet_GuardDutyDependencies_basic (372.73s)
=== CONT TestAccVPCSubnet_IPAM_ipv6Allocation
--- PASS: TestAccVPCSubnet_GuardDutyDependencies_multiple (408.96s)
=== CONT TestAccVPCSubnet_List_filteredSubnetIDs
--- PASS: TestAccVPCSubnet_List_filteredSubnetIDs (20.66s)
=== CONT TestAccVPCSubnet_Tags_EmptyTag_OnUpdate_add
--- PASS: TestAccVPCSubnet_Tags_EmptyTag_OnUpdate_add (54.72s)
=== CONT TestAccVPCSubnet_Tags_EmptyTag_onCreate
--- PASS: TestAccVPCSubnet_Tags_EmptyTag_onCreate (42.04s)
=== CONT TestAccVPCSubnet_Tags_addOnUpdate
--- PASS: TestAccVPCSubnet_Tags_addOnUpdate (39.03s)
=== CONT TestAccVPCSubnet_Tags_emptyMap
--- PASS: TestAccVPCSubnet_Tags_emptyMap (33.85s)
=== CONT TestAccVPCSubnet_Tags_null
--- PASS: TestAccVPCSubnet_Tags_null (33.88s)
=== CONT TestAccVPCSubnet_tags
--- PASS: TestAccVPCSubnet_tags (76.61s)
=== CONT TestAccVPCSubnet_List_Filtered_defaultForAZ
--- PASS: TestAccVPCSubnet_List_Filtered_defaultForAZ (1.88s)
=== CONT TestAccVPCSubnet_Tags_DefaultTags_updateToProviderOnly
--- PASS: TestAccVPCSubnet_Tags_DefaultTags_updateToProviderOnly (38.55s)
=== CONT TestAccVPCSubnet_Tags_DefaultTags_emptyProviderOnlyTag
--- PASS: TestAccVPCSubnet_Tags_DefaultTags_emptyProviderOnlyTag (24.27s)
=== CONT TestAccVPCSubnet_Tags_DefaultTags_nullOverlappingResourceTag
--- PASS: TestAccVPCSubnet_Tags_DefaultTags_nullOverlappingResourceTag (23.21s)
=== CONT TestAccVPCSubnet_basic
--- PASS: TestAccVPCSubnet_basic (21.40s)
=== CONT TestAccVPCSubnet_Tags_IgnoreTags_Overlap_resourceTag
--- PASS: TestAccVPCSubnet_Tags_IgnoreTags_Overlap_resourceTag (55.37s)
=== CONT TestAccVPCSubnet_Tags_IgnoreTags_Overlap_defaultTag
--- PASS: TestAccVPCSubnet_Tags_IgnoreTags_Overlap_defaultTag (47.03s)
=== CONT TestAccVPCSubnet_Tags_ComputedTag_OnUpdate_replace
--- PASS: TestAccVPCSubnet_Tags_ComputedTag_OnUpdate_replace (41.13s)
=== CONT TestAccVPCSubnet_Tags_ComputedTag_OnUpdate_add
--- PASS: TestAccVPCSubnet_Tags_ComputedTag_OnUpdate_add (40.40s)
=== CONT TestAccVPCSubnet_Tags_ComputedTag_onCreate
--- PASS: TestAccVPCSubnet_Tags_ComputedTag_onCreate (27.11s)
=== CONT TestAccVPCSubnet_Tags_DefaultTags_nullNonOverlappingResourceTag
--- PASS: TestAccVPCSubnet_Tags_DefaultTags_nullNonOverlappingResourceTag (23.41s)
=== CONT TestAccVPCSubnet_ipv6Native
--- PASS: TestAccVPCSubnet_ipv6Native (32.97s)
=== CONT TestAccVPCSubnet_IPAM_ipv4Allocation
--- PASS: TestAccVPCSubnet_IPAM_crossRegion (2042.68s)
=== CONT TestAccVPCSubnet_List_regionOverride
--- PASS: TestAccVPCSubnet_IPAM_ipv4AllocationExplicitCIDR (2094.22s)
=== CONT TestAccVPCSubnet_List_subnetIDs
--- PASS: TestAccVPCSubnet_List_regionOverride (17.94s)
=== CONT TestAccVPCSubnet_List_excludeDefaultSubnets
--- PASS: TestAccVPCSubnet_List_subnetIDs (19.66s)
=== CONT TestAccVPCSubnet_List_filtered
--- PASS: TestAccVPCSubnet_List_excludeDefaultSubnets (19.29s)
=== CONT TestAccVPCSubnet_Tags_DefaultTags_nonOverlapping
--- PASS: TestAccVPCSubnet_List_filtered (23.31s)
=== CONT TestAccVPCSubnet_Tags_DefaultTags_overlapping
--- PASS: TestAccVPCSubnet_Tags_DefaultTags_nonOverlapping (66.40s)
=== CONT TestAccVPCSubnet_Identity_ExistingResource_noRefreshNoChange
--- PASS: TestAccVPCSubnet_Tags_DefaultTags_overlapping (72.39s)
=== CONT TestAccVPCSubnet_List_basic
--- PASS: TestAccVPCSubnet_List_basic (22.33s)
=== CONT TestAccVPCSubnet_privateDNSNameOptionsOnLaunch
=== CONT TestAccVPCSubnet_Tags_DefaultTags_emptyResourceTag
--- PASS: TestAccVPCSubnet_Identity_ExistingResource_noRefreshNoChange (82.40s)
--- PASS: TestAccVPCSubnet_Tags_DefaultTags_emptyResourceTag (24.45s)
=== CONT TestAccVPCSubnet_Tags_DefaultTags_providerOnly
--- PASS: TestAccVPCSubnet_Tags_DefaultTags_providerOnly (86.64s)
=== CONT TestAccVPCSubnet_enableLNIAtDeviceIndex
vpc_subnet_test.go:593: skipping since no Outposts found
--- SKIP: TestAccVPCSubnet_enableLNIAtDeviceIndex (0.43s)
=== CONT TestAccVPCSubnet_Tags_DefaultTags_updateToResourceOnly
--- PASS: TestAccVPCSubnet_privateDNSNameOptionsOnLaunch (156.27s)
=== CONT TestAccVPCSubnet_Identity_ExistingResource_basic
--- PASS: TestAccVPCSubnet_Tags_DefaultTags_updateToResourceOnly (52.33s)
=== CONT TestAccVPCSubnet_Identity_regionOverride
--- PASS: TestAccVPCSubnet_Identity_regionOverride (30.40s)
=== CONT TestAccVPCSubnet_outpost
vpc_subnet_test.go:487: skipping since no Outposts found
--- SKIP: TestAccVPCSubnet_outpost (0.22s)
=== CONT TestAccVPCSubnet_mapPublicIPOnLaunch
--- PASS: TestAccVPCSubnet_Identity_ExistingResource_basic (87.20s)
=== CONT TestAccVPCSubnet_enableDNS64
--- PASS: TestAccVPCSubnet_mapPublicIPOnLaunch (78.34s)
=== CONT TestAccVPCSubnet_enableIPv6
--- PASS: TestAccVPCSubnet_enableDNS64 (99.19s)
=== CONT TestAccVPCSubnet_disappears
--- PASS: TestAccVPCSubnet_disappears (20.72s)
=== CONT TestAccVPCSubnet_availabilityZoneID
--- PASS: TestAccVPCSubnet_availabilityZoneID (22.40s)
=== CONT TestAccVPCSubnet_mapCustomerOwnedIPOnLaunch
vpc_subnet_test.go:416: skipping since no Outposts found
--- SKIP: TestAccVPCSubnet_mapCustomerOwnedIPOnLaunch (0.38s)
=== CONT TestAccVPCSubnet_ipv6
--- PASS: TestAccVPCSubnet_enableIPv6 (79.57s)
=== CONT TestAccVPCSubnet_customerOwnedIPv4Pool
vpc_subnet_test.go:388: skipping since no Outposts found
--- SKIP: TestAccVPCSubnet_customerOwnedIPv4Pool (0.22s)
=== CONT TestAccVPCSubnet_tags_ignoreTags
--- PASS: TestAccVPCSubnet_tags_ignoreTags (41.63s)
--- PASS: TestAccVPCSubnet_ipv6 (110.12s)
--- PASS: TestAccVPCSubnet_IPAM_ipv6Allocation (2591.14s)
--- PASS: TestAccVPCSubnet_IPAM_ipv4Allocation (2783.67s)
PASS
ok github.com/hashicorp/terraform-provider-aws/internal/service/ec2 3915.801s
gdavison
left a comment
There was a problem hiding this comment.
Some changes to the wait logic
|
After review changes: % make testacc TESTARGS='-run=TestAccVPCSubnet_' PKG=ec2 ACCTEST_PARALLELISM=4
make: Verifying source code with gofmt...
==> Checking that code complies with gofmt requirements...
make: Validating schemas
ok github.com/hashicorp/terraform-provider-aws/internal/provider/sdkv2 5.931s
ok github.com/hashicorp/terraform-provider-aws/internal/provider/framework 5.754s
make: Running acceptance tests on branch: 🌿 HEAD 🌿...
TF_ACC=1 go1.26.5 test ./internal/service/ec2/... -v -count 1 -parallel 4 -run=TestAccVPCSubnet_ -timeout 360m -vet=off -buildvcs=false
2026/07/21 10:09:16 Creating Terraform AWS Provider (SDKv2-style)...
2026/07/21 10:09:16 Initializing Terraform AWS Provider (SDKv2-style)...
=== RUN TestAccVPCSubnet_Identity_basic
=== PAUSE TestAccVPCSubnet_Identity_basic
=== RUN TestAccVPCSubnet_Identity_regionOverride
=== PAUSE TestAccVPCSubnet_Identity_regionOverride
=== RUN TestAccVPCSubnet_Identity_ExistingResource_basic
=== PAUSE TestAccVPCSubnet_Identity_ExistingResource_basic
=== RUN TestAccVPCSubnet_Identity_ExistingResource_noRefreshNoChange
=== PAUSE TestAccVPCSubnet_Identity_ExistingResource_noRefreshNoChange
=== RUN TestAccVPCSubnet_List_basic
=== PAUSE TestAccVPCSubnet_List_basic
=== RUN TestAccVPCSubnet_List_regionOverride
=== PAUSE TestAccVPCSubnet_List_regionOverride
=== RUN TestAccVPCSubnet_List_filtered
=== PAUSE TestAccVPCSubnet_List_filtered
=== RUN TestAccVPCSubnet_List_excludeDefaultSubnets
=== PAUSE TestAccVPCSubnet_List_excludeDefaultSubnets
=== RUN TestAccVPCSubnet_List_subnetIDs
=== PAUSE TestAccVPCSubnet_List_subnetIDs
=== RUN TestAccVPCSubnet_List_filteredSubnetIDs
=== PAUSE TestAccVPCSubnet_List_filteredSubnetIDs
=== RUN TestAccVPCSubnet_List_Filtered_defaultForAZ
=== PAUSE TestAccVPCSubnet_List_Filtered_defaultForAZ
=== RUN TestAccVPCSubnet_tags
=== PAUSE TestAccVPCSubnet_tags
=== RUN TestAccVPCSubnet_Tags_null
=== PAUSE TestAccVPCSubnet_Tags_null
=== RUN TestAccVPCSubnet_Tags_emptyMap
=== PAUSE TestAccVPCSubnet_Tags_emptyMap
=== RUN TestAccVPCSubnet_Tags_addOnUpdate
=== PAUSE TestAccVPCSubnet_Tags_addOnUpdate
=== RUN TestAccVPCSubnet_Tags_EmptyTag_onCreate
=== PAUSE TestAccVPCSubnet_Tags_EmptyTag_onCreate
=== RUN TestAccVPCSubnet_Tags_EmptyTag_OnUpdate_add
=== PAUSE TestAccVPCSubnet_Tags_EmptyTag_OnUpdate_add
=== RUN TestAccVPCSubnet_Tags_EmptyTag_OnUpdate_replace
=== PAUSE TestAccVPCSubnet_Tags_EmptyTag_OnUpdate_replace
=== RUN TestAccVPCSubnet_Tags_DefaultTags_providerOnly
=== PAUSE TestAccVPCSubnet_Tags_DefaultTags_providerOnly
=== RUN TestAccVPCSubnet_Tags_DefaultTags_nonOverlapping
=== PAUSE TestAccVPCSubnet_Tags_DefaultTags_nonOverlapping
=== RUN TestAccVPCSubnet_Tags_DefaultTags_overlapping
=== PAUSE TestAccVPCSubnet_Tags_DefaultTags_overlapping
=== RUN TestAccVPCSubnet_Tags_DefaultTags_updateToProviderOnly
=== PAUSE TestAccVPCSubnet_Tags_DefaultTags_updateToProviderOnly
=== RUN TestAccVPCSubnet_Tags_DefaultTags_updateToResourceOnly
=== PAUSE TestAccVPCSubnet_Tags_DefaultTags_updateToResourceOnly
=== RUN TestAccVPCSubnet_Tags_DefaultTags_emptyResourceTag
=== PAUSE TestAccVPCSubnet_Tags_DefaultTags_emptyResourceTag
=== RUN TestAccVPCSubnet_Tags_DefaultTags_emptyProviderOnlyTag
=== PAUSE TestAccVPCSubnet_Tags_DefaultTags_emptyProviderOnlyTag
=== RUN TestAccVPCSubnet_Tags_DefaultTags_nullOverlappingResourceTag
=== PAUSE TestAccVPCSubnet_Tags_DefaultTags_nullOverlappingResourceTag
=== RUN TestAccVPCSubnet_Tags_DefaultTags_nullNonOverlappingResourceTag
=== PAUSE TestAccVPCSubnet_Tags_DefaultTags_nullNonOverlappingResourceTag
=== RUN TestAccVPCSubnet_Tags_ComputedTag_onCreate
=== PAUSE TestAccVPCSubnet_Tags_ComputedTag_onCreate
=== RUN TestAccVPCSubnet_Tags_ComputedTag_OnUpdate_add
=== PAUSE TestAccVPCSubnet_Tags_ComputedTag_OnUpdate_add
=== RUN TestAccVPCSubnet_Tags_ComputedTag_OnUpdate_replace
=== PAUSE TestAccVPCSubnet_Tags_ComputedTag_OnUpdate_replace
=== RUN TestAccVPCSubnet_Tags_IgnoreTags_Overlap_defaultTag
=== PAUSE TestAccVPCSubnet_Tags_IgnoreTags_Overlap_defaultTag
=== RUN TestAccVPCSubnet_Tags_IgnoreTags_Overlap_resourceTag
=== PAUSE TestAccVPCSubnet_Tags_IgnoreTags_Overlap_resourceTag
=== RUN TestAccVPCSubnet_basic
=== PAUSE TestAccVPCSubnet_basic
=== RUN TestAccVPCSubnet_tags_defaultAndIgnoreTags
=== PAUSE TestAccVPCSubnet_tags_defaultAndIgnoreTags
=== RUN TestAccVPCSubnet_tags_ignoreTags
=== PAUSE TestAccVPCSubnet_tags_ignoreTags
=== RUN TestAccVPCSubnet_ipv6
=== PAUSE TestAccVPCSubnet_ipv6
=== RUN TestAccVPCSubnet_enableIPv6
=== PAUSE TestAccVPCSubnet_enableIPv6
=== RUN TestAccVPCSubnet_availabilityZoneID
=== PAUSE TestAccVPCSubnet_availabilityZoneID
=== RUN TestAccVPCSubnet_disappears
=== PAUSE TestAccVPCSubnet_disappears
=== RUN TestAccVPCSubnet_customerOwnedIPv4Pool
=== PAUSE TestAccVPCSubnet_customerOwnedIPv4Pool
=== RUN TestAccVPCSubnet_mapCustomerOwnedIPOnLaunch
=== PAUSE TestAccVPCSubnet_mapCustomerOwnedIPOnLaunch
=== RUN TestAccVPCSubnet_mapPublicIPOnLaunch
=== PAUSE TestAccVPCSubnet_mapPublicIPOnLaunch
=== RUN TestAccVPCSubnet_outpost
=== PAUSE TestAccVPCSubnet_outpost
=== RUN TestAccVPCSubnet_enableDNS64
=== PAUSE TestAccVPCSubnet_enableDNS64
=== RUN TestAccVPCSubnet_ipv4ToIPv6
=== PAUSE TestAccVPCSubnet_ipv4ToIPv6
=== RUN TestAccVPCSubnet_enableLNIAtDeviceIndex
=== PAUSE TestAccVPCSubnet_enableLNIAtDeviceIndex
=== RUN TestAccVPCSubnet_privateDNSNameOptionsOnLaunch
=== PAUSE TestAccVPCSubnet_privateDNSNameOptionsOnLaunch
=== RUN TestAccVPCSubnet_ipv6Native
=== PAUSE TestAccVPCSubnet_ipv6Native
=== RUN TestAccVPCSubnet_IPAM_ipv4Allocation
=== PAUSE TestAccVPCSubnet_IPAM_ipv4Allocation
=== RUN TestAccVPCSubnet_IPAM_ipv4AllocationExplicitCIDR
=== PAUSE TestAccVPCSubnet_IPAM_ipv4AllocationExplicitCIDR
=== RUN TestAccVPCSubnet_IPAM_ipv6Allocation
=== PAUSE TestAccVPCSubnet_IPAM_ipv6Allocation
=== RUN TestAccVPCSubnet_IPAM_crossRegion
=== PAUSE TestAccVPCSubnet_IPAM_crossRegion
=== RUN TestAccVPCSubnet_GuardDutyDependencies_basic
=== PAUSE TestAccVPCSubnet_GuardDutyDependencies_basic
=== RUN TestAccVPCSubnet_GuardDutyDependencies_multiple
=== PAUSE TestAccVPCSubnet_GuardDutyDependencies_multiple
=== CONT TestAccVPCSubnet_Identity_basic
=== CONT TestAccVPCSubnet_Tags_ComputedTag_onCreate
=== CONT TestAccVPCSubnet_mapPublicIPOnLaunch
=== CONT TestAccVPCSubnet_GuardDutyDependencies_multiple
--- PASS: TestAccVPCSubnet_Tags_ComputedTag_onCreate (27.93s)
=== CONT TestAccVPCSubnet_GuardDutyDependencies_basic
--- PASS: TestAccVPCSubnet_Identity_basic (34.95s)
=== CONT TestAccVPCSubnet_IPAM_crossRegion
--- PASS: TestAccVPCSubnet_mapPublicIPOnLaunch (78.87s)
=== CONT TestAccVPCSubnet_IPAM_ipv6Allocation
--- PASS: TestAccVPCSubnet_GuardDutyDependencies_basic (291.15s)
=== CONT TestAccVPCSubnet_IPAM_ipv4AllocationExplicitCIDR
--- PASS: TestAccVPCSubnet_GuardDutyDependencies_multiple (345.24s)
=== CONT TestAccVPCSubnet_IPAM_ipv4Allocation
--- PASS: TestAccVPCSubnet_IPAM_ipv4Allocation (2799.63s)
=== CONT TestAccVPCSubnet_ipv6Native
--- PASS: TestAccVPCSubnet_ipv6Native (32.94s)
=== CONT TestAccVPCSubnet_privateDNSNameOptionsOnLaunch
--- PASS: TestAccVPCSubnet_privateDNSNameOptionsOnLaunch (151.70s)
=== CONT TestAccVPCSubnet_enableLNIAtDeviceIndex
vpc_subnet_test.go:593: skipping since no Outposts found
--- SKIP: TestAccVPCSubnet_enableLNIAtDeviceIndex (0.55s)
=== CONT TestAccVPCSubnet_ipv4ToIPv6
--- PASS: TestAccVPCSubnet_ipv4ToIPv6 (74.72s)
=== CONT TestAccVPCSubnet_enableDNS64
--- PASS: TestAccVPCSubnet_enableDNS64 (98.96s)
=== CONT TestAccVPCSubnet_Tags_addOnUpdate
--- PASS: TestAccVPCSubnet_Tags_addOnUpdate (37.42s)
=== CONT TestAccVPCSubnet_outpost
vpc_subnet_test.go:487: skipping since no Outposts found
--- SKIP: TestAccVPCSubnet_outpost (0.41s)
=== CONT TestAccVPCSubnet_Tags_DefaultTags_nullNonOverlappingResourceTag
--- PASS: TestAccVPCSubnet_Tags_DefaultTags_nullNonOverlappingResourceTag (24.07s)
=== CONT TestAccVPCSubnet_Tags_DefaultTags_overlapping
--- PASS: TestAccVPCSubnet_Tags_DefaultTags_overlapping (61.78s)
=== CONT TestAccVPCSubnet_Tags_DefaultTags_nonOverlapping
--- PASS: TestAccVPCSubnet_Tags_DefaultTags_nonOverlapping (60.52s)
=== CONT TestAccVPCSubnet_Tags_DefaultTags_nullOverlappingResourceTag
--- PASS: TestAccVPCSubnet_Tags_DefaultTags_nullOverlappingResourceTag (23.54s)
=== CONT TestAccVPCSubnet_Tags_DefaultTags_providerOnly
--- PASS: TestAccVPCSubnet_IPAM_ipv6Allocation (2795.84s)
=== CONT TestAccVPCSubnet_Tags_DefaultTags_emptyProviderOnlyTag
--- PASS: TestAccVPCSubnet_Tags_DefaultTags_providerOnly (79.28s)
=== CONT TestAccVPCSubnet_Tags_EmptyTag_OnUpdate_replace
--- PASS: TestAccVPCSubnet_IPAM_crossRegion (2849.58s)
=== CONT TestAccVPCSubnet_Tags_DefaultTags_emptyResourceTag
--- PASS: TestAccVPCSubnet_Tags_DefaultTags_emptyProviderOnlyTag (24.54s)
=== CONT TestAccVPCSubnet_Tags_EmptyTag_OnUpdate_add
--- PASS: TestAccVPCSubnet_Tags_DefaultTags_emptyResourceTag (23.91s)
=== CONT TestAccVPCSubnet_Tags_DefaultTags_updateToResourceOnly
--- PASS: TestAccVPCSubnet_Tags_EmptyTag_OnUpdate_replace (39.36s)
=== CONT TestAccVPCSubnet_Tags_EmptyTag_onCreate
--- PASS: TestAccVPCSubnet_Tags_DefaultTags_updateToResourceOnly (38.78s)
=== CONT TestAccVPCSubnet_Tags_DefaultTags_updateToProviderOnly
--- PASS: TestAccVPCSubnet_Tags_EmptyTag_OnUpdate_add (56.89s)
=== CONT TestAccVPCSubnet_tags_ignoreTags
--- PASS: TestAccVPCSubnet_Tags_EmptyTag_onCreate (41.22s)
=== CONT TestAccVPCSubnet_List_excludeDefaultSubnets
--- PASS: TestAccVPCSubnet_List_excludeDefaultSubnets (19.13s)
=== CONT TestAccVPCSubnet_mapCustomerOwnedIPOnLaunch
vpc_subnet_test.go:416: skipping since no Outposts found
--- SKIP: TestAccVPCSubnet_mapCustomerOwnedIPOnLaunch (0.46s)
=== CONT TestAccVPCSubnet_Tags_emptyMap
--- PASS: TestAccVPCSubnet_Tags_DefaultTags_updateToProviderOnly (39.59s)
=== CONT TestAccVPCSubnet_Tags_null
--- PASS: TestAccVPCSubnet_tags_ignoreTags (42.72s)
=== CONT TestAccVPCSubnet_customerOwnedIPv4Pool
vpc_subnet_test.go:388: skipping since no Outposts found
--- SKIP: TestAccVPCSubnet_customerOwnedIPv4Pool (0.16s)
=== CONT TestAccVPCSubnet_tags
--- PASS: TestAccVPCSubnet_Tags_emptyMap (34.54s)
=== CONT TestAccVPCSubnet_disappears
--- PASS: TestAccVPCSubnet_Tags_null (34.34s)
=== CONT TestAccVPCSubnet_List_Filtered_defaultForAZ
--- PASS: TestAccVPCSubnet_List_Filtered_defaultForAZ (2.03s)
=== CONT TestAccVPCSubnet_availabilityZoneID
--- PASS: TestAccVPCSubnet_disappears (20.52s)
=== CONT TestAccVPCSubnet_List_filteredSubnetIDs
--- PASS: TestAccVPCSubnet_availabilityZoneID (22.76s)
=== CONT TestAccVPCSubnet_enableIPv6
--- PASS: TestAccVPCSubnet_List_filteredSubnetIDs (20.30s)
=== CONT TestAccVPCSubnet_List_subnetIDs
--- PASS: TestAccVPCSubnet_tags (79.00s)
=== CONT TestAccVPCSubnet_ipv6
--- PASS: TestAccVPCSubnet_List_subnetIDs (19.84s)
=== CONT TestAccVPCSubnet_Tags_IgnoreTags_Overlap_resourceTag
--- PASS: TestAccVPCSubnet_enableIPv6 (79.78s)
=== CONT TestAccVPCSubnet_List_filtered
--- PASS: TestAccVPCSubnet_Tags_IgnoreTags_Overlap_resourceTag (55.35s)
=== CONT TestAccVPCSubnet_tags_defaultAndIgnoreTags
--- PASS: TestAccVPCSubnet_List_filtered (23.92s)
=== CONT TestAccVPCSubnet_Identity_ExistingResource_basic
--- PASS: TestAccVPCSubnet_tags_defaultAndIgnoreTags (44.88s)
=== CONT TestAccVPCSubnet_basic
--- PASS: TestAccVPCSubnet_ipv6 (113.04s)
=== CONT TestAccVPCSubnet_Identity_ExistingResource_noRefreshNoChange
--- PASS: TestAccVPCSubnet_basic (22.86s)
=== CONT TestAccVPCSubnet_Identity_regionOverride
--- PASS: TestAccVPCSubnet_Identity_ExistingResource_basic (60.84s)
=== CONT TestAccVPCSubnet_Tags_ComputedTag_OnUpdate_replace
--- PASS: TestAccVPCSubnet_Identity_regionOverride (30.95s)
=== CONT TestAccVPCSubnet_Tags_IgnoreTags_Overlap_defaultTag
--- PASS: TestAccVPCSubnet_Identity_ExistingResource_noRefreshNoChange (55.09s)
=== CONT TestAccVPCSubnet_List_basic
--- PASS: TestAccVPCSubnet_Tags_ComputedTag_OnUpdate_replace (41.53s)
=== CONT TestAccVPCSubnet_List_regionOverride
--- PASS: TestAccVPCSubnet_List_basic (19.62s)
=== CONT TestAccVPCSubnet_Tags_ComputedTag_OnUpdate_add
--- PASS: TestAccVPCSubnet_List_regionOverride (17.65s)
--- PASS: TestAccVPCSubnet_Tags_IgnoreTags_Overlap_defaultTag (48.89s)
--- PASS: TestAccVPCSubnet_Tags_ComputedTag_OnUpdate_add (41.16s)
--- PASS: TestAccVPCSubnet_IPAM_ipv4AllocationExplicitCIDR (3265.02s)
PASS
ok github.com/hashicorp/terraform-provider-aws/internal/service/ec2 3590.220s |
Rollback Plan
If a change needs to be reverted, we will publish an updated version of the library.
Changes to Security Controls
None.
Description
aws_vpcresource waits on deletion (if it was allocated with IPAM) until IPAM has removed any CIDR allocation it provided.aws_subnetIPAM support did not wait and returned immediately so this PR fixes that.aws_subnetacceptance tests as long runningRelations
Closes #46324
References
Output from Acceptance Testing