// print list of cloud block storage volumes to stdout func Delete(c *cli.Context) { // assign vars from cli args user := c.String("user") key := c.String("key") region := c.String("region") volumeId := c.Args().First() if c.String("uuid") != "" { volumeId = c.String("uuid") } // step 1, set up auth options ao := gophercloud.AuthOptions{ Username: user, APIKey: key, } // step 2, rax auth to get back provider instance provider, err := rackspace.AuthenticatedClient(ao) if err != nil { fmt.Println(err) } // set rax region serviceClient, err2 := rackspace.NewBlockStorageV1(provider, gophercloud.EndpointOpts{ Region: region, }) if err2 != nil { fmt.Println(err2) } err3 := volumes.Delete(serviceClient, volumeId).ExtractErr() if err3 != nil { fmt.Println(err3) } }
func TestAttachVolume(t *testing.T) { choices, err := optionsFromEnv() if err != nil { t.Fatal(err) } computeClient, err := newClient() if err != nil { t.Fatalf("Unable to create a compute client: %v", err) } blockClient, err := newBlockClient(t) if err != nil { t.Fatalf("Unable to create a blockstorage client: %v", err) } server, err := createVAServer(t, computeClient, choices) if err != nil { t.Fatalf("Unable to create server: %v", err) } defer func() { servers.Delete(computeClient, server.ID) t.Logf("Server deleted.") }() if err = osServers.WaitForStatus(computeClient, server.ID, "ACTIVE", 300); err != nil { t.Fatalf("Unable to wait for server: %v", err) } volume, err := createVAVolume(t, blockClient) if err != nil { t.Fatalf("Unable to create volume: %v", err) } defer func() { err = volumes.Delete(blockClient, volume.ID).ExtractErr() th.AssertNoErr(t, err) t.Logf("Volume deleted.") }() createVolumeAttachment(t, computeClient, blockClient, server.ID, volume.ID) }
func testVolumeDelete(t *testing.T, client *gophercloud.ServiceClient, id string) { res := volumes.Delete(client, id) th.AssertNoErr(t, res.Err) t.Logf("Deleted volume %s", id) }