Browse Source

Merge ""scope" conversion only just before pyroute2 method call" into stable/train

changes/84/761484/1
Zuul 2 months ago
committed by Gerrit Code Review
parent
commit
68cf2be719
3 changed files with 33 additions and 2 deletions
  1. +1
    -1
      neutron/agent/linux/ip_lib.py
  2. +31
    -0
      neutron/tests/functional/agent/linux/test_ip_lib.py
  3. +1
    -1
      neutron/tests/unit/agent/linux/test_ip_lib.py

+ 1
- 1
neutron/agent/linux/ip_lib.py View File

@@ -551,7 +551,7 @@ class IpAddrCommand(IpDeviceCommandBase):
if not common_utils.is_cidr_host(cidr):
kwargs['mask'] = common_utils.cidr_mask_length(cidr)
if scope:
kwargs['scope'] = IP_ADDRESS_SCOPE_NAME[scope]
kwargs['scope'] = scope
if ip_version:
kwargs['family'] = common_utils.get_socket_address_family(
ip_version)


+ 31
- 0
neutron/tests/functional/agent/linux/test_ip_lib.py View File

@@ -982,3 +982,34 @@ class IpRouteCommandTestCase(functional_base.BaseSudoTestCase):
self.device.route.flush(ip_version, table=table)
routes = self.device.route.list_routes(ip_version, table=table)
self.assertEqual([], routes)


class IpAddrCommandTestCase(functional_base.BaseSudoTestCase):

def setUp(self):
super(IpAddrCommandTestCase, self).setUp()
self.namespace = self.useFixture(net_helpers.NamespaceFixture()).name
ip_lib.IPWrapper(self.namespace).add_dummy('test_device')
self.device = ip_lib.IPDevice('test_device', namespace=self.namespace)
self.device.link.set_up()

def test_list_with_scope(self):
scope_ip = [
('global', '192.168.100.1/24'),
('global', '2001:db8::1/64'),
('link', '192.168.101.1/24'),
('link', 'fe80::1:1/64'),
('site', 'fec0:0:0:f101::1/64'),
('host', '192.168.102.1/24')]
for scope, _ip in scope_ip:
self.device.addr.add(_ip, scope=scope)

devices = self.device.addr.list()
devices_cidr = {device['cidr'] for device in devices}
for scope in scope_ip:
self.assertIn(scope[1], devices_cidr)

for scope, _ip in scope_ip:
devices_filtered = self.device.addr.list(scope=scope)
devices_cidr = {device['cidr'] for device in devices_filtered}
self.assertIn(_ip, devices_cidr)

+ 1
- 1
neutron/tests/unit/agent/linux/test_ip_lib.py View File

@@ -790,7 +790,7 @@ class TestIpAddrCommand(TestIPCmdBase):
self.addr_cmd.list(scope='link')
mock_get_dev_ip.assert_called_once_with('test_ns',
name=self.addr_cmd.name,
scope=253)
scope='link')

@mock.patch.object(ip_lib, 'get_devices_with_ip')
def test_list_to(self, mock_get_dev_ip):


Loading…
Cancel
Save