From 4147452c6cefbb01361b49aa46e8692fcc45a425 Mon Sep 17 00:00:00 2001 From: Alejandro Pedraza Date: Mon, 6 Nov 2023 16:16:06 -0500 Subject: [PATCH 1/4] Bump proxy to v2.210.2 --- .proxy-version | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.proxy-version b/.proxy-version index 2d8e01d9ab974..e00842e8a6af4 100644 --- a/.proxy-version +++ b/.proxy-version @@ -1 +1 @@ -v2.210.1 +v2.210.2 From 9e1bc2bdda31b078a13d019974e03901748e4169 Mon Sep 17 00:00:00 2001 From: Alex Leong Date: Thu, 2 Nov 2023 06:59:39 -0700 Subject: [PATCH 2/4] Fix GetProfiles error when address is opaque and unmeshed (#11556) When we do a GetProfile lookup for an opaque port on an unmeshed pod, we attempt to look up the inbound listen port of that pod's proxy. Since that pod has no proxy, this fails and we return an error to the GetProfile API call. This causes the proxy to fail to be able to resolve the profile and be unable to route the traffic. We revert to the previous behavior of only logging when we cannot look up the inbound listen port instead of returning an error. Signed-off-by: Alex Leong --- .../destination/endpoint_profile_translator.go | 10 +++++----- controller/api/destination/server_test.go | 17 +++++++++++++++++ 2 files changed, 22 insertions(+), 5 deletions(-) diff --git a/controller/api/destination/endpoint_profile_translator.go b/controller/api/destination/endpoint_profile_translator.go index 59af170b6c542..3f1fa90ec8d8c 100644 --- a/controller/api/destination/endpoint_profile_translator.go +++ b/controller/api/destination/endpoint_profile_translator.go @@ -64,11 +64,11 @@ func (ept *endpointProfileTranslator) Update(address *watcher.Address) (bool, er } else if endpoint.ProtocolHint.OpaqueTransport == nil { port, err := getInboundPort(&address.Pod.Spec) if err != nil { - return false, err - } - - endpoint.ProtocolHint.OpaqueTransport = &pb.ProtocolHint_OpaqueTransport{ - InboundPort: port, + ept.log.Error(err) + } else { + endpoint.ProtocolHint.OpaqueTransport = &pb.ProtocolHint_OpaqueTransport{ + InboundPort: port, + } } } diff --git a/controller/api/destination/server_test.go b/controller/api/destination/server_test.go index dc4741c241c23..ead7caab96b5a 100644 --- a/controller/api/destination/server_test.go +++ b/controller/api/destination/server_test.go @@ -353,6 +353,23 @@ func TestGetProfiles(t *testing.T) { } }) + t.Run("Return profile with no opaque transport when pod does not have label and port is opaque", func(t *testing.T) { + server := makeServer(t) + defer server.clusterStore.UnregisterGauges() + + // port 3306 is in the default opaque port list + stream := profileStream(t, server, podIP2, 3306, "") + defer stream.Cancel() + profile := assertSingleProfile(t, stream.Updates()) + if profile.Endpoint == nil { + t.Fatalf("Expected response to have endpoint field") + } + + if profile.Endpoint.GetProtocolHint().GetOpaqueTransport() != nil { + t.Fatalf("Expected no opaque transport but found one") + } + }) + t.Run("Return profile with no protocol hint when pod does not have label", func(t *testing.T) { server := makeServer(t) defer server.clusterStore.UnregisterGauges() From 028a8f4754577c90220d414ec0810aa8bcc6753e Mon Sep 17 00:00:00 2001 From: Alejandro Pedraza Date: Mon, 6 Nov 2023 16:45:18 -0500 Subject: [PATCH 3/4] Changes for stable-2.14.3 ## stable-2.14.3 This stable release fixes an issue in the Destination controller that was forbidding to route traffic to opaque ports on unmeshed pods. Also, it increases the log level from debug to warning when the outbound proxy faces this type of events. * Fixed `GetProfiles` error when address is opaque and unmeshed ([#11556], fixes[#11555]) * Started logging at warning level when the controller clients receive an error ([#2499]) [#11556]: https://github.com/linkerd/linkerd2/pull/11556 [#11555]: https://github.com/linkerd/linkerd2/pull/11555 [#2499]: https://github.com/linkerd/linkerd2-proxy/pull/2499 --- CHANGES.md | 16 ++++++++++++++++ charts/linkerd-control-plane/Chart.yaml | 2 +- charts/linkerd-control-plane/README.md | 2 +- jaeger/charts/linkerd-jaeger/Chart.yaml | 2 +- jaeger/charts/linkerd-jaeger/README.md | 2 +- .../charts/linkerd-multicluster/Chart.yaml | 2 +- .../charts/linkerd-multicluster/README.md | 2 +- viz/charts/linkerd-viz/Chart.yaml | 2 +- viz/charts/linkerd-viz/README.md | 2 +- 9 files changed, 24 insertions(+), 8 deletions(-) diff --git a/CHANGES.md b/CHANGES.md index b4525607905e5..7b7cd6dcc7e34 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -1,5 +1,21 @@ # Changes +## stable-2.14.3 + +This stable release fixes an issue in the Destination controller that was +forbidding to route traffic to opaque ports on unmeshed pods. Also, it increases +the log level from debug to warning when the outbound proxy faces this type of +events. + +* Fixed `GetProfiles` error when address is opaque and unmeshed ([#11556], + fixes[#11555]) +* Started logging at warning level when the controller clients receive an error + ([#2499]) + +[#11556]: https://github.com/linkerd/linkerd2/pull/11556 +[#11555]: https://github.com/linkerd/linkerd2/pull/11555 +[#2499]: https://github.com/linkerd/linkerd2-proxy/pull/2499 + ## stable-2.14.2 This stable release fixes issues in the proxy and Destination controller which diff --git a/charts/linkerd-control-plane/Chart.yaml b/charts/linkerd-control-plane/Chart.yaml index 98ad2f77ca144..8d09651e62d4b 100644 --- a/charts/linkerd-control-plane/Chart.yaml +++ b/charts/linkerd-control-plane/Chart.yaml @@ -16,7 +16,7 @@ dependencies: - name: partials version: 0.1.0 repository: file://../partials -version: 1.16.3 +version: 1.16.4 icon: https://linkerd.io/images/logo-only-200h.png maintainers: - name: Linkerd authors diff --git a/charts/linkerd-control-plane/README.md b/charts/linkerd-control-plane/README.md index 4d3be471564c4..ca27549e34c40 100644 --- a/charts/linkerd-control-plane/README.md +++ b/charts/linkerd-control-plane/README.md @@ -3,7 +3,7 @@ Linkerd gives you observability, reliability, and security for your microservices — with no code change required. -![Version: 1.16.3](https://img.shields.io/badge/Version-1.16.3-informational?style=flat-square) +![Version: 1.16.4](https://img.shields.io/badge/Version-1.16.4-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: edge-XX.X.X](https://img.shields.io/badge/AppVersion-edge--XX.X.X-informational?style=flat-square) diff --git a/jaeger/charts/linkerd-jaeger/Chart.yaml b/jaeger/charts/linkerd-jaeger/Chart.yaml index 4cb63bc3f448b..a418d26cb09b2 100644 --- a/jaeger/charts/linkerd-jaeger/Chart.yaml +++ b/jaeger/charts/linkerd-jaeger/Chart.yaml @@ -11,7 +11,7 @@ kubeVersion: ">=1.21.0-0" name: linkerd-jaeger sources: - https://github.com/linkerd/linkerd2/ -version: 30.12.3 +version: 30.12.4 icon: https://linkerd.io/images/logo-only-200h.png maintainers: - name: Linkerd authors diff --git a/jaeger/charts/linkerd-jaeger/README.md b/jaeger/charts/linkerd-jaeger/README.md index 070012a8722e3..1e673d7f0134c 100644 --- a/jaeger/charts/linkerd-jaeger/README.md +++ b/jaeger/charts/linkerd-jaeger/README.md @@ -3,7 +3,7 @@ The Linkerd-Jaeger extension adds distributed tracing to Linkerd using OpenCensus and Jaeger. -![Version: 30.12.3](https://img.shields.io/badge/Version-30.12.3-informational?style=flat-square) +![Version: 30.12.4](https://img.shields.io/badge/Version-30.12.4-informational?style=flat-square) ![AppVersion: edge-XX.X.X](https://img.shields.io/badge/AppVersion-edge--XX.X.X-informational?style=flat-square) diff --git a/multicluster/charts/linkerd-multicluster/Chart.yaml b/multicluster/charts/linkerd-multicluster/Chart.yaml index 96784cb2bf07d..9d54cf39917a0 100644 --- a/multicluster/charts/linkerd-multicluster/Chart.yaml +++ b/multicluster/charts/linkerd-multicluster/Chart.yaml @@ -11,7 +11,7 @@ kubeVersion: ">=1.21.0-0" name: "linkerd-multicluster" sources: - https://github.com/linkerd/linkerd2/ -version: 30.11.3 +version: 30.11.4 icon: https://linkerd.io/images/logo-only-200h.png maintainers: - name: Linkerd authors diff --git a/multicluster/charts/linkerd-multicluster/README.md b/multicluster/charts/linkerd-multicluster/README.md index 2884bc9a17ef2..4ef7426a4fafa 100644 --- a/multicluster/charts/linkerd-multicluster/README.md +++ b/multicluster/charts/linkerd-multicluster/README.md @@ -3,7 +3,7 @@ The Linkerd-Multicluster extension contains resources to support multicluster linking to remote clusters -![Version: 30.11.3](https://img.shields.io/badge/Version-30.11.3-informational?style=flat-square) +![Version: 30.11.4](https://img.shields.io/badge/Version-30.11.4-informational?style=flat-square) ![AppVersion: edge-XX.X.X](https://img.shields.io/badge/AppVersion-edge--XX.X.X-informational?style=flat-square) diff --git a/viz/charts/linkerd-viz/Chart.yaml b/viz/charts/linkerd-viz/Chart.yaml index 5e2d832394460..6d3333cae5109 100644 --- a/viz/charts/linkerd-viz/Chart.yaml +++ b/viz/charts/linkerd-viz/Chart.yaml @@ -11,7 +11,7 @@ kubeVersion: ">=1.21.0-0" name: "linkerd-viz" sources: - https://github.com/linkerd/linkerd2/ -version: 30.12.3 +version: 30.12.4 icon: https://linkerd.io/images/logo-only-200h.png maintainers: - name: Linkerd authors diff --git a/viz/charts/linkerd-viz/README.md b/viz/charts/linkerd-viz/README.md index 816e921f0e8a8..54e39bdc1aaca 100644 --- a/viz/charts/linkerd-viz/README.md +++ b/viz/charts/linkerd-viz/README.md @@ -3,7 +3,7 @@ The Linkerd-Viz extension contains observability and visualization components for Linkerd. -![Version: 30.12.3](https://img.shields.io/badge/Version-30.12.3-informational?style=flat-square) +![Version: 30.12.4](https://img.shields.io/badge/Version-30.12.4-informational?style=flat-square) ![AppVersion: edge-XX.X.X](https://img.shields.io/badge/AppVersion-edge--XX.X.X-informational?style=flat-square) From 649245955ed120b52beed1e13395da9ffcbae92e Mon Sep 17 00:00:00 2001 From: Alejandro Pedraza Date: Tue, 7 Nov 2023 11:27:35 -0500 Subject: [PATCH 4/4] Be more precise on the component involving each change --- CHANGES.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/CHANGES.md b/CHANGES.md index 7b7cd6dcc7e34..abe4d46e36876 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -7,10 +7,10 @@ forbidding to route traffic to opaque ports on unmeshed pods. Also, it increases the log level from debug to warning when the outbound proxy faces this type of events. -* Fixed `GetProfiles` error when address is opaque and unmeshed ([#11556], - fixes[#11555]) -* Started logging at warning level when the controller clients receive an error - ([#2499]) +* Fixed `GetProfiles` error in the Destination controller when address is opaque + and unmeshed ([#11556], fixes[#11555]) +* Started logging at warning level in the proxy when the controller clients + receive an error ([#2499]) [#11556]: https://github.com/linkerd/linkerd2/pull/11556 [#11555]: https://github.com/linkerd/linkerd2/pull/11555