1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
|
import abc
from cloudinit import net
# Type aliases (https://docs.python.org/3/library/typing.html#type-aliases),
# used to make the signatures of methods a little clearer
DeviceName = str
NetworkConfig = dict
class Networking(metaclass=abc.ABCMeta):
"""The root of the Networking hierarchy in cloud-init.
This is part of an ongoing refactor in the cloud-init codebase, for more
details see "``cloudinit.net`` -> ``cloudinit.distros.networking``
Hierarchy" in HACKING.rst for full details.
"""
def _get_current_rename_info(self) -> dict:
return net._get_current_rename_info()
def _rename_interfaces(self, renames: list, *, current_info=None) -> None:
return net._rename_interfaces(renames, current_info=current_info)
def apply_network_config_names(self, netcfg: NetworkConfig) -> None:
return net.apply_network_config_names(netcfg)
def device_devid(self, devname: DeviceName):
return net.device_devid(devname)
def device_driver(self, devname: DeviceName):
return net.device_driver(devname)
def extract_physdevs(self, netcfg: NetworkConfig) -> list:
return net.extract_physdevs(netcfg)
def find_fallback_nic(self, *, blacklist_drivers=None):
return net.find_fallback_nic(blacklist_drivers=blacklist_drivers)
def generate_fallback_config(
self, *, blacklist_drivers=None, config_driver: bool = False
):
return net.generate_fallback_config(
blacklist_drivers=blacklist_drivers, config_driver=config_driver
)
def get_devicelist(self) -> list:
return net.get_devicelist()
def get_ib_hwaddrs_by_interface(self) -> dict:
return net.get_ib_hwaddrs_by_interface()
def get_ib_interface_hwaddr(
self, devname: DeviceName, ethernet_format: bool
):
return net.get_ib_interface_hwaddr(devname, ethernet_format)
def get_interface_mac(self, devname: DeviceName):
return net.get_interface_mac(devname)
def get_interfaces(self) -> list:
return net.get_interfaces()
def get_interfaces_by_mac(self) -> dict:
return net.get_interfaces_by_mac()
def get_master(self, devname: DeviceName):
return net.get_master(devname)
def interface_has_own_mac(
self, devname: DeviceName, *, strict: bool = False
) -> bool:
return net.interface_has_own_mac(devname, strict=strict)
def is_bond(self, devname: DeviceName) -> bool:
return net.is_bond(devname)
def is_bridge(self, devname: DeviceName) -> bool:
return net.is_bridge(devname)
def is_physical(self, devname: DeviceName) -> bool:
return net.is_physical(devname)
def is_renamed(self, devname: DeviceName) -> bool:
return net.is_renamed(devname)
def is_up(self, devname: DeviceName) -> bool:
return net.is_up(devname)
def is_vlan(self, devname: DeviceName) -> bool:
return net.is_vlan(devname)
def master_is_bridge_or_bond(self, devname: DeviceName) -> bool:
return net.master_is_bridge_or_bond(devname)
def wait_for_physdevs(
self, netcfg: NetworkConfig, *, strict: bool = True
) -> None:
return net.wait_for_physdevs(netcfg, strict=strict)
class BSDNetworking(Networking):
"""Implementation of networking functionality shared across BSDs."""
pass
class LinuxNetworking(Networking):
"""Implementation of networking functionality common to Linux distros."""
def get_dev_features(self, devname: DeviceName) -> str:
return net.get_dev_features(devname)
def has_netfail_standby_feature(self, devname: DeviceName) -> bool:
return net.has_netfail_standby_feature(devname)
def is_netfailover(self, devname: DeviceName) -> bool:
return net.is_netfailover(devname)
def is_netfail_master(self, devname: DeviceName) -> bool:
return net.is_netfail_master(devname)
def is_netfail_primary(self, devname: DeviceName) -> bool:
return net.is_netfail_primary(devname)
def is_netfail_standby(self, devname: DeviceName) -> bool:
return net.is_netfail_standby(devname)
|