From 23ed0aa481847a5ae8a742cca8505ebe210897ca Mon Sep 17 00:00:00 2001 From: Adrian Turjak Date: Thu, 22 Mar 2018 16:25:58 +1300 Subject: [PATCH] Add 409 ConflictException Change-Id: I655f1bd462f0a167d384fe469db961332051822c --- openstack/exceptions.py | 9 ++++++++- openstack/tests/unit/cloud/test_domains.py | 2 +- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/openstack/exceptions.py b/openstack/exceptions.py index 36718813e..de5b41426 100644 --- a/openstack/exceptions.py +++ b/openstack/exceptions.py @@ -118,6 +118,11 @@ class BadRequestException(HttpException): pass +class ConflictException(HttpException): + """HTTP 409 Conflict.""" + pass + + class MethodNotSupported(SDKException): """The resource does not support this operation type.""" def __init__(self, resource, method): @@ -162,7 +167,9 @@ def raise_from_response(response, error_message=None): if response.status_code < 400: return - if response.status_code == 404: + if response.status_code == 409: + cls = ConflictException + elif response.status_code == 404: cls = NotFoundException elif response.status_code == 400: cls = BadRequestException diff --git a/openstack/tests/unit/cloud/test_domains.py b/openstack/tests/unit/cloud/test_domains.py index 9ad408a7e..babdbd395 100644 --- a/openstack/tests/unit/cloud/test_domains.py +++ b/openstack/tests/unit/cloud/test_domains.py @@ -203,7 +203,7 @@ class TestDomains(base.TestCase): json=domain_data.json_response, validate=dict(json={'domain': {'enabled': False}}))]) with testtools.ExpectedException( - openstack.cloud.OpenStackCloudHTTPError, + openstack.exceptions.ConflictException, "Error in updating domain %s" % domain_data.domain_id ): self.cloud.delete_domain(domain_data.domain_id)