func TestAttachExistingVolume(t *testing.T) { if testing.Short() { t.Skip("Skipping test that requires server creation in short mode.") } computeClient, err := clients.NewComputeV2Client() if err != nil { t.Fatalf("Unable to create a compute client: %v", err) } blockStorageClient, err := clients.NewBlockStorageV2Client() if err != nil { t.Fatalf("Unable to create a block storage client: %v", err) } choices, err := clients.AcceptanceTestChoicesFromEnv() if err != nil { t.Fatal(err) } volume, err := blockstorage.CreateVolume(t, blockStorageClient) if err != nil { t.Fatal(err) } blockDevices := []bootfromvolume.BlockDevice{ bootfromvolume.BlockDevice{ BootIndex: 0, DeleteOnTermination: true, DestinationType: bootfromvolume.DestinationLocal, SourceType: bootfromvolume.SourceImage, UUID: choices.ImageID, }, bootfromvolume.BlockDevice{ BootIndex: 1, DeleteOnTermination: true, DestinationType: bootfromvolume.DestinationVolume, SourceType: bootfromvolume.SourceVolume, UUID: volume.ID, }, } server, err := CreateBootableVolumeServer(t, computeClient, blockDevices, choices) if err != nil { t.Fatalf("Unable to create server: %v", err) } defer DeleteServer(t, computeClient, server) PrintServer(t, server) }
func TestVolumeActionsReserveUnreserve(t *testing.T) { client, err := clients.NewBlockStorageV2Client() if err != nil { t.Fatalf("Unable to create blockstorage client: %v", err) } volume, err := blockstorage.CreateVolume(t, client) if err != nil { t.Fatalf("Unable to create volume: %v", err) } defer blockstorage.DeleteVolume(t, client, volume) err = CreateVolumeReserve(t, client, volume) if err != nil { t.Fatalf("Unable to create volume reserve: %v", err) } defer DeleteVolumeReserve(t, client, volume) }
func TestVolumesCreateDestroy(t *testing.T) { client, err := clients.NewBlockStorageV2Client() if err != nil { t.Fatalf("Unable to create blockstorage client: %v", err) } volume, err := CreateVolume(t, client) if err != nil { t.Fatalf("Unable to create volume: %v", err) } defer DeleteVolume(t, client, volume) newVolume, err := volumes.Get(client, volume.ID).Extract() if err != nil { t.Errorf("Unable to retrieve volume: %v", err) } PrintVolume(t, newVolume) }
func TestVolumesList(t *testing.T) { client, err := clients.NewBlockStorageV2Client() if err != nil { t.Fatalf("Unable to create a blockstorage client: %v", err) } allPages, err := volumes.List(client, volumes.ListOpts{}).AllPages() if err != nil { t.Fatalf("Unable to retrieve volumes: %v", err) } allVolumes, err := volumes.ExtractVolumes(allPages) if err != nil { t.Fatalf("Unable to extract volumes: %v", err) } for _, volume := range allVolumes { PrintVolume(t, &volume) } }
func TestVolumeActionsAttachCreateDestroy(t *testing.T) { blockClient, err := clients.NewBlockStorageV2Client() if err != nil { t.Fatalf("Unable to create a blockstorage client: %v", err) } computeClient, err := clients.NewComputeV2Client() if err != nil { t.Fatalf("Unable to create a compute client: %v", err) } choices, err := clients.AcceptanceTestChoicesFromEnv() if err != nil { t.Fatal(err) } server, err := compute.CreateServer(t, computeClient, choices) if err != nil { t.Fatalf("Unable to create server: %v", err) } defer compute.DeleteServer(t, computeClient, server) volume, err := blockstorage.CreateVolume(t, blockClient) if err != nil { t.Fatalf("Unable to create volume: %v", err) } defer blockstorage.DeleteVolume(t, blockClient, volume) err = CreateVolumeAttach(t, blockClient, volume, server) if err != nil { t.Fatalf("Unable to attach volume: %v", err) } newVolume, err := volumes.Get(blockClient, volume.ID).Extract() if err != nil { t.Fatal("Unable to get updated volume information: %v", err) } DeleteVolumeAttach(t, blockClient, newVolume) }