[Kimchi-devel] [PATCH 1/4] Add ResourceAlreadyExists Exception (HTTP 409)

Hongliang Wang hlwang at linux.vnet.ibm.com
Thu Jun 12 07:07:02 UTC 2014


When user tries to create a resource with an existing name, we should return
HTTP 409 status code to tell the user and let him/her choose another one.

Signed-off-by: Hongliang Wang <hlwang at linux.vnet.ibm.com>
---
 src/kimchi/control/base.py | 3 +++
 src/kimchi/exception.py    | 4 ++++
 2 files changed, 7 insertions(+)

diff --git a/src/kimchi/control/base.py b/src/kimchi/control/base.py
index f8a5210..aaa479d 100644
--- a/src/kimchi/control/base.py
+++ b/src/kimchi/control/base.py
@@ -28,6 +28,7 @@ from kimchi.control.utils import validate_params
 from kimchi.exception import InvalidOperation, InvalidParameter
 from kimchi.exception import KimchiException
 from kimchi.exception import MissingParameter, NotFoundError,  OperationFailed
+from kimchi.exception import ResourceAlreadyExists
 
 
 class Resource(object):
@@ -84,6 +85,8 @@ class Resource(object):
                 raise cherrypy.HTTPError(400, e.message)
             except InvalidOperation, e:
                 raise cherrypy.HTTPError(400, e.message)
+            except ResourceAlreadyExists, e:
+                raise cherrypy.HTTPError(409, e.message)
             except OperationFailed, e:
                 raise cherrypy.HTTPError(500, e.message)
             except NotFoundError, e:
diff --git a/src/kimchi/exception.py b/src/kimchi/exception.py
index fcf60cc..38daeab 100644
--- a/src/kimchi/exception.py
+++ b/src/kimchi/exception.py
@@ -91,3 +91,7 @@ class IsoFormatError(KimchiException):
 
 class TimeoutExpired(KimchiException):
     pass
+
+
+class ResourceAlreadyExists(KimchiException):
+    pass
-- 
1.8.1.4




More information about the Kimchi-devel mailing list