diff --git a/acceptance/openstack/blockstorage/v2/extensions/volumeactions_test.go b/acceptance/openstack/blockstorage/v2/extensions/volumeactions_test.go
index 02b51a4..ccd9422 100644
--- a/acceptance/openstack/blockstorage/v2/extensions/volumeactions_test.go
+++ b/acceptance/openstack/blockstorage/v2/extensions/volumeactions_test.go
@@ -25,7 +25,7 @@
 	})
 }
 
-func TestVolumeActions(t *testing.T) {
+func TestVolumeAttach(t *testing.T) {
 	client, err := newClient(t)
 	th.AssertNoErr(t, err)
 
@@ -44,10 +44,15 @@
 	err = volumes.WaitForStatus(client, cv.ID, "available", 60)
 	th.AssertNoErr(t, err)
 
+	instanceID := os.Getenv("OS_INSTANCE_ID")
+	if instanceID == "" {
+		t.Fatal("Environment variable OS_INSTANCE_ID is required")
+	}
+
 	_, err = volumeactions.Attach(client, cv.ID, &volumeactions.AttachOpts{
 		MountPoint:   "/mnt",
 		Mode:         "rw",
-		InstanceUUID: "50902f4f-a974-46a0-85e9-7efc5e22dfdd",
+		InstanceUUID: instanceID,
 	}).Extract()
 	th.AssertNoErr(t, err)
 
@@ -57,3 +62,35 @@
 	_, err = volumeactions.Detach(client, cv.ID).Extract()
 	th.AssertNoErr(t, err)
 }
+
+func TestVolumeReserve(t *testing.T) {
+	client, err := newClient(t)
+	th.AssertNoErr(t, err)
+
+	cv, err := volumes.Create(client, &volumes.CreateOpts{
+		Size: 1,
+		Name: "blockv2-volume",
+	}).Extract()
+	th.AssertNoErr(t, err)
+	defer func() {
+		err = volumes.WaitForStatus(client, cv.ID, "available", 60)
+		th.AssertNoErr(t, err)
+		err = volumes.Delete(client, cv.ID).ExtractErr()
+		th.AssertNoErr(t, err)
+	}()
+
+	err = volumes.WaitForStatus(client, cv.ID, "available", 60)
+	th.AssertNoErr(t, err)
+
+	_, err = volumeactions.Reserve(client, cv.ID).Extract()
+	th.AssertNoErr(t, err)
+
+	err = volumes.WaitForStatus(client, cv.ID, "attaching", 60)
+	th.AssertNoErr(t, err)
+
+	_, err = volumeactions.Unreserve(client, cv.ID).Extract()
+	th.AssertNoErr(t, err)
+
+	err = volumes.WaitForStatus(client, cv.ID, "available", 60)
+	th.AssertNoErr(t, err)
+}
