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
def _validate_name_not_default(data, valid_values=None):
- if data == "default":
+ if data.lower() == "default":
raise SecurityGroupDefaultAlreadyExists()
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'),