-
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
Add support for disabling connection termination for unhealthy targets #34070
Add support for disabling connection termination for unhealthy targets #34070
Conversation
Community NoteVoting for Prioritization
For Submitters
|
8f6e829
to
32a2dd5
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.
LGTM 🚀.
% make testacc TESTARGS='-run=TestAccELBV2TargetGroup_' PKG=elbv2 ACCTEST_PARALLELISM=2
==> Checking that code complies with gofmt requirements...
TF_ACC=1 go test ./internal/service/elbv2/... -v -count 1 -parallel 2 -run=TestAccELBV2TargetGroup_ -timeout 360m
=== RUN TestAccELBV2TargetGroup_basic
=== PAUSE TestAccELBV2TargetGroup_basic
=== RUN TestAccELBV2TargetGroup_disappears
=== PAUSE TestAccELBV2TargetGroup_disappears
=== RUN TestAccELBV2TargetGroup_nameGenerated
=== PAUSE TestAccELBV2TargetGroup_nameGenerated
=== RUN TestAccELBV2TargetGroup_namePrefix
=== PAUSE TestAccELBV2TargetGroup_namePrefix
=== RUN TestAccELBV2TargetGroup_duplicateName
=== PAUSE TestAccELBV2TargetGroup_duplicateName
=== RUN TestAccELBV2TargetGroup_tags
=== PAUSE TestAccELBV2TargetGroup_tags
=== RUN TestAccELBV2TargetGroup_backwardsCompatibility
=== PAUSE TestAccELBV2TargetGroup_backwardsCompatibility
=== RUN TestAccELBV2TargetGroup_ProtocolVersion_basic
=== PAUSE TestAccELBV2TargetGroup_ProtocolVersion_basic
=== RUN TestAccELBV2TargetGroup_ProtocolVersion_grpcHealthCheck
=== PAUSE TestAccELBV2TargetGroup_ProtocolVersion_grpcHealthCheck
=== RUN TestAccELBV2TargetGroup_ProtocolVersion_grpcUpdate
=== PAUSE TestAccELBV2TargetGroup_ProtocolVersion_grpcUpdate
=== RUN TestAccELBV2TargetGroup_ipAddressType
=== PAUSE TestAccELBV2TargetGroup_ipAddressType
=== RUN TestAccELBV2TargetGroup_tls
=== PAUSE TestAccELBV2TargetGroup_tls
=== RUN TestAccELBV2TargetGroup_HealthCheck_tcpHTTPS
=== PAUSE TestAccELBV2TargetGroup_HealthCheck_tcpHTTPS
=== RUN TestAccELBV2TargetGroup_attrsOnCreate
=== PAUSE TestAccELBV2TargetGroup_attrsOnCreate
=== RUN TestAccELBV2TargetGroup_udp
=== PAUSE TestAccELBV2TargetGroup_udp
=== RUN TestAccELBV2TargetGroup_ForceNew_name
=== PAUSE TestAccELBV2TargetGroup_ForceNew_name
=== RUN TestAccELBV2TargetGroup_ForceNew_port
=== PAUSE TestAccELBV2TargetGroup_ForceNew_port
=== RUN TestAccELBV2TargetGroup_ForceNew_protocol
=== PAUSE TestAccELBV2TargetGroup_ForceNew_protocol
=== RUN TestAccELBV2TargetGroup_ForceNew_vpc
=== PAUSE TestAccELBV2TargetGroup_ForceNew_vpc
=== RUN TestAccELBV2TargetGroup_Defaults_application
=== PAUSE TestAccELBV2TargetGroup_Defaults_application
=== RUN TestAccELBV2TargetGroup_Defaults_network
=== PAUSE TestAccELBV2TargetGroup_Defaults_network
=== RUN TestAccELBV2TargetGroup_HealthCheck_enable
=== PAUSE TestAccELBV2TargetGroup_HealthCheck_enable
=== RUN TestAccELBV2TargetGroup_NetworkLB_tcpHealthCheckUpdated
=== PAUSE TestAccELBV2TargetGroup_NetworkLB_tcpHealthCheckUpdated
=== RUN TestAccELBV2TargetGroup_networkLB_TargetGroupWithConnectionTermination
=== PAUSE TestAccELBV2TargetGroup_networkLB_TargetGroupWithConnectionTermination
=== RUN TestAccELBV2TargetGroup_NetworkLB_targetGroupWithProxy
=== PAUSE TestAccELBV2TargetGroup_NetworkLB_targetGroupWithProxy
=== RUN TestAccELBV2TargetGroup_preserveClientIPValid
=== PAUSE TestAccELBV2TargetGroup_preserveClientIPValid
=== RUN TestAccELBV2TargetGroup_Geneve_basic
=== PAUSE TestAccELBV2TargetGroup_Geneve_basic
=== RUN TestAccELBV2TargetGroup_Geneve_notSticky
=== PAUSE TestAccELBV2TargetGroup_Geneve_notSticky
=== RUN TestAccELBV2TargetGroup_Geneve_Sticky
=== PAUSE TestAccELBV2TargetGroup_Geneve_Sticky
=== RUN TestAccELBV2TargetGroup_Geneve_targetFailover
=== PAUSE TestAccELBV2TargetGroup_Geneve_targetFailover
=== RUN TestAccELBV2TargetGroup_Stickiness_defaultALB
=== PAUSE TestAccELBV2TargetGroup_Stickiness_defaultALB
=== RUN TestAccELBV2TargetGroup_Stickiness_defaultNLB
=== PAUSE TestAccELBV2TargetGroup_Stickiness_defaultNLB
=== RUN TestAccELBV2TargetGroup_Stickiness_invalidALB
=== PAUSE TestAccELBV2TargetGroup_Stickiness_invalidALB
=== RUN TestAccELBV2TargetGroup_Stickiness_invalidNLB
=== PAUSE TestAccELBV2TargetGroup_Stickiness_invalidNLB
=== RUN TestAccELBV2TargetGroup_Stickiness_validALB
=== PAUSE TestAccELBV2TargetGroup_Stickiness_validALB
=== RUN TestAccELBV2TargetGroup_Stickiness_validNLB
=== PAUSE TestAccELBV2TargetGroup_Stickiness_validNLB
=== RUN TestAccELBV2TargetGroup_Stickiness_updateAppEnabled
=== PAUSE TestAccELBV2TargetGroup_Stickiness_updateAppEnabled
=== RUN TestAccELBV2TargetGroup_HealthCheck_update
=== PAUSE TestAccELBV2TargetGroup_HealthCheck_update
=== RUN TestAccELBV2TargetGroup_Stickiness_updateEnabled
=== PAUSE TestAccELBV2TargetGroup_Stickiness_updateEnabled
=== RUN TestAccELBV2TargetGroup_HealthCheck_without
=== PAUSE TestAccELBV2TargetGroup_HealthCheck_without
=== RUN TestAccELBV2TargetGroup_ALBAlias_basic
=== PAUSE TestAccELBV2TargetGroup_ALBAlias_basic
=== RUN TestAccELBV2TargetGroup_ALBAlias_changeNameForceNew
=== PAUSE TestAccELBV2TargetGroup_ALBAlias_changeNameForceNew
=== RUN TestAccELBV2TargetGroup_ALBAlias_changePortForceNew
=== PAUSE TestAccELBV2TargetGroup_ALBAlias_changePortForceNew
=== RUN TestAccELBV2TargetGroup_ALBAlias_changeProtocolForceNew
=== PAUSE TestAccELBV2TargetGroup_ALBAlias_changeProtocolForceNew
=== RUN TestAccELBV2TargetGroup_ALBAlias_changeVPCForceNew
=== PAUSE TestAccELBV2TargetGroup_ALBAlias_changeVPCForceNew
=== RUN TestAccELBV2TargetGroup_ALBAlias_generatedName
=== PAUSE TestAccELBV2TargetGroup_ALBAlias_generatedName
=== RUN TestAccELBV2TargetGroup_ALBAlias_lambda
=== PAUSE TestAccELBV2TargetGroup_ALBAlias_lambda
=== RUN TestAccELBV2TargetGroup_ALBAlias_lambdaMultiValueHeadersEnabled
=== PAUSE TestAccELBV2TargetGroup_ALBAlias_lambdaMultiValueHeadersEnabled
=== RUN TestAccELBV2TargetGroup_ALBAlias_missingPortProtocolVPC
=== PAUSE TestAccELBV2TargetGroup_ALBAlias_missingPortProtocolVPC
=== RUN TestAccELBV2TargetGroup_ALBAlias_namePrefix
=== PAUSE TestAccELBV2TargetGroup_ALBAlias_namePrefix
=== RUN TestAccELBV2TargetGroup_ALBAlias_setAndUpdateSlowStart
=== PAUSE TestAccELBV2TargetGroup_ALBAlias_setAndUpdateSlowStart
=== RUN TestAccELBV2TargetGroup_ALBAlias_tags
=== PAUSE TestAccELBV2TargetGroup_ALBAlias_tags
=== RUN TestAccELBV2TargetGroup_ALBAlias_updateHealthCheck
=== PAUSE TestAccELBV2TargetGroup_ALBAlias_updateHealthCheck
=== RUN TestAccELBV2TargetGroup_ALBAlias_updateLoadBalancingAlgorithmType
=== PAUSE TestAccELBV2TargetGroup_ALBAlias_updateLoadBalancingAlgorithmType
=== RUN TestAccELBV2TargetGroup_ALBAlias_updateLoadBalancingCrossZoneEnabled
=== PAUSE TestAccELBV2TargetGroup_ALBAlias_updateLoadBalancingCrossZoneEnabled
=== RUN TestAccELBV2TargetGroup_ALBAlias_updateStickinessEnabled
=== PAUSE TestAccELBV2TargetGroup_ALBAlias_updateStickinessEnabled
=== RUN TestAccELBV2TargetGroup_targetHealthStateUnhealthyConnectionTermination
=== PAUSE TestAccELBV2TargetGroup_targetHealthStateUnhealthyConnectionTermination
=== CONT TestAccELBV2TargetGroup_basic
=== CONT TestAccELBV2TargetGroup_Geneve_targetFailover
--- PASS: TestAccELBV2TargetGroup_basic (30.68s)
=== CONT TestAccELBV2TargetGroup_ALBAlias_changeProtocolForceNew
--- PASS: TestAccELBV2TargetGroup_Geneve_targetFailover (54.47s)
=== CONT TestAccELBV2TargetGroup_targetHealthStateUnhealthyConnectionTermination
--- PASS: TestAccELBV2TargetGroup_ALBAlias_changeProtocolForceNew (48.99s)
=== CONT TestAccELBV2TargetGroup_ALBAlias_updateStickinessEnabled
--- PASS: TestAccELBV2TargetGroup_targetHealthStateUnhealthyConnectionTermination (88.91s)
=== CONT TestAccELBV2TargetGroup_ALBAlias_updateLoadBalancingCrossZoneEnabled
--- PASS: TestAccELBV2TargetGroup_ALBAlias_updateStickinessEnabled (66.97s)
=== CONT TestAccELBV2TargetGroup_ALBAlias_updateLoadBalancingAlgorithmType
--- PASS: TestAccELBV2TargetGroup_ALBAlias_updateLoadBalancingCrossZoneEnabled (66.10s)
=== CONT TestAccELBV2TargetGroup_ALBAlias_updateHealthCheck
--- PASS: TestAccELBV2TargetGroup_ALBAlias_updateLoadBalancingAlgorithmType (62.86s)
=== CONT TestAccELBV2TargetGroup_ALBAlias_tags
--- PASS: TestAccELBV2TargetGroup_ALBAlias_updateHealthCheck (50.13s)
=== CONT TestAccELBV2TargetGroup_ALBAlias_setAndUpdateSlowStart
--- PASS: TestAccELBV2TargetGroup_ALBAlias_tags (50.13s)
=== CONT TestAccELBV2TargetGroup_ALBAlias_namePrefix
--- PASS: TestAccELBV2TargetGroup_ALBAlias_namePrefix (27.80s)
=== CONT TestAccELBV2TargetGroup_ALBAlias_missingPortProtocolVPC
--- PASS: TestAccELBV2TargetGroup_ALBAlias_setAndUpdateSlowStart (48.83s)
=== CONT TestAccELBV2TargetGroup_ALBAlias_lambdaMultiValueHeadersEnabled
--- PASS: TestAccELBV2TargetGroup_ALBAlias_missingPortProtocolVPC (29.50s)
=== CONT TestAccELBV2TargetGroup_ALBAlias_lambda
--- PASS: TestAccELBV2TargetGroup_ALBAlias_lambda (27.61s)
=== CONT TestAccELBV2TargetGroup_ALBAlias_generatedName
--- PASS: TestAccELBV2TargetGroup_ALBAlias_generatedName (27.40s)
=== CONT TestAccELBV2TargetGroup_ALBAlias_changeVPCForceNew
--- PASS: TestAccELBV2TargetGroup_ALBAlias_lambdaMultiValueHeadersEnabled (65.32s)
=== CONT TestAccELBV2TargetGroup_ForceNew_name
--- PASS: TestAccELBV2TargetGroup_ALBAlias_changeVPCForceNew (45.55s)
=== CONT TestAccELBV2TargetGroup_Geneve_Sticky
--- PASS: TestAccELBV2TargetGroup_ForceNew_name (50.61s)
=== CONT TestAccELBV2TargetGroup_Geneve_notSticky
--- PASS: TestAccELBV2TargetGroup_Geneve_Sticky (49.71s)
=== CONT TestAccELBV2TargetGroup_Geneve_basic
--- PASS: TestAccELBV2TargetGroup_Geneve_notSticky (49.70s)
=== CONT TestAccELBV2TargetGroup_preserveClientIPValid
--- PASS: TestAccELBV2TargetGroup_Geneve_basic (33.94s)
=== CONT TestAccELBV2TargetGroup_NetworkLB_targetGroupWithProxy
--- PASS: TestAccELBV2TargetGroup_preserveClientIPValid (50.35s)
=== CONT TestAccELBV2TargetGroup_networkLB_TargetGroupWithConnectionTermination
--- PASS: TestAccELBV2TargetGroup_NetworkLB_targetGroupWithProxy (46.60s)
=== CONT TestAccELBV2TargetGroup_NetworkLB_tcpHealthCheckUpdated
--- PASS: TestAccELBV2TargetGroup_networkLB_TargetGroupWithConnectionTermination (44.14s)
=== CONT TestAccELBV2TargetGroup_HealthCheck_enable
--- PASS: TestAccELBV2TargetGroup_NetworkLB_tcpHealthCheckUpdated (48.89s)
=== CONT TestAccELBV2TargetGroup_Defaults_network
--- PASS: TestAccELBV2TargetGroup_HealthCheck_enable (43.78s)
=== CONT TestAccELBV2TargetGroup_Defaults_application
--- PASS: TestAccELBV2TargetGroup_Defaults_network (30.25s)
=== CONT TestAccELBV2TargetGroup_ForceNew_vpc
--- PASS: TestAccELBV2TargetGroup_Defaults_application (26.97s)
=== CONT TestAccELBV2TargetGroup_ForceNew_protocol
--- PASS: TestAccELBV2TargetGroup_ForceNew_vpc (47.31s)
=== CONT TestAccELBV2TargetGroup_ForceNew_port
--- PASS: TestAccELBV2TargetGroup_ForceNew_protocol (51.66s)
=== CONT TestAccELBV2TargetGroup_ProtocolVersion_grpcHealthCheck
--- PASS: TestAccELBV2TargetGroup_ProtocolVersion_grpcHealthCheck (26.46s)
=== CONT TestAccELBV2TargetGroup_udp
--- PASS: TestAccELBV2TargetGroup_ForceNew_port (48.86s)
=== CONT TestAccELBV2TargetGroup_attrsOnCreate
--- PASS: TestAccELBV2TargetGroup_udp (26.07s)
=== CONT TestAccELBV2TargetGroup_HealthCheck_tcpHTTPS
--- PASS: TestAccELBV2TargetGroup_attrsOnCreate (45.67s)
=== CONT TestAccELBV2TargetGroup_tls
--- PASS: TestAccELBV2TargetGroup_HealthCheck_tcpHTTPS (44.88s)
=== CONT TestAccELBV2TargetGroup_ipAddressType
--- PASS: TestAccELBV2TargetGroup_tls (25.92s)
=== CONT TestAccELBV2TargetGroup_ProtocolVersion_grpcUpdate
--- PASS: TestAccELBV2TargetGroup_ipAddressType (30.41s)
=== CONT TestAccELBV2TargetGroup_duplicateName
--- PASS: TestAccELBV2TargetGroup_ProtocolVersion_grpcUpdate (47.36s)
=== CONT TestAccELBV2TargetGroup_ProtocolVersion_basic
--- PASS: TestAccELBV2TargetGroup_duplicateName (34.49s)
=== CONT TestAccELBV2TargetGroup_backwardsCompatibility
--- PASS: TestAccELBV2TargetGroup_backwardsCompatibility (26.17s)
=== CONT TestAccELBV2TargetGroup_tags
--- PASS: TestAccELBV2TargetGroup_ProtocolVersion_basic (47.19s)
=== CONT TestAccELBV2TargetGroup_nameGenerated
--- PASS: TestAccELBV2TargetGroup_nameGenerated (29.01s)
=== CONT TestAccELBV2TargetGroup_namePrefix
--- PASS: TestAccELBV2TargetGroup_tags (64.88s)
=== CONT TestAccELBV2TargetGroup_Stickiness_updateAppEnabled
--- PASS: TestAccELBV2TargetGroup_namePrefix (29.42s)
=== CONT TestAccELBV2TargetGroup_ALBAlias_changePortForceNew
--- PASS: TestAccELBV2TargetGroup_ALBAlias_changePortForceNew (46.64s)
=== CONT TestAccELBV2TargetGroup_ALBAlias_changeNameForceNew
--- PASS: TestAccELBV2TargetGroup_Stickiness_updateAppEnabled (66.95s)
=== CONT TestAccELBV2TargetGroup_ALBAlias_basic
--- PASS: TestAccELBV2TargetGroup_ALBAlias_basic (25.75s)
=== CONT TestAccELBV2TargetGroup_HealthCheck_without
--- PASS: TestAccELBV2TargetGroup_ALBAlias_changeNameForceNew (49.50s)
=== CONT TestAccELBV2TargetGroup_Stickiness_updateEnabled
--- PASS: TestAccELBV2TargetGroup_HealthCheck_without (21.02s)
=== CONT TestAccELBV2TargetGroup_HealthCheck_update
--- PASS: TestAccELBV2TargetGroup_HealthCheck_update (45.04s)
=== CONT TestAccELBV2TargetGroup_disappears
--- PASS: TestAccELBV2TargetGroup_Stickiness_updateEnabled (63.13s)
=== CONT TestAccELBV2TargetGroup_Stickiness_invalidNLB
--- PASS: TestAccELBV2TargetGroup_disappears (25.15s)
=== CONT TestAccELBV2TargetGroup_Stickiness_validNLB
--- PASS: TestAccELBV2TargetGroup_Stickiness_invalidNLB (44.97s)
=== CONT TestAccELBV2TargetGroup_Stickiness_validALB
--- PASS: TestAccELBV2TargetGroup_Stickiness_validALB (45.03s)
=== CONT TestAccELBV2TargetGroup_Stickiness_defaultNLB
--- PASS: TestAccELBV2TargetGroup_Stickiness_validNLB (86.94s)
=== CONT TestAccELBV2TargetGroup_Stickiness_invalidALB
--- PASS: TestAccELBV2TargetGroup_Stickiness_defaultNLB (66.40s)
=== CONT TestAccELBV2TargetGroup_Stickiness_defaultALB
--- PASS: TestAccELBV2TargetGroup_Stickiness_invalidALB (49.33s)
--- PASS: TestAccELBV2TargetGroup_Stickiness_defaultALB (23.92s)
PASS
ok github.com/hashicorp/terraform-provider-aws/internal/service/elbv2 1292.623s
@ddericco Thanks for the contribution 🎉 👏. |
This functionality has been released in v5.23.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 pull request because it has been closed for 30 days ⏳. This helps our maintainers find and focus on the active issues. |
Description
aws_lb_target_group
: Adds a new attribute blocktarget_health_state
with a single attributeenable_unhealthy_connection_termination
to enable/disable maintaining or terminating active connections to targets that fail health checks. Note this is only supported forTCP
andTLS
protocols.aws_lb_target_group
: Updates theconnection_termination
attribute toComputed
and removesDefault: false
. For new UDP/TCP_UDP target groups the default is true. Otherwise, the default is false.Relations
Relates #33424
References
Output from Acceptance Testing