]> review.fuel-infra Code Review - openstack-build/neutron-build.git/commitdiff
Check for default sec-group made case insensitive
authorabhishek.talwar <abhishek.talwar@tcs.com>
Tue, 18 Nov 2014 09:50:51 +0000 (15:20 +0530)
committerAbhishek Talwar <abhishek.talwar@tcs.com>
Thu, 20 Nov 2014 12:23:54 +0000 (12:23 +0000)
Currently creating another security group with name
"default" is not allowed, however we can create
another security group with name "DEFAULT"
(or any other CASE pattern).

When trying to boot a VM without specifying
a security group it should always pick the
"default" security group. However, if another
security group of the name DEFAULT is present,
the VM gets associated with the wrong
security group (i.e DEFAULT and not default).

So, updated the code so that a security group
with name DEFAULT (or any other case pattern)
is not allowed.
Closes-Bug: #1384505

Change-Id: I3bc4e48cf723bcf74e098d7ef66df0333f6a8686

neutron/extensions/securitygroup.py
neutron/tests/unit/test_extension_security_group.py

index 3524117ee9e928ebb244b7630ac990ec52dbab7b..cdbe29dcdec3ce4f758b4bea0fb305a7f3ab8470 100644 (file)
@@ -174,7 +174,7 @@ def convert_ip_prefix_to_cidr(ip_prefix):
 
 
 def _validate_name_not_default(data, valid_values=None):
-    if data == "default":
+    if data.lower() == "default":
         raise SecurityGroupDefaultAlreadyExists()
 
 
index e0061940b0310e6400e6244c15fde5316b0483cf..17484b965b87c5bec2d6a05b81604ed783aca262 100644 (file)
@@ -332,6 +332,13 @@ class TestSecurityGroups(SecurityGroupDBTestCase):
         self.deserialize(self.fmt, res)
         self.assertEqual(res.status_int, webob.exc.HTTPConflict.code)
 
+    def test_create_default_security_group_check_case_insensitive(self):
+        name = 'DEFAULT'
+        description = 'my webservers'
+        res = self._create_security_group(self.fmt, name, description)
+        self.deserialize(self.fmt, res)
+        self.assertEqual(res.status_int, webob.exc.HTTPConflict.code)
+
     def test_list_security_groups(self):
         with contextlib.nested(self.security_group(name='sg1',
                                                    description='sg'),