Adding BlockStorage v3 version support
Change-Id: Ia0c304731f2f1f35d80a9168cd9bb2ca3a8a08b9
diff --git a/openstack/blockstorage/v3/volumes/util.go b/openstack/blockstorage/v3/volumes/util.go
new file mode 100644
index 0000000..4267633
--- /dev/null
+++ b/openstack/blockstorage/v3/volumes/util.go
@@ -0,0 +1,22 @@
+package volumes
+
+import (
+ "gerrit.mcp.mirantis.net/debian/gophercloud.git"
+)
+
+// WaitForStatus will continually poll the resource, checking for a particular
+// status. It will do this for the amount of seconds defined.
+func WaitForStatus(c *gophercloud.ServiceClient, id, status string, secs int) error {
+ return gophercloud.WaitFor(secs, func() (bool, error) {
+ current, err := Get(c, id).Extract()
+ if err != nil {
+ return false, err
+ }
+
+ if current.Status == status {
+ return true, nil
+ }
+
+ return false, nil
+ })
+}