Merge "Add tempest-slow stable branch jobs on Tempest master gate"
diff --git a/tempest/api/volume/base.py b/tempest/api/volume/base.py
index b90b5bb..172b6ed 100644
--- a/tempest/api/volume/base.py
+++ b/tempest/api/volume/base.py
@@ -98,7 +98,7 @@
     def create_volume(cls, wait_until='available', **kwargs):
         """Wrapper utility that returns a test volume.
 
-           :param wait_until: wait till volume status.
+           :param wait_until: wait till volume status, None means no wait.
         """
         if 'size' not in kwargs:
             kwargs['size'] = CONF.volume.volume_size
@@ -127,8 +127,9 @@
         cls.addClassResourceCleanup(test_utils.call_and_ignore_notfound_exc,
                                     cls.delete_volume, cls.volumes_client,
                                     volume['id'])
-        waiters.wait_for_volume_resource_status(cls.volumes_client,
-                                                volume['id'], wait_until)
+        if wait_until:
+            waiters.wait_for_volume_resource_status(cls.volumes_client,
+                                                    volume['id'], wait_until)
         return volume
 
     @classmethod
diff --git a/tempest/lib/common/utils/linux/remote_client.py b/tempest/lib/common/utils/linux/remote_client.py
index 224f3bf..d0cdc25 100644
--- a/tempest/lib/common/utils/linux/remote_client.py
+++ b/tempest/lib/common/utils/linux/remote_client.py
@@ -75,7 +75,7 @@
         :param ip_address: IP address to ssh to
         :param username: Ssh username
         :param password: Ssh password
-        :param pkey: Ssh public key
+        :param pkey: Ssh private key
         :param server: Server dict, used for debugging purposes
         :param servers_client: Servers client, used for debugging purposes
         :param ssh_timeout: Timeout in seconds to wait for the ssh banner
diff --git a/tempest/scenario/manager.py b/tempest/scenario/manager.py
index 1d24bc1..db28487 100644
--- a/tempest/scenario/manager.py
+++ b/tempest/scenario/manager.py
@@ -321,11 +321,12 @@
         return server
 
     def create_volume(self, size=None, name=None, snapshot_id=None,
-                      imageRef=None, volume_type=None, **kwargs):
+                      imageRef=None, volume_type=None, wait_until='available',
+                      **kwargs):
         """Creates volume
 
         This wrapper utility creates volume and waits for volume to be
-        in 'available' state.
+        in 'available' state by default. If wait_until is None, means no wait.
         This method returns the volume's full representation by GET request.
         """
 
@@ -358,11 +359,12 @@
         self.addCleanup(test_utils.call_and_ignore_notfound_exc,
                         self.volumes_client.delete_volume, volume['id'])
         self.assertEqual(name, volume['name'])
-        waiters.wait_for_volume_resource_status(self.volumes_client,
-                                                volume['id'], 'available')
-        # The volume retrieved on creation has a non-up-to-date status.
-        # Retrieval after it becomes active ensures correct details.
-        volume = self.volumes_client.show_volume(volume['id'])['volume']
+        if wait_until:
+            waiters.wait_for_volume_resource_status(self.volumes_client,
+                                                    volume['id'], wait_until)
+            # The volume retrieved on creation has a non-up-to-date status.
+            # Retrieval after it becomes active ensures correct details.
+            volume = self.volumes_client.show_volume(volume['id'])['volume']
         return volume
 
     def create_backup(self, volume_id, name=None, description=None,