本文整理汇总了Python中pyanaconda.nm.nm_devices函数的典型用法代码示例。如果您正苦于以下问题:Python nm_devices函数的具体用法?Python nm_devices怎么用?Python nm_devices使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了nm_devices函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: setNetworkOnbootDefault
def setNetworkOnbootDefault(self, ksdata):
# if something's already enabled, we can just leave the config alone
for devName in nm.nm_devices():
if not nm.nm_device_type_is_wifi(devName) and \
network.get_ifcfg_value(devName, "ONBOOT", ROOT_PATH) == "yes":
return
# the default otherwise: bring up the first wired netdev with link
for devName in nm.nm_devices():
if nm.nm_device_type_is_wifi(devName):
continue
try:
link_up = nm.nm_device_carrier(devName)
except ValueError as e:
continue
if link_up:
dev = network.NetworkDevice(ROOT_PATH + network.netscriptsDir, devName)
dev.loadIfcfgFile()
dev.set(('ONBOOT', 'yes'))
dev.writeIfcfgFile()
for nd in ksdata.network.network:
if nd.device == dev.iface:
nd.onboot = True
break
break
示例2: setNetworkOnbootDefault
def setNetworkOnbootDefault(self, ksdata):
# if something's already enabled, we can just leave the config alone
for devName in nm.nm_devices():
if nm.nm_device_type_is_wifi(devName):
continue
try:
onboot = nm.nm_device_setting_value(devName, "connection", "autoconnect")
except nm.SettingsNotFoundError:
continue
if not onboot == False:
return
# the default otherwise: bring up the first wired netdev with link
for devName in nm.nm_devices():
if nm.nm_device_type_is_wifi(devName):
continue
try:
link_up = nm.nm_device_carrier(devName)
except ValueError:
continue
if link_up:
ifcfg_path = network.find_ifcfg_file_of_device(devName, root_path=ROOT_PATH)
if not ifcfg_path:
continue
ifcfg = network.IfcfgFile(ifcfg_path)
ifcfg.read()
ifcfg.set(('ONBOOT', 'yes'))
ifcfg.write()
for nd in ksdata.network.network:
if nd.device == devName:
nd.onboot = True
break
break
示例3: find_ifcfg_file_of_device
def find_ifcfg_file_of_device(devname, root_path=""):
ifcfg_path = None
if devname not in nm.nm_devices():
return None
if nm.nm_device_type_is_wifi(devname):
ssid = nm.nm_device_active_ssid(devname)
if ssid:
ifcfg_path = find_ifcfg_file([("ESSID", ssid)])
elif nm.nm_device_type_is_bond(devname):
ifcfg_path = find_ifcfg_file([("DEVICE", devname)])
elif nm.nm_device_type_is_team(devname):
ifcfg_path = find_ifcfg_file([("DEVICE", devname)])
elif nm.nm_device_type_is_vlan(devname):
ifcfg_path = find_ifcfg_file([("DEVICE", devname)])
elif nm.nm_device_type_is_ethernet(devname):
try:
hwaddr = nm.nm_device_hwaddress(devname)
except nm.PropertyNotFoundError:
hwaddr = None
if hwaddr:
hwaddr_check = lambda mac: mac.upper() == hwaddr.upper()
nonempty = lambda x: x
# slave configration created in GUI takes precedence
ifcfg_path = find_ifcfg_file([("HWADDR", hwaddr_check), ("MASTER", nonempty)], root_path)
if not ifcfg_path:
ifcfg_path = find_ifcfg_file([("HWADDR", hwaddr_check), ("TEAM_MASTER", nonempty)], root_path)
if not ifcfg_path:
ifcfg_path = find_ifcfg_file([("HWADDR", hwaddr_check)], root_path)
if not ifcfg_path:
ifcfg_path = find_ifcfg_file([("DEVICE", devname)], root_path)
return ifcfg_path
示例4: dumpMissingDefaultIfcfgs
def dumpMissingDefaultIfcfgs():
"""
Dump missing default ifcfg file for wired devices.
For default auto connections created by NM upon start - which happens
in case of missing ifcfg file - rename the connection using device name
and dump its ifcfg file. (For server, default auto connections will
be turned off in NetworkManager.conf.)
The connection id (and consequently ifcfg file) is set to device name.
Returns True if any ifcfg file was dumped.
"""
rv = False
for devname in nm.nm_devices():
# for each ethernet device
# FIXME add more types (infiniband, bond...?)
if not nm.nm_device_type_is_ethernet(devname):
continue
# if there is no ifcfg file for the device
device_cfg = NetworkDevice(netscriptsDir, devname)
if os.access(device_cfg.path, os.R_OK):
continue
try:
nm.nm_update_settings_of_device(devname, 'connection', 'id', devname)
log.debug("network: dumping ifcfg file for default autoconnection on %s" % devname)
nm.nm_update_settings_of_device(devname, 'connection', 'autoconnect', False)
log.debug("network: setting autoconnect of %s to False" % devname)
except nm.DeviceSettingsNotFoundError as e:
log.debug("network: no ifcfg file for %s" % devname)
rv = True
return rv
示例5: _update_network_data
def _update_network_data(self):
hostname = self.data.network.hostname
self.data.network.network = []
for i, name in enumerate(nm.nm_devices()):
if network.is_ibft_configured_device(name):
continue
nd = network.ksdata_from_ifcfg(name)
if not nd:
continue
if name in nm.nm_activated_devices():
nd.activate = True
else:
# First network command defaults to --activate so we must
# use --no-activate explicitly to prevent the default
if i == 0:
nd.activate = False
self.data.network.network.append(nd)
(valid, error) = network.sanityCheckHostname(self.hostname_dialog.value)
if valid:
hostname = self.hostname_dialog.value
else:
self.errors.append(_("Host name is not valid: %s") % error)
self.hostname_dialog.value = hostname
network.update_hostname_data(self.data, hostname)
示例6: get_bond_slaves_from_ifcfgs
def get_bond_slaves_from_ifcfgs(master_specs):
"""List of slave device names of master specified by master_specs.
master_specs is a list containing device name of master (dracut)
and/or master's connection uuid
"""
slaves = []
for filepath in _ifcfg_files(netscriptsDir):
ifcfg = IfcfgFile(filepath)
ifcfg.read()
master = ifcfg.get("MASTER")
if master in master_specs:
device = ifcfg.get("DEVICE")
if device:
slaves.append(device)
else:
hwaddr = ifcfg.get("HWADDR")
for devname in nm.nm_devices():
try:
h = nm.nm_device_property(devname, "PermHwAddress")
except nm.PropertyNotFoundError:
log.debug("can't get PermHwAddress of devname %s", devname)
continue
if h.upper() == hwaddr.upper():
slaves.append(devname)
break
return slaves
示例7: networkInitialize
def networkInitialize(ksdata):
log.debug("network: devices found %s", nm.nm_devices())
logIfcfgFiles("network initialization")
if not flags.imageInstall:
devnames = apply_kickstart_from_pre_section(ksdata)
if devnames:
msg = "kickstart pre section applied for devices %s" % devnames
log.debug("network: %s", msg)
logIfcfgFiles(msg)
devnames = dumpMissingDefaultIfcfgs()
if devnames:
msg = "missing ifcfgs created for devices %s" % devnames
log.debug("network: %s", msg)
logIfcfgFiles(msg)
# For kickstart network --activate option we set ONBOOT=yes
# in dracut to get devices activated by NM. The real network --onboot
# value is set here.
devnames = setOnboot(ksdata)
if devnames:
msg = "setting real kickstart ONBOOT value for devices %s" % devnames
log.debug("network: %s", msg)
logIfcfgFiles(msg)
if ksdata.network.hostname is None:
hostname = getHostname()
update_hostname_data(ksdata, hostname)
示例8: refresh
def refresh(self):
"""
The refresh method that is called every time the spoke is displayed.
It should update the UI elements according to the contents of
self.data.
:see: pyanaconda.ui.common.UIObject.refresh
"""
## Every time we enter, make a list of all the devices that
# are not the public interface (user might have changed this)
pubif = network.default_route_device()
allifs = filter(lambda x: nm.nm_device_type_is_ethernet(x),\
nm.nm_devices())
privates = filter(lambda x: x != pubif,allifs)
idx = self.ifaceCombo.get_active()
self.deviceStore.clear()
for x in privates:
entry=[None,None,None,None]
entry[DEVICEIDX] = x
entry[TYPEIDX] = "ethernet"
entry[MACIDX] = nm.nm_device_valid_hwaddress(x)
entry[LABELIDX] = "%s;%s" % (x,entry[MACIDX])
self.deviceStore.append(entry)
if len(privates) == 0:
entry=[None,None,None,None]
entry[DEVICEIDX] = "%s:0" % pubif
entry[LABELIDX] = "%s;virtual interface" % entry[DEVICEIDX]
entry[TYPEIDX] = "virtual"
entry[MACIDX] = ""
self.deviceStore.append(entry)
# Set the active entry, even if we reodered
self.ifaceCombo.set_active(idx)
示例9: get_device_name
def get_device_name(devspec):
devices = nm.nm_devices()
devname = None
if not devspec:
if "ksdevice" in flags.cmdline:
msg = "ksdevice boot parameter"
devname = ks_spec_to_device_name(flags.cmdline["ksdevice"])
elif nm.nm_is_connected():
# device activated in stage 1 by network kickstart command
msg = "first active device"
try:
devname = nm.nm_activated_devices()[0]
except IndexError:
log.debug("get_device_name: NM is connected but no activated devices found")
else:
msg = "first device found"
devname = min(devices)
log.info("unspecified network --device in kickstart, using %s (%s)", devname, msg)
else:
if iutil.lowerASCII(devspec) == "ibft":
devname = ""
if iutil.lowerASCII(devspec) == "link":
for dev in sorted(devices):
try:
link_up = nm.nm_device_carrier(dev)
except ValueError as e:
log.debug("get_device_name: %s", e)
continue
if link_up:
devname = dev
break
else:
log.error("Kickstart: No network device with link found")
elif iutil.lowerASCII(devspec) == "bootif":
if "BOOTIF" in flags.cmdline:
# MAC address like 01-aa-bb-cc-dd-ee-ff
devname = flags.cmdline["BOOTIF"][3:]
devname = devname.replace("-", ":")
else:
log.error("Using --device=bootif without BOOTIF= boot option supplied")
else:
devname = devspec
if devname and devname not in devices:
for d in devices:
try:
hwaddr = nm.nm_device_hwaddress(d)
except ValueError as e:
log.debug("get_device_name: %s", e)
continue
if hwaddr.lower() == devname.lower():
devname = d
break
else:
return ""
return devname
示例10: refresh
def refresh(self):
self._nicCombo.remove_all()
for devname in nm.nm_devices():
if nm.nm_device_type_is_ethernet(devname):
self._nicCombo.append_text("%s - %s" % (devname, nm.nm_device_hwaddress(devname)))
self._nicCombo.set_active(0)
示例11: disableIPV6
def disableIPV6(rootpath):
cfgfile = os.path.normpath(rootpath + ipv6ConfFile)
if ('noipv6' in flags.cmdline
and all(nm.nm_device_setting_value(dev, "ipv6", "method") == "ignore"
for dev in nm.nm_devices() if nm.nm_device_type_is_ethernet(dev))):
log.info('Disabling ipv6 on target system')
with open(cfgfile, "a") as f:
f.write("# Anaconda disabling ipv6 (noipv6 option)\n")
f.write("net.ipv6.conf.all.disable_ipv6=1\n")
f.write("net.ipv6.conf.default.disable_ipv6=1\n")
示例12: initialize
def initialize(self):
for name in nm.nm_devices():
if nm.nm_device_type_is_ethernet(name):
# ignore slaves
if nm.nm_device_setting_value(name, "connection", "slave-type"):
continue
self.supported_devices.append(name)
EditTUISpoke.initialize(self)
if not self.data.network.seen:
self._update_network_data()
示例13: disableNMForStorageDevices
def disableNMForStorageDevices(rootpath, storage):
for devname in nm.nm_devices():
if usedByFCoE(devname, storage) or usedByRootOnISCSI(devname, storage):
ifcfg_path = find_ifcfg_file_of_device(devname, root_path=rootpath)
if not ifcfg_path:
log.warning("disableNMForStorageDevices: ifcfg file for %s not found", devname)
continue
ifcfg = IfcfgFile(ifcfg_path)
ifcfg.read()
ifcfg.set(("NM_CONTROLLED", "no"))
ifcfg.write()
log.info("network device %s used by storage will not be " "controlled by NM", devname)
示例14: get_device_name
def get_device_name(network_data):
ksspec = network_data.device or flags.cmdline.get('ksdevice', "")
dev_name = ks_spec_to_device_name(ksspec)
if not dev_name:
return ""
if dev_name not in nm.nm_devices():
if not any((network_data.vlanid, network_data.bondslaves, network_data.teamslaves)):
return ""
if network_data.vlanid:
dev_name = "%s.%s" % (dev_name, network_data.vlanid)
return dev_name
示例15: _load_new_devices
def _load_new_devices(self):
devices = nm.nm_devices()
intf_dumped = network.dumpMissingDefaultIfcfgs()
if intf_dumped:
log.debug("Dumped interfaces: %s", intf_dumped)
for name in devices:
if name in self.supported_devices:
continue
if nm.nm_device_type_is_ethernet(name):
# ignore slaves
if nm.nm_device_setting_value(name, "connection", "slave-type"):
continue
self.supported_devices.append(name)