Skip to content

Commit 06527df

Browse files
committed
Add support for IPMode
Closes digitalocean#756
1 parent d274be6 commit 06527df

File tree

2 files changed

+26
-6
lines changed

2 files changed

+26
-6
lines changed

cloud-controller-manager/do/loadbalancers.go

+14-1
Original file line numberDiff line numberDiff line change
@@ -149,6 +149,7 @@ func (l *loadBalancers) GetLoadBalancer(ctx context.Context, clusterName string,
149149
Ingress: []v1.LoadBalancerIngress{
150150
{
151151
IP: lb.IP,
152+
// TODO: Should this include IPMode?
152153
},
153154
},
154155
}, true, nil
@@ -244,10 +245,22 @@ func (l *loadBalancers) EnsureLoadBalancer(ctx context.Context, clusterName stri
244245
}, nil
245246
}
246247

248+
ipMode := v1.LoadBalancerIPModeVIP
249+
250+
enableProxyProtocol, err := getEnableProxyProtocol(service)
251+
if err != nil {
252+
return nil, err
253+
}
254+
255+
if enableProxyProtocol {
256+
ipMode = v1.LoadBalancerIPModeProxy
257+
}
258+
247259
return &v1.LoadBalancerStatus{
248260
Ingress: []v1.LoadBalancerIngress{
249261
{
250-
IP: lb.IP,
262+
IP: lb.IP,
263+
IPMode: &ipMode,
251264
},
252265
},
253266
}, nil

cloud-controller-manager/do/loadbalancers_test.go

+12-5
Original file line numberDiff line numberDiff line change
@@ -5239,6 +5239,8 @@ func Test_GetLoadBalancer(t *testing.T) {
52395239
}
52405240

52415241
func Test_EnsureLoadBalancer(t *testing.T) {
5242+
ipModeVIP := v1.LoadBalancerIPModeVIP
5243+
52425244
testcases := []struct {
52435245
name string
52445246
droplets []godo.Droplet
@@ -5319,7 +5321,8 @@ func Test_EnsureLoadBalancer(t *testing.T) {
53195321
lbStatus: &v1.LoadBalancerStatus{
53205322
Ingress: []v1.LoadBalancerIngress{
53215323
{
5322-
IP: "10.0.0.1",
5324+
IP: "10.0.0.1",
5325+
IPMode: &ipModeVIP,
53235326
},
53245327
},
53255328
},
@@ -5393,7 +5396,8 @@ func Test_EnsureLoadBalancer(t *testing.T) {
53935396
lbStatus: &v1.LoadBalancerStatus{
53945397
Ingress: []v1.LoadBalancerIngress{
53955398
{
5396-
IP: "10.0.0.1",
5399+
IP: "10.0.0.1",
5400+
IPMode: &ipModeVIP,
53975401
},
53985402
},
53995403
},
@@ -5466,7 +5470,8 @@ func Test_EnsureLoadBalancer(t *testing.T) {
54665470
lbStatus: &v1.LoadBalancerStatus{
54675471
Ingress: []v1.LoadBalancerIngress{
54685472
{
5469-
IP: "10.0.0.1",
5473+
IP: "10.0.0.1",
5474+
IPMode: &ipModeVIP,
54705475
},
54715476
},
54725477
},
@@ -5543,7 +5548,8 @@ func Test_EnsureLoadBalancer(t *testing.T) {
55435548
lbStatus: &v1.LoadBalancerStatus{
55445549
Ingress: []v1.LoadBalancerIngress{
55455550
{
5546-
IP: "10.0.0.1",
5551+
IP: "10.0.0.1",
5552+
IPMode: &ipModeVIP,
55475553
},
55485554
},
55495555
},
@@ -5640,7 +5646,8 @@ func Test_EnsureLoadBalancer(t *testing.T) {
56405646
lbStatus: &v1.LoadBalancerStatus{
56415647
Ingress: []v1.LoadBalancerIngress{
56425648
{
5643-
IP: "10.0.0.1",
5649+
IP: "10.0.0.1",
5650+
IPMode: nil,
56445651
},
56455652
},
56465653
},

0 commit comments

Comments
 (0)