Only fetch port_id from SG binding table
Change a query to only retrieve the port_id instead of
every column from the row of security group binding info.
Partial-Bug: #1373851
Change-Id: I0fba9c9623898ee52590207ebbb728503bb59a5b
(cherry picked from commit 6acadab5eb
)
This commit is contained in:
parent
830142e692
commit
c5ae9dd278
|
@ -153,8 +153,7 @@ class SecurityGroupServerRpcMixin(sg_db.SecurityGroupDbMixin):
|
||||||
'sg_member_ips': {}}
|
'sg_member_ips': {}}
|
||||||
rules_in_db = self._select_rules_for_ports(context, ports)
|
rules_in_db = self._select_rules_for_ports(context, ports)
|
||||||
remote_security_group_info = {}
|
remote_security_group_info = {}
|
||||||
for (binding, rule_in_db) in rules_in_db:
|
for (port_id, rule_in_db) in rules_in_db:
|
||||||
port_id = binding['port_id']
|
|
||||||
remote_gid = rule_in_db.get('remote_group_id')
|
remote_gid = rule_in_db.get('remote_group_id')
|
||||||
security_group_id = rule_in_db.get('security_group_id')
|
security_group_id = rule_in_db.get('security_group_id')
|
||||||
ethertype = rule_in_db['ethertype']
|
ethertype = rule_in_db['ethertype']
|
||||||
|
@ -219,7 +218,7 @@ class SecurityGroupServerRpcMixin(sg_db.SecurityGroupDbMixin):
|
||||||
|
|
||||||
sgr_sgid = sg_db.SecurityGroupRule.security_group_id
|
sgr_sgid = sg_db.SecurityGroupRule.security_group_id
|
||||||
|
|
||||||
query = context.session.query(sg_db.SecurityGroupPortBinding,
|
query = context.session.query(sg_binding_port,
|
||||||
sg_db.SecurityGroupRule)
|
sg_db.SecurityGroupRule)
|
||||||
query = query.join(sg_db.SecurityGroupRule,
|
query = query.join(sg_db.SecurityGroupRule,
|
||||||
sgr_sgid == sg_binding_sgid)
|
sgr_sgid == sg_binding_sgid)
|
||||||
|
@ -417,8 +416,7 @@ class SecurityGroupServerRpcMixin(sg_db.SecurityGroupDbMixin):
|
||||||
|
|
||||||
def security_group_rules_for_ports(self, context, ports):
|
def security_group_rules_for_ports(self, context, ports):
|
||||||
rules_in_db = self._select_rules_for_ports(context, ports)
|
rules_in_db = self._select_rules_for_ports(context, ports)
|
||||||
for (binding, rule_in_db) in rules_in_db:
|
for (port_id, rule_in_db) in rules_in_db:
|
||||||
port_id = binding['port_id']
|
|
||||||
port = ports[port_id]
|
port = ports[port_id]
|
||||||
direction = rule_in_db['direction']
|
direction = rule_in_db['direction']
|
||||||
rule_dict = {
|
rule_dict = {
|
||||||
|
|
Loading…
Reference in New Issue