Skip to content

Commit

Permalink
Merge pull request #6579 from Fodoj/reassociate-fip-on-update
Browse files Browse the repository at this point in the history
provider/openstack: Reassociate FIP on network changes
  • Loading branch information
jtopjian committed May 15, 2016
2 parents 94d27ba + e24550b commit f69d95d
Showing 1 changed file with 4 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -678,12 +678,14 @@ func resourceComputeInstanceV2Update(d *schema.ResourceData, meta interface{}) e
}

// Only changes to the floating IP are supported
if oldFIP != "" && newFIP != "" && oldFIP != newFIP {
if oldFIP != "" && oldFIP != newFIP {
log.Printf("[DEBUG] Attempting to disassociate %s from %s", oldFIP, d.Id())
if err := disassociateFloatingIPFromInstance(computeClient, oldFIP, d.Id(), oldFixedIP); err != nil {
return fmt.Errorf("Error disassociating Floating IP during update: %s", err)
}
}

if newFIP != "" && oldFIP != newFIP {
log.Printf("[DEBUG] Attempting to associate %s to %s", newFIP, d.Id())
if err := associateFloatingIPToInstance(computeClient, newFIP, d.Id(), newFixedIP); err != nil {
return fmt.Errorf("Error associating Floating IP during update: %s", err)
Expand Down Expand Up @@ -856,6 +858,7 @@ func resourceInstanceSecGroupsV2(d *schema.ResourceData) []string {
// and aggregates it all together.
func getInstanceNetworksAndAddresses(computeClient *gophercloud.ServiceClient, d *schema.ResourceData) ([]map[string]interface{}, error) {
server, err := servers.Get(computeClient, d.Id()).Extract()

if err != nil {
return nil, CheckDeleted(d, err, "server")
}
Expand Down

0 comments on commit f69d95d

Please sign in to comment.