diff options
author | Jenkins <jenkins@review.openstack.org> | 2012-02-28 20:37:22 +0000 |
---|---|---|
committer | Gerrit Code Review <review@openstack.org> | 2012-02-28 20:37:22 +0000 |
commit | 0b99bc205c8ea2a7b1be7edd5d2498cfa7bfece6 (patch) | |
tree | f5ec2a27e9ea765039fa1753e0f94f325edc23a9 | |
parent | 1ea998649058f78f63a167dd697cf5f6732596ff (diff) | |
parent | 9f7595aa0f464dc7344e0639951ea731dcfbeca5 (diff) | |
download | nova-0b99bc205c8ea2a7b1be7edd5d2498cfa7bfece6.tar.gz |
Merge "Fixes bug 942549"
-rw-r--r-- | nova/api/openstack/compute/contrib/aggregates.py | 3 | ||||
-rw-r--r-- | nova/tests/api/openstack/compute/contrib/test_aggregates.py | 11 |
2 files changed, 13 insertions, 1 deletions
diff --git a/nova/api/openstack/compute/contrib/aggregates.py b/nova/api/openstack/compute/contrib/aggregates.py index ea90a57d76..583fe1b513 100644 --- a/nova/api/openstack/compute/contrib/aggregates.py +++ b/nova/api/openstack/compute/contrib/aggregates.py @@ -72,7 +72,8 @@ class AggregateController(object): try: aggregate = self.api.create_aggregate(context, name, avail_zone) - except exception.AggregateNameExists: + except (exception.AggregateNameExists, + exception.InvalidAggregateAction): LOG.exception(_("Cannot create aggregate with name %(name)s and " "availability zone %(avail_zone)s") % locals()) raise exc.HTTPConflict diff --git a/nova/tests/api/openstack/compute/contrib/test_aggregates.py b/nova/tests/api/openstack/compute/contrib/test_aggregates.py index 6c8bc5a2f6..080cf84287 100644 --- a/nova/tests/api/openstack/compute/contrib/test_aggregates.py +++ b/nova/tests/api/openstack/compute/contrib/test_aggregates.py @@ -87,6 +87,17 @@ class AggregateTestCase(test.TestCase): {"name": "test", "availability_zone": "nova1"}}) + def test_create_with_incorrect_availability_zone(self): + def stub_create_aggregate(context, name, availability_zone): + raise exception.InvalidAggregateAction + self.stubs.Set(self.controller.api, "create_aggregate", + stub_create_aggregate) + + self.assertRaises(exc.HTTPConflict, self.controller.create, + self.req, {"aggregate": + {"name": "test", + "availability_zone": "nova_bad"}}) + def test_create_with_no_aggregate(self): self.assertRaises(exc.HTTPBadRequest, self.controller.create, self.req, {"foo": |