@@ -147,18 +147,31 @@ func TestLoadBalancerCerticateBundlesAndBackendTLSConfigs(t *testing.T) {
147147 t .Parallel ()
148148
149149 record (t , "loadbalancercerticatebundlesandbackendtlsconfigs" , func (ctx context.Context , t * testing.T , rec * recorder.Recorder , svc * Service ) {
150- net , err := createLoadBalancerAndPrivateNetwork (ctx , svc , "fi-hel1" , "10.0.5.0/24" )
150+ net , err := createPrivateNetwork (ctx , svc , "fi-hel1" , "10.0.5.0/24" )
151151 require .NoError (t , err )
152152 feName := "fe-1"
153153 beName := "be-1"
154154 lb , err := svc .CreateLoadBalancer (ctx , & request.CreateLoadBalancerRequest {
155- Name : fmt .Sprintf ("go-api-lb-%s-%d" , "fi-hel1" , time .Now ().Unix ()),
156- Zone : "fi-hel1" ,
157- Plan : "development" ,
158- NetworkUUID : net .UUID ,
155+ Name : fmt .Sprintf ("go-api-lb-%s-%d" , "fi-hel1" , time .Now ().Unix ()),
156+ Zone : "fi-hel1" ,
157+ Plan : "development" ,
158+ Networks : []request.LoadBalancerNetwork {
159+ {
160+ Type : "public" ,
161+ Name : "public" ,
162+ Family : "IPv4" ,
163+ },
164+ {
165+ Type : "private" ,
166+ Name : "private" ,
167+ Family : "IPv4" ,
168+ UUID : net .UUID ,
169+ },
170+ },
159171 ConfiguredStatus : upcloud .LoadBalancerConfiguredStatusStarted ,
160172 Frontends : []request.LoadBalancerFrontend {{
161173 Name : feName ,
174+ Networks : []upcloud.LoadBalancerFrontendNetwork {{Name : "public" }},
162175 Mode : upcloud .LoadBalancerModeHTTP ,
163176 Port : 80 ,
164177 DefaultBackend : beName ,
@@ -615,6 +628,7 @@ func TestLoadBalancerFrontend(t *testing.T) {
615628 ServiceUUID : lb .UUID ,
616629 Frontend : request.LoadBalancerFrontend {
617630 Name : "fe-1" ,
631+ Networks : []upcloud.LoadBalancerFrontendNetwork {{Name : "public" }},
618632 Mode : upcloud .LoadBalancerModeHTTP ,
619633 Port : 443 ,
620634 DefaultBackend : be .Name ,
@@ -679,16 +693,29 @@ func TestLoadBalancerFrontendRule(t *testing.T) {
679693 t .Parallel ()
680694 const zone = "fi-hel2"
681695 record (t , "loadbalancerfrontendrule" , func (ctx context.Context , t * testing.T , rec * recorder.Recorder , svc * Service ) {
682- net , err := createLoadBalancerAndPrivateNetwork (ctx , svc , zone , "10.0.1.0/24" )
696+ net , err := createPrivateNetwork (ctx , svc , zone , "10.0.1.0/24" )
683697 require .NoError (t , err )
684698 lb , err := svc .CreateLoadBalancer (ctx , & request.CreateLoadBalancerRequest {
685- Name : fmt .Sprintf ("go-api-lb-%s-%d" , zone , time .Now ().Unix ()),
686- Zone : zone ,
687- Plan : "development" ,
688- NetworkUUID : net .UUID ,
699+ Name : fmt .Sprintf ("go-api-lb-%s-%d" , zone , time .Now ().Unix ()),
700+ Zone : zone ,
701+ Plan : "development" ,
702+ Networks : []request.LoadBalancerNetwork {
703+ {
704+ Type : "public" ,
705+ Name : "public" ,
706+ Family : "IPv4" ,
707+ },
708+ {
709+ Type : "private" ,
710+ Name : "private" ,
711+ Family : "IPv4" ,
712+ UUID : net .UUID ,
713+ },
714+ },
689715 ConfiguredStatus : upcloud .LoadBalancerConfiguredStatusStarted ,
690716 Frontends : []request.LoadBalancerFrontend {{
691717 Name : "fe-1" ,
718+ Networks : []upcloud.LoadBalancerFrontendNetwork {{Name : "public" }},
692719 Mode : upcloud .LoadBalancerModeHTTP ,
693720 Port : 80 ,
694721 DefaultBackend : "be-1" ,
@@ -832,17 +859,30 @@ func TestLoadBalancerCerticateBundlesAndFrontendTLSConfigs(t *testing.T) {
832859 t .Parallel ()
833860
834861 record (t , "loadbalancercerticatebundlesandfrontendtlsconfigs" , func (ctx context.Context , t * testing.T , rec * recorder.Recorder , svc * Service ) {
835- net , err := createLoadBalancerAndPrivateNetwork (ctx , svc , "fi-hel1" , "10.0.4.0/24" )
862+ net , err := createPrivateNetwork (ctx , svc , "fi-hel1" , "10.0.4.0/24" )
836863 require .NoError (t , err )
837864 feName := "fe-1"
838865 lb , err := svc .CreateLoadBalancer (ctx , & request.CreateLoadBalancerRequest {
839- Name : fmt .Sprintf ("go-api-lb-%s-%d" , "fi-hel1" , time .Now ().Unix ()),
840- Zone : "fi-hel1" ,
841- Plan : "development" ,
842- NetworkUUID : net .UUID ,
866+ Name : fmt .Sprintf ("go-api-lb-%s-%d" , "fi-hel1" , time .Now ().Unix ()),
867+ Zone : "fi-hel1" ,
868+ Plan : "development" ,
869+ Networks : []request.LoadBalancerNetwork {
870+ {
871+ Type : "public" ,
872+ Name : "public" ,
873+ Family : "IPv4" ,
874+ },
875+ {
876+ Type : "private" ,
877+ Name : "private" ,
878+ Family : "IPv4" ,
879+ UUID : net .UUID ,
880+ },
881+ },
843882 ConfiguredStatus : upcloud .LoadBalancerConfiguredStatusStarted ,
844883 Frontends : []request.LoadBalancerFrontend {{
845884 Name : feName ,
885+ Networks : []upcloud.LoadBalancerFrontendNetwork {{Name : "public" }},
846886 Mode : upcloud .LoadBalancerModeHTTP ,
847887 Port : 80 ,
848888 DefaultBackend : "be-1" ,
@@ -1036,7 +1076,7 @@ func TestLoadBalancerPage(t *testing.T) {
10361076 // do not run this test in parallel because it alters request.DefaultPage config which might cause unexpected results
10371077 const zone = "fi-hel2"
10381078 record (t , "loadbalancerpage" , func (ctx context.Context , t * testing.T , rec * recorder.Recorder , svc * Service ) {
1039- net , err := createLoadBalancerAndPrivateNetwork (ctx , svc , zone , "172.16.0.0/24" )
1079+ net , err := createPrivateNetwork (ctx , svc , zone , "172.16.0.0/24" )
10401080 require .NoError (t , err )
10411081 lbs := make ([]* upcloud.LoadBalancer , 0 )
10421082 for i := 0 ; i < 5 ; i ++ {
@@ -1341,10 +1381,22 @@ func cleanupLoadBalancer(ctx context.Context, rec *recorder.Recorder, svc *Servi
13411381
13421382func createLoadBalancer (ctx context.Context , svc * Service , networkUUID , zone string , label ... upcloud.Label ) (* upcloud.LoadBalancer , error ) {
13431383 createLoadBalancerRequest := request.CreateLoadBalancerRequest {
1344- Name : fmt .Sprintf ("go-api-lb-%s-%d" , zone , time .Now ().Unix ()),
1345- Zone : zone ,
1346- Plan : "development" ,
1347- NetworkUUID : networkUUID ,
1384+ Name : fmt .Sprintf ("go-api-lb-%s-%d" , zone , time .Now ().Unix ()),
1385+ Zone : zone ,
1386+ Plan : "development" ,
1387+ Networks : []request.LoadBalancerNetwork {
1388+ {
1389+ Type : "public" ,
1390+ Name : "public" ,
1391+ Family : "IPv4" ,
1392+ },
1393+ {
1394+ Type : "private" ,
1395+ Name : "private" ,
1396+ Family : "IPv4" ,
1397+ UUID : networkUUID ,
1398+ },
1399+ },
13481400 ConfiguredStatus : "started" ,
13491401 Frontends : []request.LoadBalancerFrontend {},
13501402 Backends : []request.LoadBalancerBackend {},
@@ -1364,14 +1416,14 @@ func createLoadBalancer(ctx context.Context, svc *Service, networkUUID, zone str
13641416}
13651417
13661418func createLoadBalancerAndNetwork (ctx context.Context , svc * Service , zone , addr string , label ... upcloud.Label ) (* upcloud.LoadBalancer , error ) {
1367- n , err := createLoadBalancerAndPrivateNetwork (ctx , svc , zone , addr )
1419+ n , err := createPrivateNetwork (ctx , svc , zone , addr )
13681420 if err != nil {
13691421 return nil , err
13701422 }
13711423 return createLoadBalancer (ctx , svc , n .UUID , zone , label ... )
13721424}
13731425
1374- func createLoadBalancerAndPrivateNetwork (ctx context.Context , svc * Service , zone , addr string ) (* upcloud.Network , error ) {
1426+ func createPrivateNetwork (ctx context.Context , svc * Service , zone , addr string ) (* upcloud.Network , error ) {
13751427 return svc .CreateNetwork (ctx , & request.CreateNetworkRequest {
13761428 Name : fmt .Sprintf ("go-api-lb-%d" , time .Now ().Unix ()),
13771429 Zone : zone ,
@@ -1429,14 +1481,9 @@ func deleteLoadBalancer(ctx context.Context, svc *Service, lb *upcloud.LoadBalan
14291481 }
14301482
14311483 var errs []error
1432- if lb .NetworkUUID != "" {
1433- if err := svc .DeleteNetwork (ctx , & request.DeleteNetworkRequest {UUID : lb .NetworkUUID }); err != nil {
1434- errs = append (errs , err )
1435- }
1436- }
14371484 if len (lb .Networks ) > 0 {
14381485 for _ , n := range lb .Networks {
1439- if n .Type == upcloud .LoadBalancerNetworkTypePrivate && n .UUID != "" && lb . NetworkUUID != n . UUID {
1486+ if n .Type == upcloud .LoadBalancerNetworkTypePrivate && n .UUID != "" {
14401487 if err := svc .DeleteNetwork (ctx , & request.DeleteNetworkRequest {UUID : n .UUID }); err != nil {
14411488 errs = append (errs , err )
14421489 }
0 commit comments