diff options
Diffstat (limited to 'nova')
| -rw-r--r-- | nova/api/openstack/compute/contrib/aggregates.py | 9 | ||||
| -rw-r--r-- | nova/tests/api/openstack/compute/contrib/test_aggregates.py | 8 |
2 files changed, 11 insertions, 6 deletions
diff --git a/nova/api/openstack/compute/contrib/aggregates.py b/nova/api/openstack/compute/contrib/aggregates.py index 9435f5980..ef9679f5a 100644 --- a/nova/api/openstack/compute/contrib/aggregates.py +++ b/nova/api/openstack/compute/contrib/aggregates.py @@ -71,11 +71,12 @@ class AggregateController(object): try: aggregate = self.api.create_aggregate(context, name, avail_zone) - except (exception.AggregateNameExists, - exception.InvalidAggregateAction): - LOG.info(_("Cannot create aggregate with name %(name)s and " - "availability zone %(avail_zone)s") % locals()) + except exception.AggregateNameExists as e: + LOG.info(e) raise exc.HTTPConflict + except exception.InvalidAggregateAction as e: + LOG.info(e) + raise return self._marshall_aggregate(aggregate) def show(self, req, id): diff --git a/nova/tests/api/openstack/compute/contrib/test_aggregates.py b/nova/tests/api/openstack/compute/contrib/test_aggregates.py index a209fdce8..41a87ac6a 100644 --- a/nova/tests/api/openstack/compute/contrib/test_aggregates.py +++ b/nova/tests/api/openstack/compute/contrib/test_aggregates.py @@ -89,11 +89,15 @@ class AggregateTestCase(test.TestCase): def test_create_with_incorrect_availability_zone(self): def stub_create_aggregate(context, name, availability_zone): - raise exception.InvalidAggregateAction + raise exception.InvalidAggregateAction(action='create_aggregate', + aggregate_id="'N/A'", + reason='invalid zone') + self.stubs.Set(self.controller.api, "create_aggregate", stub_create_aggregate) - self.assertRaises(exc.HTTPConflict, self.controller.create, + self.assertRaises(exception.InvalidAggregateAction, + self.controller.create, self.req, {"aggregate": {"name": "test", "availability_zone": "nova_bad"}}) |
