Skip to content

Commit 06fc079

Browse files
mikejihbecodycushing
authored andcommitted
Add in a slightly hacky fix to handle updating backendsets, remove name from backends to correspond to updated API
1 parent c7e2af5 commit 06fc079

9 files changed

+14
-17
lines changed

data_source_obmcs_load_balancer_backends_test.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,8 @@ data "baremetal_load_balancer_backends" "t" {
3131
backendsetName := "stub_backendset_name"
3232
list := &baremetal.ListBackends{
3333
Backends: []baremetal.Backend{
34-
{Name: "stub_name1"},
35-
{Name: "stub_name2"},
34+
{IPAddress: "123.123.123.123"},
35+
{IPAddress: "122.122.122.122"},
3636
},
3737
}
3838
client.On(
@@ -50,8 +50,8 @@ data "baremetal_load_balancer_backends" "t" {
5050
Check: resource.ComposeAggregateTestCheckFunc(
5151
resource.TestCheckResourceAttr(resourceName, "load_balancer_id", loadbalancerID),
5252
resource.TestCheckResourceAttr(resourceName, "backends.#", "2"),
53-
resource.TestCheckResourceAttr(resourceName, "backends.0.name", "stub_name1"),
54-
resource.TestCheckResourceAttr(resourceName, "backends.1.name", "stub_name2"),
53+
resource.TestCheckResourceAttr(resourceName, "backends.0.name", "123.123.123.123"),
54+
resource.TestCheckResourceAttr(resourceName, "backends.1.name", "122.122.122.122"),
5555
),
5656
},
5757
},

data_source_obmcs_loadbalancer_backend.go

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,6 @@ func (s *BackendDatasourceCrud) SetData() {
5959
resources := []map[string]interface{}{}
6060
for _, v := range s.Res.Backends {
6161
res := map[string]interface{}{
62-
"name": v.Name,
6362
"ip_address": v.IPAddress,
6463
"port": v.Port,
6564
"backup": v.Backup,

data_source_obmcs_loadbalancer_backendset.go

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,6 @@ func (s *BackendSetDatasourceCrud) SetData() {
8181
backends := []map[string]interface{}{}
8282
for _, backend := range v.Backends {
8383
res := map[string]interface{}{
84-
"name": backend.Name,
8584
"ip_address": backend.IPAddress,
8685
"port": backend.Port,
8786
"backup": backend.Backup,

resource_obmcs_loadbalancer_backend.go

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -30,10 +30,6 @@ func LoadBalancerBackendResource() *schema.Resource {
3030
Required: true,
3131
ForceNew: true,
3232
},
33-
"name": {
34-
Type: schema.TypeString,
35-
Computed: true,
36-
},
3733
"ip_address": {
3834
Type: schema.TypeString,
3935
Required: true,

resource_obmcs_loadbalancer_backend_set.go

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -163,6 +163,13 @@ func (s *LoadBalancerBackendSetResourceCrud) Update() (e error) {
163163
opts.SSLConfig = s.sslConfig()
164164
opts.Policy = s.D.Get("policy").(string)
165165

166+
// This is hacky and a race condition, but works for now. Ideally backends are not a required parameter to a backendset update
167+
bes, err := s.Client.GetBackendSet(s.D.Get("load_balancer_id").(string), s.D.Id(), nil)
168+
if err != nil {
169+
return err
170+
}
171+
opts.Backends = bes.Backends
172+
166173
var workReqID string
167174
workReqID, e = s.Client.UpdateBackendSet(s.D.Get("load_balancer_id").(string), s.D.Id(), opts)
168175
if e != nil {
@@ -209,7 +216,6 @@ func (s *LoadBalancerBackendSetResourceCrud) SetData() {
209216
"backup": v.Backup,
210217
"drain": v.Drain,
211218
"ip_address": v.IPAddress,
212-
"name": v.Name,
213219
"offline": v.Offline,
214220
"port": v.Port,
215221
"weight": v.Weight,
@@ -266,7 +272,6 @@ func (s *LoadBalancerBackendSetResourceCrud) backends() []baremetal.Backend {
266272
Backup: v["backup"].(bool),
267273
Drain: v["drain"].(bool),
268274
IPAddress: v["ip_address"].(string),
269-
Name: v["name"].(string),
270275
Offline: v["offline"].(bool),
271276
Port: v["port"].(int),
272277
Weight: v["weight"].(int),

resource_obmcs_loadbalancer_listener.go

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -223,7 +223,6 @@ func (s *LoadBalancerListenerResourceCrud) SetData() {
223223
s.D.Set("default_backend_set_name", s.Resource.DefaultBackendSetName)
224224
s.D.Set("port", s.Resource.Port)
225225
s.D.Set("protocol", s.Resource.Protocol)
226-
// TODO: verify testing
227226
s.D.Set("ssl_configuration", s.Resource.SSLConfig)
228227
}
229228

resource_obmcs_loadbalancer_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ package main
44

55
import (
66
"testing"
7-
//"regexp"
7+
"regexp"
88

99
"github.com/hashicorp/terraform/helper/resource"
1010
"github.com/hashicorp/terraform/helper/schema"
@@ -322,7 +322,7 @@ resource "baremetal_load_balancer_backend" "f" {
322322
resource.TestCheckResourceAttr("baremetal_load_balancer_backend.f", "backup", "true"),
323323
resource.TestCheckResourceAttr("baremetal_load_balancer_backendset.t", "ssl_configuration.0.certificate_name", "stub_certificate_name"),
324324
),
325-
//ExpectError: regexp.
325+
ExpectError: regexp.MustCompile("state FAILED"),
326326
},
327327
},
328328
})

vendor/github.com/MustWin/baremetal-sdk-go/loadbalancer_backend.go

Lines changed: 0 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

vendor/github.com/MustWin/baremetal-sdk-go/loadbalancer_backendset.go

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)