Merge pull request #6579 from Fodoj/reassociate-fip-on-update
provider/openstack: Reassociate FIP on network changes
This commit is contained in:
commit
f69d95d01f
|
@ -678,12 +678,14 @@ func resourceComputeInstanceV2Update(d *schema.ResourceData, meta interface{}) e
|
||||||
}
|
}
|
||||||
|
|
||||||
// Only changes to the floating IP are supported
|
// 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())
|
log.Printf("[DEBUG] Attempting to disassociate %s from %s", oldFIP, d.Id())
|
||||||
if err := disassociateFloatingIPFromInstance(computeClient, oldFIP, d.Id(), oldFixedIP); err != nil {
|
if err := disassociateFloatingIPFromInstance(computeClient, oldFIP, d.Id(), oldFixedIP); err != nil {
|
||||||
return fmt.Errorf("Error disassociating Floating IP during update: %s", err)
|
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())
|
log.Printf("[DEBUG] Attempting to associate %s to %s", newFIP, d.Id())
|
||||||
if err := associateFloatingIPToInstance(computeClient, newFIP, d.Id(), newFixedIP); err != nil {
|
if err := associateFloatingIPToInstance(computeClient, newFIP, d.Id(), newFixedIP); err != nil {
|
||||||
return fmt.Errorf("Error associating Floating IP during update: %s", err)
|
return fmt.Errorf("Error associating Floating IP during update: %s", err)
|
||||||
|
@ -856,6 +858,7 @@ func resourceInstanceSecGroupsV2(d *schema.ResourceData) []string {
|
||||||
// and aggregates it all together.
|
// and aggregates it all together.
|
||||||
func getInstanceNetworksAndAddresses(computeClient *gophercloud.ServiceClient, d *schema.ResourceData) ([]map[string]interface{}, error) {
|
func getInstanceNetworksAndAddresses(computeClient *gophercloud.ServiceClient, d *schema.ResourceData) ([]map[string]interface{}, error) {
|
||||||
server, err := servers.Get(computeClient, d.Id()).Extract()
|
server, err := servers.Get(computeClient, d.Id()).Extract()
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, CheckDeleted(d, err, "server")
|
return nil, CheckDeleted(d, err, "server")
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue