Skip to content

Backport of feat(ingress gateway: support configuring limits in ingress-gateway c… into release/1.12.x#14790

Merged
huikang merged 3 commits intorelease/1.12.xfrom
backport/gh-add-ingress-gateway-configentry-limits/neatly-composed-anemone
Oct 14, 2022
Merged

Backport of feat(ingress gateway: support configuring limits in ingress-gateway c… into release/1.12.x#14790
huikang merged 3 commits intorelease/1.12.xfrom
backport/gh-add-ingress-gateway-configentry-limits/neatly-composed-anemone

Conversation

@hc-github-team-consul-core
Copy link
Copy Markdown
Collaborator

Backport

This PR is auto-generated from #14749 to be assessed for backporting due to the inclusion of the label backport/1.12.

WARNING automatic cherry-pick of commits failed. Commits will require human attention.

merge conflict error: POST https://api.github.com/repos/hashicorp/consul/merges: 409 Merge conflict []

The below text is copied from the body of the original PR.


Description

As a user of ingress gateway, I want to increase the max_connections of the service in the ingress-gateway config entry (link to the detailed description). However, in current implementation, max_coonections can’t be changed and is set to the default value of 1024 by envoy.

This PR adds a new field named Defaults to the ingress-gateway config entry and max_xyz to individual listening services. The new fields allow user to configure the max_xyz of the upstream cluster of a specified service behind the ingress gateway.

  • updated unit test and integration test
  • updated external-facing doc

Testing & Reproduction steps

  • A full example is verified in the integration test (test/integration/connect/envoy/case-ingress-gateway-multiple-services/config_entries.hcl).
Kind = "ingress-gateway"
Name = "my-ingress-gateway"

Defaults {
    MaxConnections = 2048          // <----- increase the max_connections of all upstream service instances
}
Listeners = [
 {
   Port = 8082
   Protocol = "http"
   Services = [
     {
        Name = "counting"
        Hosts = ["*"]
        MaxConnections = 5120          // <----- increase the max_connections, overwrite the value in Defaults
     },
     {
       Name = "counting-v2"
       Hosts = ["v2"]
     }
   ]
 }
]
  • envoy cluster
counting.default.dc2.internal.ca9229ae-1b1d-af9d-47fa-43885f09557a.consul::default_priority::max_connections::5120
counting.default.dc2.internal.ca9229ae-1b1d-af9d-47fa-43885f09557a.consul::default_priority::max_pending_requests::1024
counting.default.dc2.internal.ca9229ae-1b1d-af9d-47fa-43885f09557a.consul::default_priority::max_requests::1024
counting.default.dc2.internal.ca9229ae-1b1d-af9d-47fa-43885f09557a.consul::default_priority::max_retries::3

Links

Address #13374
Supersede #14708

Please be mindful not to leak any customer or confidential information. HashiCorp employees may want to use our internal URL shortener to obfuscate links.

PR Checklist

  • updated test coverage
  • external facing docs updated
  • not a security concern

Overview of commits

@hc-github-team-consul-core hc-github-team-consul-core force-pushed the backport/gh-add-ingress-gateway-configentry-limits/neatly-composed-anemone branch from e7f4884 to 4e09b46 Compare September 28, 2022 18:57
@hashicorp-cla
Copy link
Copy Markdown

hashicorp-cla commented Sep 28, 2022

CLA assistant check
All committers have signed the CLA.

@huikang huikang force-pushed the backport/gh-add-ingress-gateway-configentry-limits/neatly-composed-anemone branch from 0850570 to 203ec57 Compare October 4, 2022 14:32
@huikang huikang force-pushed the backport/gh-add-ingress-gateway-configentry-limits/neatly-composed-anemone branch from 203ec57 to 9976a59 Compare October 14, 2022 16:56
temp and others added 2 commits October 14, 2022 13:03
#14749)

* feat(ingress gateway: support configuring limits in ingress-gateway config entry

- a new Defaults field with max_connections, max_pending_connections, max_requests
  is added to ingress gateway config entry
- new field max_connections, max_pending_connections, max_requests in
  individual services to overwrite the value in Default
- added unit test and integration test
- updated doc

Co-authored-by: Chris S. Kim <ckim@hashicorp.com>
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
Co-authored-by: Dan Stough <dan.stough@hashicorp.com>
@huikang huikang force-pushed the backport/gh-add-ingress-gateway-configentry-limits/neatly-composed-anemone branch from 9976a59 to 9d0812a Compare October 14, 2022 17:04
@huikang huikang force-pushed the backport/gh-add-ingress-gateway-configentry-limits/neatly-composed-anemone branch from 4bde097 to cabf933 Compare October 14, 2022 17:20
@huikang huikang marked this pull request as ready for review October 14, 2022 17:53
@huikang huikang requested a review from a team as a code owner October 14, 2022 17:53
@huikang huikang merged commit 79dcc3b into release/1.12.x Oct 14, 2022
@huikang huikang deleted the backport/gh-add-ingress-gateway-configentry-limits/neatly-composed-anemone branch October 14, 2022 17:54
huikang pushed a commit that referenced this pull request Oct 14, 2022
…ss-gateway c… into release/1.12.x (#14790)

* feat(ingress gateway: support configuring limits in ingress-gateway c… (#14749)

* feat(ingress gateway: support configuring limits in ingress-gateway config entry

- a new Defaults field with max_connections, max_pending_connections, max_requests
  is added to ingress gateway config entry
- new field max_connections, max_pending_connections, max_requests in
  individual services to overwrite the value in Default
- added unit test and integration test
- updated doc

Co-authored-by: Chris S. Kim <ckim@hashicorp.com>
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
Co-authored-by: Dan Stough <dan.stough@hashicorp.com>
huikang pushed a commit that referenced this pull request Oct 15, 2022
…ss-gateway c… into release/1.11.x (#14789)

* Backport of feat(ingress gateway: support configuring limits in ingress-gateway c… into release/1.12.x (#14790)

* feat(ingress gateway: support configuring limits in ingress-gateway c… (#14749)

* feat(ingress gateway: support configuring limits in ingress-gateway config entry

- a new Defaults field with max_connections, max_pending_connections, max_requests
  is added to ingress gateway config entry
- new field max_connections, max_pending_connections, max_requests in
  individual services to overwrite the value in Default
- added unit test and integration test
- updated doc

Co-authored-by: Chris S. Kim <ckim@hashicorp.com>
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
Co-authored-by: Dan Stough <dan.stough@hashicorp.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants