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:
|
try:
|
||||||
aggregate = self.api.create_aggregate(context, name, avail_zone)
|
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 "
|
LOG.exception(_("Cannot create aggregate with name %(name)s and "
|
||||||
"availability zone %(avail_zone)s") % locals())
|
"availability zone %(avail_zone)s") % locals())
|
||||||
raise exc.HTTPConflict
|
raise exc.HTTPConflict
|
||||||
|
|
|
@ -87,6 +87,17 @@ class AggregateTestCase(test.TestCase):
|
||||||
{"name": "test",
|
{"name": "test",
|
||||||
"availability_zone": "nova1"}})
|
"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):
|
def test_create_with_no_aggregate(self):
|
||||||
self.assertRaises(exc.HTTPBadRequest, self.controller.create,
|
self.assertRaises(exc.HTTPBadRequest, self.controller.create,
|
||||||
self.req, {"foo":
|
self.req, {"foo":
|
||||||
|
|
Loading…
Reference in New Issue