Skip to content

Commit 966fd27

Browse files
author
Ludovic Lamarche
committed
loadbalancer additional_vips acceptance tests
1 parent 6015dd0 commit 966fd27

2 files changed

Lines changed: 21 additions & 9 deletions

File tree

acceptance/openstack/loadbalancer/v2/loadbalancer.go

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -110,17 +110,18 @@ func CreateListenerHTTP(t *testing.T, client *gophercloud.ServiceClient, lb *loa
110110

111111
// CreateLoadBalancer will create a load balancer with a random name on a given
112112
// subnet. An error will be returned if the loadbalancer could not be created.
113-
func CreateLoadBalancer(t *testing.T, client *gophercloud.ServiceClient, subnetID string, tags []string, policyID string) (*loadbalancers.LoadBalancer, error) {
113+
func CreateLoadBalancer(t *testing.T, client *gophercloud.ServiceClient, subnetID string, tags []string, policyID string, additionalVips []loadbalancers.AdditionalVip) (*loadbalancers.LoadBalancer, error) {
114114
lbName := tools.RandomString("TESTACCT-", 8)
115115
lbDescription := tools.RandomString("TESTACCT-DESC-", 8)
116116

117117
t.Logf("Attempting to create loadbalancer %s on subnet %s", lbName, subnetID)
118118

119119
createOpts := loadbalancers.CreateOpts{
120-
Name: lbName,
121-
Description: lbDescription,
122-
VipSubnetID: subnetID,
123-
AdminStateUp: gophercloud.Enabled,
120+
Name: lbName,
121+
Description: lbDescription,
122+
VipSubnetID: subnetID,
123+
AdminStateUp: gophercloud.Enabled,
124+
AdditionalVips: additionalVips,
124125
}
125126
if len(tags) > 0 {
126127
createOpts.Tags = tags

acceptance/openstack/loadbalancer/v2/loadbalancers_test.go

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ func TestLoadbalancersListByTags(t *testing.T) {
5151
// Add "test" tag intentionally to test the "not-tags" parameter. Because "test" tag is also used in other test
5252
// cases, we use "test" tag to exclude load balancers created by other test case.
5353
tags := []string{"tag1", "tag2", "test"}
54-
lb, err := CreateLoadBalancer(t, lbClient, subnet.ID, tags, "")
54+
lb, err := CreateLoadBalancer(t, lbClient, subnet.ID, tags, "", nil)
5555
th.AssertNoErr(t, err)
5656
defer DeleteLoadBalancer(t, lbClient, lb.ID)
5757

@@ -111,7 +111,7 @@ func TestLoadbalancerHTTPCRUD(t *testing.T) {
111111
th.AssertNoErr(t, err)
112112
defer networking.DeleteSubnet(t, netClient, subnet.ID)
113113

114-
lb, err := CreateLoadBalancer(t, lbClient, subnet.ID, nil, "")
114+
lb, err := CreateLoadBalancer(t, lbClient, subnet.ID, nil, "", nil)
115115
th.AssertNoErr(t, err)
116116
defer DeleteLoadBalancer(t, lbClient, lb.ID)
117117

@@ -257,14 +257,25 @@ func TestLoadbalancersCRUD(t *testing.T) {
257257
th.AssertNoErr(t, err)
258258
defer networking.DeleteSubnet(t, netClient, subnet.ID)
259259

260+
additionalSubnet, err := networking.CreateSubnet(t, netClient, network.ID)
261+
th.AssertNoErr(t, err)
262+
defer networking.DeleteSubnet(t, netClient, additionalSubnet.ID)
263+
264+
additionalSubnetPort, err := networking.CreatePort(t, netClient, network.ID, additionalSubnet.ID)
265+
th.AssertNoErr(t, err)
266+
defer networking.DeletePort(t, netClient, additionalSubnetPort.ID)
267+
260268
policy1, err := policies.CreateQoSPolicy(t, netClient)
261269
th.AssertNoErr(t, err)
262270
defer policies.DeleteQoSPolicy(t, netClient, policy1.ID)
263271

264272
tags := []string{"test"}
265-
lb, err := CreateLoadBalancer(t, lbClient, subnet.ID, tags, policy1.ID)
273+
lb, err := CreateLoadBalancer(t, lbClient, subnet.ID, tags, policy1.ID, []loadbalancers.AdditionalVip{{SubnetID: additionalSubnet.ID, IPAddress: additionalSubnetPort.FixedIPs[0].IPAddress}})
266274
th.AssertNoErr(t, err)
267275
th.AssertEquals(t, lb.VipQosPolicyID, policy1.ID)
276+
th.AssertEquals(t, 1, len(lb.AdditionalVips))
277+
th.AssertEquals(t, additionalSubnetPort.FixedIPs[0].IPAddress, lb.AdditionalVips[0].IPAddress)
278+
th.AssertEquals(t, additionalSubnetPort.FixedIPs[0].SubnetID, lb.AdditionalVips[0].SubnetID)
268279
defer DeleteLoadBalancer(t, lbClient, lb.ID)
269280

270281
lbDescription := ""
@@ -463,7 +474,7 @@ func TestLoadbalancersCascadeCRUD(t *testing.T) {
463474
defer networking.DeleteSubnet(t, netClient, subnet.ID)
464475

465476
tags := []string{"test"}
466-
lb, err := CreateLoadBalancer(t, lbClient, subnet.ID, tags, "")
477+
lb, err := CreateLoadBalancer(t, lbClient, subnet.ID, tags, "", nil)
467478
th.AssertNoErr(t, err)
468479
defer CascadeDeleteLoadBalancer(t, lbClient, lb.ID)
469480

0 commit comments

Comments
 (0)