def get_link_local_nic(distro):
    nics = [
        f for f in cloudnet.get_devicelist()
        if distro.networking.is_physical(f)
    ]
    if not nics:
        return None
    return min(nics, key=lambda d: cloudnet.read_sys_net_int(d, "ifindex"))
Ejemplo n.º 2
0
 def test_read_sys_net_int_returns_integer_from_content(self):
     """read_sys_net_safe returns None on failures."""
     write_file(os.path.join(self.sysdir, 'dev', 'attr'), '1\n')
     self.assertEqual(1, net.read_sys_net_int('dev', 'attr'))
Ejemplo n.º 3
0
 def test_read_sys_net_int_returns_none_on_valueerror(self):
     """read_sys_net_safe returns None when content is not an int."""
     write_file(os.path.join(self.sysdir, 'dev', 'attr'), 'NOTINT\n')
     self.assertFalse(net.read_sys_net_int('dev', 'attr'))
Ejemplo n.º 4
0
 def test_read_sys_net_int_returns_none_on_error(self):
     """read_sys_net_safe returns None on failures."""
     self.assertFalse(net.read_sys_net_int('dev', 'attr'))
Ejemplo n.º 5
0
def get_link_local_nic():
    nics = [f for f in cloudnet.get_devicelist() if cloudnet.is_physical(f)]
    if not nics:
        return None
    return min(nics, key=lambda d: cloudnet.read_sys_net_int(d, 'ifindex'))
Ejemplo n.º 6
0
 def test_read_sys_net_int_returns_integer_from_content(self):
     """read_sys_net_safe returns None on failures."""
     write_file(os.path.join(self.sysdir, 'dev', 'attr'), '1\n')
     self.assertEqual(1, net.read_sys_net_int('dev', 'attr'))
Ejemplo n.º 7
0
 def test_read_sys_net_int_returns_none_on_valueerror(self):
     """read_sys_net_safe returns None when content is not an int."""
     write_file(os.path.join(self.sysdir, 'dev', 'attr'), 'NOTINT\n')
     self.assertFalse(net.read_sys_net_int('dev', 'attr'))
Ejemplo n.º 8
0
 def test_read_sys_net_int_returns_none_on_error(self):
     """read_sys_net_safe returns None on failures."""
     self.assertFalse(net.read_sys_net_int('dev', 'attr'))
Ejemplo n.º 9
0
def get_link_local_nic():
    nics = [f for f in cloudnet.get_devicelist() if cloudnet.is_physical(f)]
    if not nics:
        return None
    return min(nics, key=lambda d: cloudnet.read_sys_net_int(d, 'ifindex'))
Ejemplo n.º 10
0
def get_first_physical_interface():
    devs = [f for f in cloudnet.get_devicelist() if cloudnet.is_physical(f)]
    if not devs:
        raise RuntimeError("No interfaces find to configure link-local address")
    return min(devs, key=lambda d: cloudnet.read_sys_net_int(d, 'ifindex'))