From 3db7a943bebbda5fea07fc80813cabc436fb892b Mon Sep 17 00:00:00 2001 From: Andy McCrae Date: Thu, 27 Sep 2012 11:58:14 +0000 Subject: Fixes error message for flavor-create duplicate ID Fixes bug 1056918 Change-Id: I516153211504b67f6e8b8ebb138abcef4be4d73e --- nova/api/openstack/compute/contrib/flavormanage.py | 3 ++- nova/db/sqlalchemy/api.py | 2 +- nova/exception.py | 6 +++++- nova/tests/test_instance_types.py | 2 +- 4 files changed, 9 insertions(+), 4 deletions(-) diff --git a/nova/api/openstack/compute/contrib/flavormanage.py b/nova/api/openstack/compute/contrib/flavormanage.py index 69d5d6ed9..e8ac4d522 100644 --- a/nova/api/openstack/compute/contrib/flavormanage.py +++ b/nova/api/openstack/compute/contrib/flavormanage.py @@ -73,7 +73,8 @@ class FlavorManageController(wsgi.Controller): root_gb, ephemeral_gb, flavorid, swap, rxtx_factor, is_public) req.cache_db_flavor(flavor) - except exception.InstanceTypeExists as err: + except (exception.InstanceTypeExists, + exception.InstanceTypeIdExists) as err: raise webob.exc.HTTPConflict(explanation=str(err)) return self._view_builder.show(req, flavor) diff --git a/nova/db/sqlalchemy/api.py b/nova/db/sqlalchemy/api.py index 3798cade8..8ccdfd6a8 100644 --- a/nova/db/sqlalchemy/api.py +++ b/nova/db/sqlalchemy/api.py @@ -3869,7 +3869,7 @@ def instance_type_create(context, values): try: instance_type_get_by_flavor_id(context, values['flavorid'], session) - raise exception.InstanceTypeExists(name=values['name']) + raise exception.InstanceTypeIdExists(flavor_id=values['flavorid']) except exception.FlavorNotFound: pass try: diff --git a/nova/exception.py b/nova/exception.py index 28fb1ee0a..9b9f95492 100644 --- a/nova/exception.py +++ b/nova/exception.py @@ -876,7 +876,11 @@ class InstanceExists(Duplicate): class InstanceTypeExists(Duplicate): - message = _("Instance Type %(name)s already exists.") + message = _("Instance Type with name %(name)s already exists.") + + +class InstanceTypeIdExists(Duplicate): + message = _("Instance Type with ID %(flavor_id)s already exists.") class FlavorAccessExists(Duplicate): diff --git a/nova/tests/test_instance_types.py b/nova/tests/test_instance_types.py index d9d2669a3..5059b155a 100644 --- a/nova/tests/test_instance_types.py +++ b/nova/tests/test_instance_types.py @@ -159,7 +159,7 @@ class InstanceTypeTestCase(test.TestCase): """Ensures that flavorid duplicates raise InstanceTypeCreateFailed""" flavorid = 'flavor1' instance_types.create('name one', 256, 1, 120, 200, flavorid) - self.assertRaises(exception.InstanceTypeExists, + self.assertRaises(exception.InstanceTypeIdExists, instance_types.create, 'name two', 256, 1, 120, 200, flavorid) -- cgit