Skip to content

Commit 0f84be3

Browse files
Zuulopenstack-gerrit
authored andcommitted
Merge "Force security_group_id uuid validation of sg rules" into stable/yoga
2 parents 16ba9b4 + e887386 commit 0f84be3

File tree

2 files changed

+12
-1
lines changed

2 files changed

+12
-1
lines changed

neutron/extensions/securitygroup.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -245,7 +245,9 @@ def _validate_name_not_default(data, max_len=db_const.NAME_FIELD_SIZE):
245245
'primary_key': True},
246246
'security_group_id': {'allow_post': True, 'allow_put': False,
247247
'is_visible': True, 'required_by_policy': True,
248-
'is_sort_key': True, 'is_filter': True},
248+
'is_sort_key': True, 'is_filter': True,
249+
'validate': {
250+
'type:string': db_const.UUID_FIELD_SIZE}},
249251
'remote_group_id': {'allow_post': True, 'allow_put': False,
250252
'default': None, 'is_visible': True,
251253
'is_sort_key': True, 'is_filter': True},

neutron/tests/unit/extensions/test_securitygroup.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2087,6 +2087,15 @@ def test_create_security_group_rule_with_invalid_tcp_or_udp_protocol(self):
20872087
self.deserialize(self.fmt, res)
20882088
self.assertEqual(webob.exc.HTTPBadRequest.code, res.status_int)
20892089

2090+
def test_create_security_group_rule_with_non_uuid_security_group_id(self):
2091+
security_group_id = 0
2092+
rule = self._build_security_group_rule(
2093+
security_group_id, 'ingress',
2094+
const.PROTO_NAME_TCP, '22', '22')
2095+
res = self._create_security_group_rule(self.fmt, rule)
2096+
self.deserialize(self.fmt, res)
2097+
self.assertEqual(webob.exc.HTTPBadRequest.code, res.status_int)
2098+
20902099
def test_create_port_with_non_uuid(self):
20912100
with self.network() as n:
20922101
with self.subnet(n):

0 commit comments

Comments
 (0)