Make volume_qos_client use **kwargs
As we discussed on
http://lists.openstack.org/pipermail/openstack-dev/2015-July/068864.html
All http POST/PUT methods need to contain **kwargs as their arguments.
This patch makes volume_qos_client use **kwargs.
Partially implements blueprint consistent-service-method-names
Change-Id: I28d6a86b9986e3d281e358dfe4a925d8ed8c5f21
diff --git a/tempest/api/volume/base.py b/tempest/api/volume/base.py
index 12e6761..5c4d0e1 100644
--- a/tempest/api/volume/base.py
+++ b/tempest/api/volume/base.py
@@ -217,8 +217,8 @@
"""create a test Qos-Specs."""
name = name or data_utils.rand_name(cls.__name__ + '-QoS')
consumer = consumer or 'front-end'
- qos_specs = cls.volume_qos_client.create_qos(name, consumer,
- **kwargs)['qos_specs']
+ qos_specs = cls.volume_qos_client.create_qos(
+ name=name, consumer=consumer, **kwargs)['qos_specs']
cls.qos_specs.append(qos_specs['id'])
return qos_specs
diff --git a/tempest/services/volume/base/base_qos_client.py b/tempest/services/volume/base/base_qos_client.py
index c7f6c6e..697e902 100644
--- a/tempest/services/volume/base/base_qos_client.py
+++ b/tempest/services/volume/base/base_qos_client.py
@@ -67,15 +67,13 @@
raise exceptions.TimeoutException
time.sleep(self.build_interval)
- def create_qos(self, name, consumer, **kwargs):
+ def create_qos(self, **kwargs):
"""Create a QoS Specification.
- name : name of the QoS specifications
- consumer : conumer of Qos ( front-end / back-end / both )
+ Available params: see http://developer.openstack.org/
+ api-ref-blockstorage-v2.html#createQoSSpec
"""
- post_body = {'name': name, 'consumer': consumer}
- post_body.update(kwargs)
- post_body = json.dumps({'qos_specs': post_body})
+ post_body = json.dumps({'qos_specs': kwargs})
resp, body = self.post('qos-specs', post_body)
self.expected_success(200, resp.status)
body = json.loads(body)
@@ -107,7 +105,8 @@
def set_qos_key(self, qos_id, **kwargs):
"""Set the specified keys/values of QoS specification.
- kwargs : it is the dictionary of the key=value pairs to set
+ Available params: see http://developer.openstack.org/
+ api-ref-blockstorage-v2.html#setQoSKey
"""
put_body = json.dumps({"qos_specs": kwargs})
resp, body = self.put('qos-specs/%s' % qos_id, put_body)
@@ -118,7 +117,9 @@
def unset_qos_key(self, qos_id, keys):
"""Unset the specified keys of QoS specification.
- keys : it is the array of the keys to unset
+ :param keys: keys to delete from the QoS specification.
+
+ TODO(jordanP): Add a link once LP #1524877 is fixed.
"""
put_body = json.dumps({'keys': keys})
resp, body = self.put('qos-specs/%s/delete_keys' % qos_id, put_body)