Fixes bug 942549
Ensure a more meaninful error is reported when an aggregate is created in a non-exsistent availability zone. Change-Id: I15ea6c884bb6f326df1d88019ee0ecf070196d1e
This commit is contained in:
parent
85f844c26e
commit
9f7595aa0f
|
@ -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
|
||||
|
|
|
@ -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":
|
||||
|
|
Loading…
Reference in New Issue