Error code for creating secgroup default rule

Trying to create secgroup group default rules
that already exists gives HttpBadRequest error,
but it should raise HttpConflict.

So updated the code to HttpConflict error.
Closes-Bug: #1374320

Change-Id: I93c6eb7fb96e7109404206367ed81495a4724296
This commit is contained in:
abhishek.talwar 2014-12-02 17:03:33 +05:30
parent f33231e3a2
commit 71efc3dc56
3 changed files with 4 additions and 4 deletions

View File

@ -128,7 +128,7 @@ class SecurityGroupDefaultRulesController(sg.SecurityGroupControllerBase):
if self.security_group_api.default_rule_exists(context, values):
msg = _('This default rule already exists.')
raise exc.HTTPBadRequest(explanation=msg)
raise exc.HTTPConflict(explanation=msg)
security_group_rule = self.security_group_api.add_default_rules(
context, [values])[0]
fmt_rule = self._format_security_group_default_rule(

View File

@ -38,7 +38,7 @@ class SecurityGroupDefaultRulesController(sg.SecurityGroupControllerBase):
self.security_group_api = (
openstack_driver.get_openstack_security_group_driver())
@extensions.expected_errors((400, 501))
@extensions.expected_errors((400, 409, 501))
def create(self, req, body):
context = sg._authorize_context(req)
authorize(context)
@ -62,7 +62,7 @@ class SecurityGroupDefaultRulesController(sg.SecurityGroupControllerBase):
if self.security_group_api.default_rule_exists(context, values):
msg = _('This default rule already exists.')
raise exc.HTTPBadRequest(explanation=msg)
raise exc.HTTPConflict(explanation=msg)
security_group_rule = self.security_group_api.add_default_rules(
context, [values])[0]
fmt_rule = self._format_security_group_default_rule(

View File

@ -257,7 +257,7 @@ class TestSecurityGroupDefaultRulesV21(test.TestCase):
req = fakes.HTTPRequest.blank(
'/v2/fake/os-security-group-default-rules', use_admin_context=True)
self.assertRaises(webob.exc.HTTPBadRequest, self.controller.create,
self.assertRaises(webob.exc.HTTPConflict, self.controller.create,
req, {'security_group_default_rule': sgr})
def test_security_group_default_rules_list(self):