-
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 target failover, flow stickiness for GWLB target group #27334
Add support for target failover, flow stickiness for GWLB target group #27334
Conversation
Community NoteVoting for Prioritization
For Submitters
|
7c7f194
to
3d4a2cf
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
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.
Thanks for the PR, @ddericco. I have a few suggestions for changes
Update docs and add import tests Co-authored-by: Graham Davison <g.m.davison@computer.org>
- Add import steps to targetFailover acceptance tests - Documentation linting - Fix golang syntax from code suggestions
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 180m
=== 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_HealthCheck_tcp
=== PAUSE TestAccELBV2TargetGroup_HealthCheck_tcp
=== 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_basic
=== PAUSE TestAccELBV2TargetGroup_basic
=== 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_Name_generated
=== PAUSE TestAccELBV2TargetGroup_Name_generated
=== RUN TestAccELBV2TargetGroup_Name_prefix
=== PAUSE TestAccELBV2TargetGroup_Name_prefix
=== RUN TestAccELBV2TargetGroup_NetworkLB_targetGroup
=== PAUSE TestAccELBV2TargetGroup_NetworkLB_targetGroup
=== 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_tags
=== PAUSE TestAccELBV2TargetGroup_tags
=== 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_updateStickinessEnabled
=== PAUSE TestAccELBV2TargetGroup_ALBAlias_updateStickinessEnabled
=== CONT TestAccELBV2TargetGroup_backwardsCompatibility
=== CONT TestAccELBV2TargetGroup_Stickiness_invalidALB
--- PASS: TestAccELBV2TargetGroup_backwardsCompatibility (20.55s)
=== CONT TestAccELBV2TargetGroup_Defaults_application
--- PASS: TestAccELBV2TargetGroup_Defaults_application (19.96s)
=== CONT TestAccELBV2TargetGroup_Stickiness_defaultNLB
--- PASS: TestAccELBV2TargetGroup_Stickiness_invalidALB (40.78s)
=== CONT TestAccELBV2TargetGroup_Stickiness_defaultALB
--- PASS: TestAccELBV2TargetGroup_Stickiness_defaultALB (20.06s)
=== CONT TestAccELBV2TargetGroup_Geneve_targetFailover
--- PASS: TestAccELBV2TargetGroup_Stickiness_defaultNLB (51.80s)
=== CONT TestAccELBV2TargetGroup_Geneve_Sticky
--- PASS: TestAccELBV2TargetGroup_Geneve_targetFailover (40.65s)
=== CONT TestAccELBV2TargetGroup_Geneve_notSticky
--- PASS: TestAccELBV2TargetGroup_Geneve_Sticky (35.70s)
=== CONT TestAccELBV2TargetGroup_Geneve_basic
--- PASS: TestAccELBV2TargetGroup_Geneve_notSticky (35.62s)
=== CONT TestAccELBV2TargetGroup_preserveClientIPValid
--- PASS: TestAccELBV2TargetGroup_Geneve_basic (23.69s)
=== CONT TestAccELBV2TargetGroup_NetworkLB_targetGroupWithProxy
--- PASS: TestAccELBV2TargetGroup_preserveClientIPValid (34.74s)
=== CONT TestAccELBV2TargetGroup_networkLB_TargetGroupWithConnectionTermination
--- PASS: TestAccELBV2TargetGroup_NetworkLB_targetGroupWithProxy (33.99s)
=== CONT TestAccELBV2TargetGroup_NetworkLB_targetGroup
--- PASS: TestAccELBV2TargetGroup_networkLB_TargetGroupWithConnectionTermination (33.89s)
=== CONT TestAccELBV2TargetGroup_Name_prefix
--- PASS: TestAccELBV2TargetGroup_Name_prefix (18.50s)
=== CONT TestAccELBV2TargetGroup_Name_generated
--- PASS: TestAccELBV2TargetGroup_NetworkLB_targetGroup (53.80s)
=== CONT TestAccELBV2TargetGroup_HealthCheck_enable
--- PASS: TestAccELBV2TargetGroup_Name_generated (19.06s)
=== CONT TestAccELBV2TargetGroup_Defaults_network
--- PASS: TestAccELBV2TargetGroup_Defaults_network (23.70s)
=== CONT TestAccELBV2TargetGroup_attrsOnCreate
--- PASS: TestAccELBV2TargetGroup_HealthCheck_enable (28.22s)
=== CONT TestAccELBV2TargetGroup_ForceNew_vpc
--- PASS: TestAccELBV2TargetGroup_ForceNew_vpc (32.73s)
=== CONT TestAccELBV2TargetGroup_ForceNew_protocol
--- PASS: TestAccELBV2TargetGroup_attrsOnCreate (35.06s)
=== CONT TestAccELBV2TargetGroup_ForceNew_port
--- PASS: TestAccELBV2TargetGroup_ForceNew_port (35.18s)
=== CONT TestAccELBV2TargetGroup_ForceNew_name
--- PASS: TestAccELBV2TargetGroup_ForceNew_protocol (37.16s)
=== CONT TestAccELBV2TargetGroup_udp
--- PASS: TestAccELBV2TargetGroup_udp (19.10s)
=== CONT TestAccELBV2TargetGroup_basic
--- PASS: TestAccELBV2TargetGroup_ForceNew_name (36.88s)
=== CONT TestAccELBV2TargetGroup_ALBAlias_changeProtocolForceNew
--- PASS: TestAccELBV2TargetGroup_basic (19.02s)
=== CONT TestAccELBV2TargetGroup_ALBAlias_updateStickinessEnabled
--- PASS: TestAccELBV2TargetGroup_ALBAlias_changeProtocolForceNew (37.40s)
=== CONT TestAccELBV2TargetGroup_ALBAlias_updateLoadBalancingAlgorithmType
--- PASS: TestAccELBV2TargetGroup_ALBAlias_updateStickinessEnabled (50.10s)
=== CONT TestAccELBV2TargetGroup_ALBAlias_updateHealthCheck
--- PASS: TestAccELBV2TargetGroup_ALBAlias_updateLoadBalancingAlgorithmType (47.77s)
=== CONT TestAccELBV2TargetGroup_ALBAlias_tags
--- PASS: TestAccELBV2TargetGroup_ALBAlias_updateHealthCheck (35.06s)
=== CONT TestAccELBV2TargetGroup_ALBAlias_setAndUpdateSlowStart
--- PASS: TestAccELBV2TargetGroup_ALBAlias_tags (34.38s)
=== CONT TestAccELBV2TargetGroup_ALBAlias_namePrefix
--- PASS: TestAccELBV2TargetGroup_ALBAlias_setAndUpdateSlowStart (34.09s)
=== CONT TestAccELBV2TargetGroup_ALBAlias_missingPortProtocolVPC
--- PASS: TestAccELBV2TargetGroup_ALBAlias_namePrefix (19.34s)
=== CONT TestAccELBV2TargetGroup_ALBAlias_lambdaMultiValueHeadersEnabled
--- PASS: TestAccELBV2TargetGroup_ALBAlias_missingPortProtocolVPC (20.50s)
=== CONT TestAccELBV2TargetGroup_ALBAlias_lambda
--- PASS: TestAccELBV2TargetGroup_ALBAlias_lambda (18.15s)
=== CONT TestAccELBV2TargetGroup_ALBAlias_generatedName
--- PASS: TestAccELBV2TargetGroup_ALBAlias_generatedName (19.82s)
=== CONT TestAccELBV2TargetGroup_ALBAlias_changeVPCForceNew
--- PASS: TestAccELBV2TargetGroup_ALBAlias_lambdaMultiValueHeadersEnabled (44.41s)
=== CONT TestAccELBV2TargetGroup_HealthCheck_update
--- PASS: TestAccELBV2TargetGroup_ALBAlias_changeVPCForceNew (33.11s)
=== CONT TestAccELBV2TargetGroup_ALBAlias_changePortForceNew
--- PASS: TestAccELBV2TargetGroup_HealthCheck_update (35.00s)
=== CONT TestAccELBV2TargetGroup_ALBAlias_changeNameForceNew
--- PASS: TestAccELBV2TargetGroup_ALBAlias_changePortForceNew (35.67s)
=== CONT TestAccELBV2TargetGroup_ALBAlias_basic
--- PASS: TestAccELBV2TargetGroup_ALBAlias_changeNameForceNew (36.99s)
=== CONT TestAccELBV2TargetGroup_HealthCheck_without
--- PASS: TestAccELBV2TargetGroup_ALBAlias_basic (19.40s)
=== CONT TestAccELBV2TargetGroup_Stickiness_updateEnabled
--- PASS: TestAccELBV2TargetGroup_HealthCheck_without (15.22s)
=== CONT TestAccELBV2TargetGroup_Stickiness_validNLB
--- PASS: TestAccELBV2TargetGroup_Stickiness_updateEnabled (49.06s)
=== CONT TestAccELBV2TargetGroup_Stickiness_updateAppEnabled
--- PASS: TestAccELBV2TargetGroup_Stickiness_validNLB (66.59s)
=== CONT TestAccELBV2TargetGroup_tags
--- PASS: TestAccELBV2TargetGroup_Stickiness_updateAppEnabled (50.40s)
=== CONT TestAccELBV2TargetGroup_HealthCheck_tcp
--- PASS: TestAccELBV2TargetGroup_tags (49.80s)
=== CONT TestAccELBV2TargetGroup_HealthCheck_tcpHTTPS
--- PASS: TestAccELBV2TargetGroup_HealthCheck_tcp (35.39s)
=== CONT TestAccELBV2TargetGroup_tls
--- PASS: TestAccELBV2TargetGroup_tls (19.41s)
=== CONT TestAccELBV2TargetGroup_ipAddressType
--- PASS: TestAccELBV2TargetGroup_HealthCheck_tcpHTTPS (35.38s)
=== CONT TestAccELBV2TargetGroup_Stickiness_validALB
--- PASS: TestAccELBV2TargetGroup_ipAddressType (22.71s)
=== CONT TestAccELBV2TargetGroup_Stickiness_invalidNLB
--- PASS: TestAccELBV2TargetGroup_Stickiness_validALB (36.18s)
=== CONT TestAccELBV2TargetGroup_ProtocolVersion_grpcHealthCheck
--- PASS: TestAccELBV2TargetGroup_ProtocolVersion_grpcHealthCheck (19.80s)
=== CONT TestAccELBV2TargetGroup_ProtocolVersion_grpcUpdate
--- PASS: TestAccELBV2TargetGroup_Stickiness_invalidNLB (36.18s)
=== CONT TestAccELBV2TargetGroup_ProtocolVersion_basic
--- PASS: TestAccELBV2TargetGroup_ProtocolVersion_basic (19.55s)
--- PASS: TestAccELBV2TargetGroup_ProtocolVersion_grpcUpdate (37.09s)
PASS
ok github.com/hashicorp/terraform-provider-aws/internal/service/elbv2 894.186s
@ddericco Thanks for the contribution 🎉 👏. |
This functionality has been released in v4.38.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
Add support for
target_failover
andstickiness
attributes for GENEVE protocol target groups for Gateway Load Balancer (GWLB)Relations
Closes #27153
References
https://docs.aws.amazon.com/elasticloadbalancing/latest/gateway/target-groups.html#target-group-attributes
Output from Acceptance Testing