Skip to content

outbound: test load balancer behavior with failure accrual#2375

Merged
hawkw merged 1 commit intomainfrom
eliza/balancer-accrual-test
Apr 24, 2023
Merged

outbound: test load balancer behavior with failure accrual#2375
hawkw merged 1 commit intomainfrom
eliza/balancer-accrual-test

Conversation

@hawkw
Copy link
Contributor

@hawkw hawkw commented Apr 3, 2023

This branch adds a new test for failure accrual in load balancers with multiple endpoints. This test asserts that endpoints whose circuit breakers have tripped will not be selected by a load balancer.

This branch adds a new test for failure accrual in load balancers with
multiple endpoints. This test asserts that endpoints whose circuit
breakers have tripped will not be selected by a load balancer.
@hawkw hawkw requested a review from a team as a code owner April 3, 2023 18:26
@hawkw hawkw force-pushed the eliza/balancer-accrual-test branch from f3d655c to af6e279 Compare April 3, 2023 18:34
@hawkw hawkw merged commit 2a48e12 into main Apr 24, 2023
@hawkw hawkw deleted the eliza/balancer-accrual-test branch April 24, 2023 20:34
hawkw added a commit that referenced this pull request Apr 24, 2023
Looks like we accidentally merged PR #2375 without a CI build against
the latest state of `main`. In the meantime since #2375 was last built
on CI, PR #2374 added an additional metadata field to
`policy::HttpParams`, which the `HttpParams` constructed in the test
added from #2375 doesn't populate. Therefore, merging this PR broke the
build. Whoops!

This commit populates the `meta` field, fixing it.
hawkw added a commit that referenced this pull request Apr 24, 2023
Looks like we accidentally merged PR #2375 without a CI build against
the latest state of `main`. In the meantime since #2375 was last built
on CI, PR #2374 added an additional metadata field to
`policy::HttpParams`, which the `HttpParams` constructed in the test
added from #2375 doesn't populate. Therefore, merging this PR broke the
build. Whoops!

This commit populates the `meta` field, fixing it.
hawkw added a commit to linkerd/linkerd2 that referenced this pull request Apr 25, 2023
This proxy release fixes an issue where outbound proxies would attempt
protocol detection on ports that are marked as opaque. It also adds
support for ranges (such as `10-20`) in the
`LINKERD2_PROXY_INBOUND_PORTS_DISABLE_PROTOCOL_DETECTION` and
`LINKERD2_PROXY_INBOUND_PORTS` environment variables. Finally, it
changes the proxy to synthesize default client policies when the policy
controller returns an `Unimplemented` gRPC status code, allowing 2.13
proxies to coexist with 2.12 control planes in downgrade scenarios.

---

* outbound: determine protocol based on `OutboundPolicy` (linkerd/linkerd2-proxy#2397)
* set default `trust_dns` log level to `ERROR` (linkerd/linkerd2-proxy#2393)
* outbound: test load balancer behavior with failure accrual (linkerd/linkerd2-proxy#2375)
* outbound: add missing `meta` field in test policy (linkerd/linkerd2-proxy#2400)
* inbound: determine default policies using the opaque ports env var (linkerd/linkerd2-proxy#2395)
* outbound: synthesize client policies on `Unimplemented` (linkerd/linkerd2-proxy#2396)
* build(deps): bump io-lifetimes from 1.0.4 to 1.0.10 (linkerd/linkerd2-proxy#2379)
* chore: allow `syn` v1 and v2 to coexist peacefully (linkerd/linkerd2-proxy#2401)
* build(deps): bump futures from 0.3.26 to 0.3.28 (linkerd/linkerd2-proxy#2370)
* build(deps): bump async-trait from 0.1.66 to 0.1.68 (linkerd/linkerd2-proxy#2368)

Signed-off-by: Eliza Weisman <eliza@buoyant.io>
hawkw added a commit to linkerd/linkerd2 that referenced this pull request Apr 26, 2023
This proxy release fixes an issue where outbound proxies would attempt
protocol detection on ports that are marked as opaque. It also adds
support for ranges (such as `10-20`) in the
`LINKERD2_PROXY_INBOUND_PORTS_DISABLE_PROTOCOL_DETECTION` and
`LINKERD2_PROXY_INBOUND_PORTS` environment variables. Finally, it
changes the proxy to synthesize default client policies when the policy
controller returns an `Unimplemented` gRPC status code, allowing 2.13
proxies to coexist with 2.12 control planes in downgrade scenarios.

---

* outbound: determine protocol based on `OutboundPolicy` (linkerd/linkerd2-proxy#2397)
* set default `trust_dns` log level to `ERROR` (linkerd/linkerd2-proxy#2393)
* outbound: test load balancer behavior with failure accrual (linkerd/linkerd2-proxy#2375)
* outbound: add missing `meta` field in test policy (linkerd/linkerd2-proxy#2400)
* inbound: determine default policies using the opaque ports env var (linkerd/linkerd2-proxy#2395)
* outbound: synthesize client policies on `Unimplemented` (linkerd/linkerd2-proxy#2396)
* build(deps): bump io-lifetimes from 1.0.4 to 1.0.10 (linkerd/linkerd2-proxy#2379)
* chore: allow `syn` v1 and v2 to coexist peacefully (linkerd/linkerd2-proxy#2401)
* build(deps): bump futures from 0.3.26 to 0.3.28 (linkerd/linkerd2-proxy#2370)
* build(deps): bump async-trait from 0.1.66 to 0.1.68 (linkerd/linkerd2-proxy#2368)

Signed-off-by: Eliza Weisman <eliza@buoyant.io>
risingspiral pushed a commit to linkerd/linkerd2 that referenced this pull request May 4, 2023
This proxy release fixes an issue where outbound proxies would attempt
protocol detection on ports that are marked as opaque. It also adds
support for ranges (such as `10-20`) in the
`LINKERD2_PROXY_INBOUND_PORTS_DISABLE_PROTOCOL_DETECTION` and
`LINKERD2_PROXY_INBOUND_PORTS` environment variables. Finally, it
changes the proxy to synthesize default client policies when the policy
controller returns an `Unimplemented` gRPC status code, allowing 2.13
proxies to coexist with 2.12 control planes in downgrade scenarios.

---

* outbound: determine protocol based on `OutboundPolicy` (linkerd/linkerd2-proxy#2397)
* set default `trust_dns` log level to `ERROR` (linkerd/linkerd2-proxy#2393)
* outbound: test load balancer behavior with failure accrual (linkerd/linkerd2-proxy#2375)
* outbound: add missing `meta` field in test policy (linkerd/linkerd2-proxy#2400)
* inbound: determine default policies using the opaque ports env var (linkerd/linkerd2-proxy#2395)
* outbound: synthesize client policies on `Unimplemented` (linkerd/linkerd2-proxy#2396)
* build(deps): bump io-lifetimes from 1.0.4 to 1.0.10 (linkerd/linkerd2-proxy#2379)
* chore: allow `syn` v1 and v2 to coexist peacefully (linkerd/linkerd2-proxy#2401)
* build(deps): bump futures from 0.3.26 to 0.3.28 (linkerd/linkerd2-proxy#2370)
* build(deps): bump async-trait from 0.1.66 to 0.1.68 (linkerd/linkerd2-proxy#2368)

Signed-off-by: Eliza Weisman <eliza@buoyant.io>
risingspiral pushed a commit to linkerd/linkerd2 that referenced this pull request May 5, 2023
This proxy release fixes an issue where outbound proxies would attempt
protocol detection on ports that are marked as opaque. It also adds
support for ranges (such as `10-20`) in the
`LINKERD2_PROXY_INBOUND_PORTS_DISABLE_PROTOCOL_DETECTION` and
`LINKERD2_PROXY_INBOUND_PORTS` environment variables. Finally, it
changes the proxy to synthesize default client policies when the policy
controller returns an `Unimplemented` gRPC status code, allowing 2.13
proxies to coexist with 2.12 control planes in downgrade scenarios.

---

* outbound: determine protocol based on `OutboundPolicy` (linkerd/linkerd2-proxy#2397)
* set default `trust_dns` log level to `ERROR` (linkerd/linkerd2-proxy#2393)
* outbound: test load balancer behavior with failure accrual (linkerd/linkerd2-proxy#2375)
* outbound: add missing `meta` field in test policy (linkerd/linkerd2-proxy#2400)
* inbound: determine default policies using the opaque ports env var (linkerd/linkerd2-proxy#2395)
* outbound: synthesize client policies on `Unimplemented` (linkerd/linkerd2-proxy#2396)
* build(deps): bump io-lifetimes from 1.0.4 to 1.0.10 (linkerd/linkerd2-proxy#2379)
* chore: allow `syn` v1 and v2 to coexist peacefully (linkerd/linkerd2-proxy#2401)
* build(deps): bump futures from 0.3.26 to 0.3.28 (linkerd/linkerd2-proxy#2370)
* build(deps): bump async-trait from 0.1.66 to 0.1.68 (linkerd/linkerd2-proxy#2368)

Signed-off-by: Eliza Weisman <eliza@buoyant.io>
Signed-off-by: Eric Anderson <eric@buoyant.io>
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.

2 participants