Skip to content
This repository was archived by the owner on Aug 1, 2023. It is now read-only.

Commit 99c3580

Browse files
committed
Add acceptance test for volume reserve/unreserve
1 parent f6eac83 commit 99c3580

File tree

1 file changed

+39
-2
lines changed

1 file changed

+39
-2
lines changed

acceptance/openstack/blockstorage/v2/extensions/volumeactions_test.go

Lines changed: 39 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ func newClient(t *testing.T) (*gophercloud.ServiceClient, error) {
2525
})
2626
}
2727

28-
func TestVolumeActions(t *testing.T) {
28+
func TestVolumeAttach(t *testing.T) {
2929
client, err := newClient(t)
3030
th.AssertNoErr(t, err)
3131

@@ -44,10 +44,15 @@ func TestVolumeActions(t *testing.T) {
4444
err = volumes.WaitForStatus(client, cv.ID, "available", 60)
4545
th.AssertNoErr(t, err)
4646

47+
instanceID := os.Getenv("OS_INSTANCE_ID")
48+
if instanceID == "" {
49+
t.Fatal("Environment variable OS_INSTANCE_ID is required")
50+
}
51+
4752
_, err = volumeactions.Attach(client, cv.ID, &volumeactions.AttachOpts{
4853
MountPoint: "/mnt",
4954
Mode: "rw",
50-
InstanceUUID: "50902f4f-a974-46a0-85e9-7efc5e22dfdd",
55+
InstanceUUID: instanceID,
5156
}).Extract()
5257
th.AssertNoErr(t, err)
5358

@@ -57,3 +62,35 @@ func TestVolumeActions(t *testing.T) {
5762
_, err = volumeactions.Detach(client, cv.ID).Extract()
5863
th.AssertNoErr(t, err)
5964
}
65+
66+
func TestVolumeReserve(t *testing.T) {
67+
client, err := newClient(t)
68+
th.AssertNoErr(t, err)
69+
70+
cv, err := volumes.Create(client, &volumes.CreateOpts{
71+
Size: 1,
72+
Name: "blockv2-volume",
73+
}).Extract()
74+
th.AssertNoErr(t, err)
75+
defer func() {
76+
err = volumes.WaitForStatus(client, cv.ID, "available", 60)
77+
th.AssertNoErr(t, err)
78+
err = volumes.Delete(client, cv.ID).ExtractErr()
79+
th.AssertNoErr(t, err)
80+
}()
81+
82+
err = volumes.WaitForStatus(client, cv.ID, "available", 60)
83+
th.AssertNoErr(t, err)
84+
85+
_, err = volumeactions.Reserve(client, cv.ID).Extract()
86+
th.AssertNoErr(t, err)
87+
88+
err = volumes.WaitForStatus(client, cv.ID, "attaching", 60)
89+
th.AssertNoErr(t, err)
90+
91+
_, err = volumeactions.Unreserve(client, cv.ID).Extract()
92+
th.AssertNoErr(t, err)
93+
94+
err = volumes.WaitForStatus(client, cv.ID, "available", 60)
95+
th.AssertNoErr(t, err)
96+
}

0 commit comments

Comments
 (0)