Merge "Use cached nwinfo for secgroup rules"
This commit is contained in:
commit
beae8f01b0
@ -3658,6 +3658,8 @@ def security_group_rule_get_by_security_group(context, security_group_id):
|
|||||||
filter_by(parent_group_id=security_group_id).
|
filter_by(parent_group_id=security_group_id).
|
||||||
options(joinedload_all('grantee_group.instances.'
|
options(joinedload_all('grantee_group.instances.'
|
||||||
'system_metadata')).
|
'system_metadata')).
|
||||||
|
options(joinedload('grantee_group.instances.'
|
||||||
|
'info_cache')).
|
||||||
all())
|
all())
|
||||||
|
|
||||||
|
|
||||||
|
@ -4504,7 +4504,9 @@ class IptablesFirewallTestCase(test.TestCase):
|
|||||||
from nova.network import linux_net
|
from nova.network import linux_net
|
||||||
linux_net.iptables_manager.execute = fake_iptables_execute
|
linux_net.iptables_manager.execute = fake_iptables_execute
|
||||||
|
|
||||||
_fake_stub_out_get_nw_info(self.stubs, lambda *a, **kw: network_model)
|
from nova.compute import utils as compute_utils
|
||||||
|
self.stubs.Set(compute_utils, 'get_nw_info_for_instance',
|
||||||
|
lambda instance: network_model)
|
||||||
|
|
||||||
network_info = network_model.legacy()
|
network_info = network_model.legacy()
|
||||||
self.fw.prepare_instance_filter(instance_ref, network_info)
|
self.fw.prepare_instance_filter(instance_ref, network_info)
|
||||||
|
@ -2480,8 +2480,9 @@ class XenAPIDom0IptablesFirewallTestCase(stubs.XenAPITestBase):
|
|||||||
network_model = fake_network.fake_get_instance_nw_info(self.stubs,
|
network_model = fake_network.fake_get_instance_nw_info(self.stubs,
|
||||||
1, spectacular=True)
|
1, spectacular=True)
|
||||||
|
|
||||||
fake_network.stub_out_nw_api_get_instance_nw_info(self.stubs,
|
from nova.compute import utils as compute_utils
|
||||||
lambda *a, **kw: network_model)
|
self.stubs.Set(compute_utils, 'get_nw_info_for_instance',
|
||||||
|
lambda instance: network_model)
|
||||||
|
|
||||||
network_info = network_model.legacy()
|
network_info = network_model.legacy()
|
||||||
self.fw.prepare_instance_filter(instance_ref, network_info)
|
self.fw.prepare_instance_filter(instance_ref, network_info)
|
||||||
|
@ -19,8 +19,8 @@
|
|||||||
|
|
||||||
from oslo.config import cfg
|
from oslo.config import cfg
|
||||||
|
|
||||||
|
from nova.compute import utils as compute_utils
|
||||||
from nova import context
|
from nova import context
|
||||||
from nova import network
|
|
||||||
from nova.network import linux_net
|
from nova.network import linux_net
|
||||||
from nova.openstack.common.gettextutils import _
|
from nova.openstack.common.gettextutils import _
|
||||||
from nova.openstack.common import importutils
|
from nova.openstack.common import importutils
|
||||||
@ -415,16 +415,9 @@ class IptablesFirewallDriver(FirewallDriver):
|
|||||||
fw_rules += [' '.join(args)]
|
fw_rules += [' '.join(args)]
|
||||||
else:
|
else:
|
||||||
if rule['grantee_group']:
|
if rule['grantee_group']:
|
||||||
# FIXME(jkoelker) This needs to be ported up into
|
|
||||||
# the compute manager which already
|
|
||||||
# has access to a nw_api handle,
|
|
||||||
# and should be the only one making
|
|
||||||
# making rpc calls.
|
|
||||||
nw_api = network.API()
|
|
||||||
for instance in rule['grantee_group']['instances']:
|
for instance in rule['grantee_group']['instances']:
|
||||||
nw_info = nw_api.get_instance_nw_info(
|
nw_info = compute_utils.get_nw_info_for_instance(
|
||||||
ctxt,
|
instance)
|
||||||
instance)
|
|
||||||
|
|
||||||
ips = [ip['address']
|
ips = [ip['address']
|
||||||
for ip in nw_info.fixed_ips()
|
for ip in nw_info.fixed_ips()
|
||||||
|
Loading…
Reference in New Issue
Block a user