Merge "Don't pass config object to send_ip_addr_adv_notif()"
This commit is contained in:
commit
c4c3fbdb5e
|
@ -226,7 +226,7 @@ class FipNamespace(namespaces.Namespace):
|
||||||
ip_lib.send_ip_addr_adv_notif(ns_name,
|
ip_lib.send_ip_addr_adv_notif(ns_name,
|
||||||
interface_name,
|
interface_name,
|
||||||
fixed_ip['ip_address'],
|
fixed_ip['ip_address'],
|
||||||
self.agent_conf)
|
self.agent_conf.send_arp_for_ha)
|
||||||
|
|
||||||
ipd = ip_lib.IPDevice(interface_name, namespace=ns_name)
|
ipd = ip_lib.IPDevice(interface_name, namespace=ns_name)
|
||||||
for subnet in agent_gateway_port['subnets']:
|
for subnet in agent_gateway_port['subnets']:
|
||||||
|
|
|
@ -103,7 +103,7 @@ class DvrLocalRouter(dvr_router_base.DvrRouterBase):
|
||||||
ip_lib.send_ip_addr_adv_notif(fip_ns_name,
|
ip_lib.send_ip_addr_adv_notif(fip_ns_name,
|
||||||
interface_name,
|
interface_name,
|
||||||
floating_ip,
|
floating_ip,
|
||||||
self.agent_conf)
|
self.agent_conf.send_arp_for_ha)
|
||||||
# update internal structures
|
# update internal structures
|
||||||
self.dist_fip_count = self.dist_fip_count + 1
|
self.dist_fip_count = self.dist_fip_count + 1
|
||||||
|
|
||||||
|
|
|
@ -28,5 +28,5 @@ class LegacyRouter(router.RouterInfo):
|
||||||
ip_lib.send_ip_addr_adv_notif(self.ns_name,
|
ip_lib.send_ip_addr_adv_notif(self.ns_name,
|
||||||
interface_name,
|
interface_name,
|
||||||
fip['floating_ip_address'],
|
fip['floating_ip_address'],
|
||||||
self.agent_conf)
|
self.agent_conf.send_arp_for_ha)
|
||||||
return lib_constants.FLOATINGIP_STATUS_ACTIVE
|
return lib_constants.FLOATINGIP_STATUS_ACTIVE
|
||||||
|
|
|
@ -410,7 +410,7 @@ class RouterInfo(object):
|
||||||
ip_lib.send_ip_addr_adv_notif(ns_name,
|
ip_lib.send_ip_addr_adv_notif(ns_name,
|
||||||
interface_name,
|
interface_name,
|
||||||
fixed_ip['ip_address'],
|
fixed_ip['ip_address'],
|
||||||
self.agent_conf)
|
self.agent_conf.send_arp_for_ha)
|
||||||
|
|
||||||
def internal_network_added(self, port):
|
def internal_network_added(self, port):
|
||||||
network_id = port['network_id']
|
network_id = port['network_id']
|
||||||
|
@ -663,7 +663,7 @@ class RouterInfo(object):
|
||||||
ip_lib.send_ip_addr_adv_notif(ns_name,
|
ip_lib.send_ip_addr_adv_notif(ns_name,
|
||||||
interface_name,
|
interface_name,
|
||||||
fixed_ip['ip_address'],
|
fixed_ip['ip_address'],
|
||||||
self.agent_conf)
|
self.agent_conf.send_arp_for_ha)
|
||||||
|
|
||||||
def is_v6_gateway_set(self, gateway_ips):
|
def is_v6_gateway_set(self, gateway_ips):
|
||||||
"""Check to see if list of gateway_ips has an IPv6 gateway.
|
"""Check to see if list of gateway_ips has an IPv6 gateway.
|
||||||
|
|
|
@ -1022,7 +1022,7 @@ def _arping(ns_name, iface_name, address, count):
|
||||||
'ns': ns_name})
|
'ns': ns_name})
|
||||||
|
|
||||||
|
|
||||||
def send_ip_addr_adv_notif(ns_name, iface_name, address, config):
|
def send_ip_addr_adv_notif(ns_name, iface_name, address, count=3):
|
||||||
"""Send advance notification of an IP address assignment.
|
"""Send advance notification of an IP address assignment.
|
||||||
|
|
||||||
If the address is in the IPv4 family, send gratuitous ARP.
|
If the address is in the IPv4 family, send gratuitous ARP.
|
||||||
|
@ -1032,9 +1032,12 @@ def send_ip_addr_adv_notif(ns_name, iface_name, address, config):
|
||||||
Address Discovery (DAD), and (for stateless addresses) router
|
Address Discovery (DAD), and (for stateless addresses) router
|
||||||
advertisements (RAs) are sufficient for address resolution and
|
advertisements (RAs) are sufficient for address resolution and
|
||||||
duplicate address detection.
|
duplicate address detection.
|
||||||
"""
|
|
||||||
count = config.send_arp_for_ha
|
|
||||||
|
|
||||||
|
:param ns_name: Namespace name which GARPs are gonna be sent from.
|
||||||
|
:param iface_name: Name of interface which GARPs are gonna be sent from.
|
||||||
|
:param address: Advertised IP address.
|
||||||
|
:param count: (Optional) How many GARPs are gonna be sent. Default is 3.
|
||||||
|
"""
|
||||||
def arping():
|
def arping():
|
||||||
_arping(ns_name, iface_name, address, count)
|
_arping(ns_name, iface_name, address, count)
|
||||||
|
|
||||||
|
|
|
@ -100,7 +100,7 @@ class TestAddFloatingIpWithMockGarp(BasicRouterTestCaseFramework):
|
||||||
ri.ns_name,
|
ri.ns_name,
|
||||||
mock.sentinel.interface_name,
|
mock.sentinel.interface_name,
|
||||||
ip,
|
ip,
|
||||||
self.agent_conf)
|
self.agent_conf.send_arp_for_ha)
|
||||||
self.assertEqual(lib_constants.FLOATINGIP_STATUS_ACTIVE, result)
|
self.assertEqual(lib_constants.FLOATINGIP_STATUS_ACTIVE, result)
|
||||||
|
|
||||||
def test_add_floating_ip_error(self, send_ip_addr_adv_notif):
|
def test_add_floating_ip_error(self, send_ip_addr_adv_notif):
|
||||||
|
|
|
@ -1340,12 +1340,10 @@ class TestArpPing(TestIPCmdBase):
|
||||||
spawn_n.side_effect = lambda f: f()
|
spawn_n.side_effect = lambda f: f()
|
||||||
ARPING_COUNT = 3
|
ARPING_COUNT = 3
|
||||||
address = '20.0.0.1'
|
address = '20.0.0.1'
|
||||||
config = mock.Mock()
|
|
||||||
config.send_arp_for_ha = ARPING_COUNT
|
|
||||||
ip_lib.send_ip_addr_adv_notif(mock.sentinel.ns_name,
|
ip_lib.send_ip_addr_adv_notif(mock.sentinel.ns_name,
|
||||||
mock.sentinel.iface_name,
|
mock.sentinel.iface_name,
|
||||||
address,
|
address,
|
||||||
config)
|
ARPING_COUNT)
|
||||||
|
|
||||||
self.assertTrue(spawn_n.called)
|
self.assertTrue(spawn_n.called)
|
||||||
mIPWrapper.assert_called_once_with(namespace=mock.sentinel.ns_name)
|
mIPWrapper.assert_called_once_with(namespace=mock.sentinel.ns_name)
|
||||||
|
@ -1364,12 +1362,10 @@ class TestArpPing(TestIPCmdBase):
|
||||||
@mock.patch('eventlet.spawn_n')
|
@mock.patch('eventlet.spawn_n')
|
||||||
def test_no_ipv6_addr_notif(self, spawn_n):
|
def test_no_ipv6_addr_notif(self, spawn_n):
|
||||||
ipv6_addr = 'fd00::1'
|
ipv6_addr = 'fd00::1'
|
||||||
config = mock.Mock()
|
|
||||||
config.send_arp_for_ha = 3
|
|
||||||
ip_lib.send_ip_addr_adv_notif(mock.sentinel.ns_name,
|
ip_lib.send_ip_addr_adv_notif(mock.sentinel.ns_name,
|
||||||
mock.sentinel.iface_name,
|
mock.sentinel.iface_name,
|
||||||
ipv6_addr,
|
ipv6_addr,
|
||||||
config)
|
3)
|
||||||
self.assertFalse(spawn_n.called)
|
self.assertFalse(spawn_n.called)
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue