From 1256231f2f24616a8ff76924ef52ebb557fd0db1 Mon Sep 17 00:00:00 2001 From: Qi Ni Date: Sun, 26 Sep 2021 14:27:01 +0800 Subject: [PATCH] fix: leave the probe path empty for TCP probes --- .../legacy-cloud-providers/azure/azure_loadbalancer.go | 4 +++- .../azure/azure_loadbalancer_test.go | 9 +++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/staging/src/k8s.io/legacy-cloud-providers/azure/azure_loadbalancer.go b/staging/src/k8s.io/legacy-cloud-providers/azure/azure_loadbalancer.go index 749b4cc463f..9bf8ba01a6f 100644 --- a/staging/src/k8s.io/legacy-cloud-providers/azure/azure_loadbalancer.go +++ b/staging/src/k8s.io/legacy-cloud-providers/azure/azure_loadbalancer.go @@ -1645,7 +1645,9 @@ func (az *Cloud) reconcileLoadBalancerRule( if probeProtocol == "" { probeProtocol = string(network.ProbeProtocolHTTP) } - if requestPath == "" { + + needRequestPath := strings.EqualFold(probeProtocol, string(network.ProbeProtocolHTTP)) || strings.EqualFold(probeProtocol, string(network.ProbeProtocolHTTPS)) + if requestPath == "" && needRequestPath { requestPath = podPresencePath } diff --git a/staging/src/k8s.io/legacy-cloud-providers/azure/azure_loadbalancer_test.go b/staging/src/k8s.io/legacy-cloud-providers/azure/azure_loadbalancer_test.go index 2e67909ddf1..e6638c36c15 100644 --- a/staging/src/k8s.io/legacy-cloud-providers/azure/azure_loadbalancer_test.go +++ b/staging/src/k8s.io/legacy-cloud-providers/azure/azure_loadbalancer_test.go @@ -1724,6 +1724,15 @@ func TestReconcileLoadBalancerRule(t *testing.T) { expectedProbes: getDefaultTestProbes("Tcp", ""), expectedRules: getHATestRules(true), }, + { + desc: "reconcileLoadBalancerRule shall leave probe path empty when using TCP probe", + service: getTestService("test1", v1.ProtocolTCP, nil, false, 80), + loadBalancerSku: "standard", + wantLb: true, + probeProtocol: "Tcp", + expectedProbes: getDefaultTestProbes("Tcp", ""), + expectedRules: getDefaultTestRules(true), + }, } for i, test := range testCases { az := GetTestCloud(ctrl)