summaryrefslogtreecommitdiff
path: root/openstackclient
diff options
context:
space:
mode:
Diffstat (limited to 'openstackclient')
-rw-r--r--openstackclient/common/utils.py25
-rw-r--r--openstackclient/compute/v2/flavor.py6
-rw-r--r--openstackclient/network/v2/subnet_pool.py3
-rw-r--r--openstackclient/tests/common/test_utils.py12
-rw-r--r--openstackclient/tests/compute/v2/fakes.py4
-rw-r--r--openstackclient/tests/compute/v2/test_hypervisor_stats.py2
-rw-r--r--openstackclient/tests/network/v2/test_subnet_pool.py1
7 files changed, 31 insertions, 22 deletions
diff --git a/openstackclient/common/utils.py b/openstackclient/common/utils.py
index c6ed6a71..daa65c25 100644
--- a/openstackclient/common/utils.py
+++ b/openstackclient/common/utils.py
@@ -100,22 +100,15 @@ def find_resource(manager, name_or_id, **kwargs):
else:
pass
- try:
- for resource in manager.list():
- # short circuit and return the first match
- if (resource.get('id') == name_or_id or
- resource.get('name') == name_or_id):
- return resource
- else:
- # we found no match, keep going to bomb out
- pass
- except Exception:
- # in case the list fails for some reason
- pass
-
- # if we hit here, we've failed, report back this error:
- msg = "Could not find resource %s" % name_or_id
- raise exceptions.CommandError(msg)
+ for resource in manager.list():
+ # short circuit and return the first match
+ if (resource.get('id') == name_or_id or
+ resource.get('name') == name_or_id):
+ return resource
+ else:
+ # we found no match, report back this error:
+ msg = "Could not find resource %s" % name_or_id
+ raise exceptions.CommandError(msg)
def format_dict(data):
diff --git a/openstackclient/compute/v2/flavor.py b/openstackclient/compute/v2/flavor.py
index b5a7c60c..29e0e9d4 100644
--- a/openstackclient/compute/v2/flavor.py
+++ b/openstackclient/compute/v2/flavor.py
@@ -76,10 +76,10 @@ class CreateFlavor(command.ShowOne):
)
parser.add_argument(
"--rxtx-factor",
- type=int,
+ type=float,
metavar="<factor>",
- default=1,
- help="RX/TX factor (default 1)",
+ default=1.0,
+ help="RX/TX factor (default 1.0)",
)
public_group = parser.add_mutually_exclusive_group()
public_group.add_argument(
diff --git a/openstackclient/network/v2/subnet_pool.py b/openstackclient/network/v2/subnet_pool.py
index 8c90b955..6b6fc090 100644
--- a/openstackclient/network/v2/subnet_pool.py
+++ b/openstackclient/network/v2/subnet_pool.py
@@ -111,6 +111,9 @@ class CreateSubnetPool(command.ShowOne):
def take_action(self, parsed_args):
client = self.app.client_manager.network
attrs = _get_attrs(self.app.client_manager, parsed_args)
+ # NeutronServer expects prefixes to be a List
+ if "prefixes" not in attrs:
+ attrs['prefixes'] = []
obj = client.create_subnet_pool(**attrs)
columns = _get_columns(obj)
data = utils.get_item_properties(obj, columns, formatters=_formatters)
diff --git a/openstackclient/tests/common/test_utils.py b/openstackclient/tests/common/test_utils.py
index 95bce458..2248d043 100644
--- a/openstackclient/tests/common/test_utils.py
+++ b/openstackclient/tests/common/test_utils.py
@@ -306,6 +306,18 @@ class TestFindResource(test_utils.TestCase):
self.manager.get.assert_called_with(self.name)
self.manager.find.assert_called_with(name=self.name)
+ def test_find_resource_list_forbidden(self):
+ self.manager.get = mock.Mock(side_effect=Exception('Boom!'))
+ self.manager.find = mock.Mock(side_effect=Exception('Boom!'))
+ self.manager.list = mock.Mock(
+ side_effect=exceptions.Forbidden(403)
+ )
+ self.assertRaises(exceptions.Forbidden,
+ utils.find_resource,
+ self.manager,
+ self.name)
+ self.manager.list.assert_called_with()
+
def test_find_resource_find_no_unique(self):
self.manager.get = mock.Mock(side_effect=Exception('Boom!'))
self.manager.find = mock.Mock(side_effect=NoUniqueMatch())
diff --git a/openstackclient/tests/compute/v2/fakes.py b/openstackclient/tests/compute/v2/fakes.py
index 860963eb..6c67c470 100644
--- a/openstackclient/tests/compute/v2/fakes.py
+++ b/openstackclient/tests/compute/v2/fakes.py
@@ -280,7 +280,7 @@ class FakeHypervisor(object):
return hypervisors
-class FakehypervisorStats(object):
+class FakeHypervisorStats(object):
"""Fake one or more hypervisor stats."""
@staticmethod
@@ -333,7 +333,7 @@ class FakehypervisorStats(object):
hypervisors = []
for i in range(0, count):
hypervisors.append(
- FakehypervisorStats.create_one_hypervisor_stats(attrs))
+ FakeHypervisorStats.create_one_hypervisor_stats(attrs))
return hypervisors
diff --git a/openstackclient/tests/compute/v2/test_hypervisor_stats.py b/openstackclient/tests/compute/v2/test_hypervisor_stats.py
index 39e303a8..ca5ce29b 100644
--- a/openstackclient/tests/compute/v2/test_hypervisor_stats.py
+++ b/openstackclient/tests/compute/v2/test_hypervisor_stats.py
@@ -33,7 +33,7 @@ class TestHypervisorStatsShow(TestHypervisorStats):
super(TestHypervisorStatsShow, self).setUp()
self.hypervisor_stats = \
- compute_fakes.FakehypervisorStats.create_one_hypervisor_stats()
+ compute_fakes.FakeHypervisorStats.create_one_hypervisor_stats()
self.hypervisors_mock.statistics.return_value =\
self.hypervisor_stats
diff --git a/openstackclient/tests/network/v2/test_subnet_pool.py b/openstackclient/tests/network/v2/test_subnet_pool.py
index c79b9179..093e26c6 100644
--- a/openstackclient/tests/network/v2/test_subnet_pool.py
+++ b/openstackclient/tests/network/v2/test_subnet_pool.py
@@ -149,6 +149,7 @@ class TestCreateSubnetPool(TestSubnetPool):
'default_prefixlen': self._subnet_pool.default_prefixlen,
'max_prefixlen': self._subnet_pool.max_prefixlen,
'min_prefixlen': self._subnet_pool.min_prefixlen,
+ 'prefixes': [],
'name': self._subnet_pool.name,
})
self.assertEqual(self.columns, columns)