func resourceComputeFloatingIPV2Delete(d *schema.ResourceData, meta interface{}) error { config := meta.(*Config) computeClient, err := config.computeV2Client(d.Get("region").(string)) if err != nil { return fmt.Errorf("Error creating OpenStack compute client: %s", err) } log.Printf("[DEBUG] Deleting Floating IP %s", d.Id()) if err := floatingip.Delete(computeClient, d.Id()).ExtractErr(); err != nil { return fmt.Errorf("Error deleting Floating IP: %s", err) } return nil }
func TestFloatingIP(t *testing.T) { pool := os.Getenv("OS_POOL_NAME") if pool == "" { t.Fatalf("OS_POOL_NAME must be set") } choices, err := ComputeChoicesFromEnv() if err != nil { t.Fatal(err) } client, err := newClient() if err != nil { t.Fatalf("Unable to create a compute client: %v", err) } server, err := createFIPServer(t, client, choices) if err != nil { t.Fatalf("Unable to create server: %v", err) } defer func() { servers.Delete(client, server.ID) t.Logf("Server deleted.") }() if err = waitForStatus(client, server, "ACTIVE"); err != nil { t.Fatalf("Unable to wait for server: %v", err) } fip, err := createFloatingIP(t, client) if err != nil { t.Fatalf("Unable to create floating IP: %v", err) } defer func() { err = floatingip.Delete(client, fip.ID).ExtractErr() th.AssertNoErr(t, err) t.Logf("Floating IP deleted.") }() associateFloatingIPDeprecated(t, client, server.ID, fip) associateFloatingIP(t, client, server.ID, fip) associateFloatingIPFixed(t, client, server.ID, fip) }
func (s *StepAllocateIp) Cleanup(state multistep.StateBag) { config := state.Get("config").(Config) ui := state.Get("ui").(packer.Ui) instanceIp := state.Get("access_ip").(*floatingip.FloatingIP) // We need the v2 compute client client, err := config.computeV2Client() if err != nil { ui.Error(fmt.Sprintf( "Error deleting temporary floating IP %s", instanceIp.IP)) return } if s.FloatingIpPool != "" && instanceIp.ID != "" { if err := floatingip.Delete(client, instanceIp.ID).ExtractErr(); err != nil { ui.Error(fmt.Sprintf( "Error deleting temporary floating IP %s", instanceIp.IP)) return } ui.Say(fmt.Sprintf("Deleted temporary floating IP %s", instanceIp.IP)) } }