diff options
Diffstat (limited to 'openstackclient')
| -rw-r--r-- | openstackclient/common/utils.py | 25 | ||||
| -rw-r--r-- | openstackclient/compute/v2/flavor.py | 6 | ||||
| -rw-r--r-- | openstackclient/network/v2/subnet_pool.py | 3 | ||||
| -rw-r--r-- | openstackclient/tests/common/test_utils.py | 12 | ||||
| -rw-r--r-- | openstackclient/tests/compute/v2/fakes.py | 4 | ||||
| -rw-r--r-- | openstackclient/tests/compute/v2/test_hypervisor_stats.py | 2 | ||||
| -rw-r--r-- | openstackclient/tests/network/v2/test_subnet_pool.py | 1 |
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) |
