From 1fce3ed9fd99ec32385ed5dcd13465be191eabdb Mon Sep 17 00:00:00 2001 From: Joe Topjian Date: Sun, 16 Oct 2016 02:02:12 +0000 Subject: [PATCH] provider/openstack: gophercloud migration: Fixing persistence update in lbaasv1 --- .../providers/openstack/resource_openstack_lb_vip_v1.go | 7 +++---- .../openstack/resource_openstack_lb_vip_v1_test.go | 2 +- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/builtin/providers/openstack/resource_openstack_lb_vip_v1.go b/builtin/providers/openstack/resource_openstack_lb_vip_v1.go index ad88fadc09..06fda190de 100644 --- a/builtin/providers/openstack/resource_openstack_lb_vip_v1.go +++ b/builtin/providers/openstack/resource_openstack_lb_vip_v1.go @@ -221,10 +221,6 @@ func resourceLBVipV1Update(d *schema.ResourceData, meta interface{}) error { updateOpts.Description = &v } - if d.HasChange("persistence") { - updateOpts.Persistence = resourceVipPersistenceV1(d) - } - if d.HasChange("conn_limit") { updateOpts.ConnLimit = gophercloud.MaybeInt(d.Get("conn_limit").(int)) } @@ -268,6 +264,9 @@ func resourceLBVipV1Update(d *schema.ResourceData, meta interface{}) error { updateOpts.AdminStateUp = &asu } + // Persistence has to be included, even if it hasn't changed. + updateOpts.Persistence = resourceVipPersistenceV1(d) + log.Printf("[DEBUG] Updating OpenStack LB VIP %s with options: %+v", d.Id(), updateOpts) _, err = vips.Update(networkingClient, d.Id(), updateOpts).Extract() diff --git a/builtin/providers/openstack/resource_openstack_lb_vip_v1_test.go b/builtin/providers/openstack/resource_openstack_lb_vip_v1_test.go index 79124a0a5c..46723dbfed 100644 --- a/builtin/providers/openstack/resource_openstack_lb_vip_v1_test.go +++ b/builtin/providers/openstack/resource_openstack_lb_vip_v1_test.go @@ -152,9 +152,9 @@ var testAccLBV1VIP_update = fmt.Sprintf(` protocol = "HTTP" port = 80 pool_id = "${openstack_lb_pool_v1.pool_1.id}" + admin_state_up = true persistence { type = "SOURCE_IP" } - admin_state_up = true }`, OS_REGION_NAME, OS_REGION_NAME, OS_REGION_NAME)