本文整理汇总了Python中vdsm.netconfpersistence.RunningConfig.removeBonding方法的典型用法代码示例。如果您正苦于以下问题:Python RunningConfig.removeBonding方法的具体用法?Python RunningConfig.removeBonding怎么用?Python RunningConfig.removeBonding使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类vdsm.netconfpersistence.RunningConfig
的用法示例。
在下文中一共展示了RunningConfig.removeBonding方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: Iproute2
# 需要导入模块: from vdsm.netconfpersistence import RunningConfig [as 别名]
# 或者: from vdsm.netconfpersistence.RunningConfig import removeBonding [as 别名]
#.........这里部分代码省略.........
for nic in nicsToRemove:
slave = Nic(nic, self, _netinfo=_netinfo)
self.configApplier.removeBondSlave(bond, slave)
slave.remove()
if not bond.areOptionsApplied():
self.configApplier.ifdown(bond)
self.configApplier.addBondOptions(bond)
for slave in bond.slaves:
if slave.name in nicsToAdd:
self.configApplier.addBondSlave(bond, slave)
self.configApplier.ifup(bond)
self.runningConfig.setBonding(
bond.name, {'options': bond.options,
'nics': [slave.name for slave in bond.slaves]})
def configureNic(self, nic, **opts):
DynamicSourceRoute.addInterfaceTracking(nic)
self.configApplier.setIfaceConfigAndUp(nic)
self._addSourceRoute(nic)
ethtool_opts = getEthtoolOpts(nic.name)
if ethtool_opts:
# We ignore ethtool's return code to maintain initscripts'
# behaviour.
execCmd(
[_ETHTOOL_BINARY.cmd, '-K', nic.name] + ethtool_opts.split())
def removeBridge(self, bridge):
DynamicSourceRoute.addInterfaceTracking(bridge)
self.configApplier.ifdown(bridge)
self._removeSourceRoute(bridge, DynamicSourceRoute)
self.configApplier.removeBridge(bridge)
if bridge.port:
bridge.port.remove()
def removeVlan(self, vlan):
DynamicSourceRoute.addInterfaceTracking(vlan)
self.configApplier.ifdown(vlan)
self._removeSourceRoute(vlan, DynamicSourceRoute)
self.configApplier.removeVlan(vlan)
vlan.device.remove()
def _destroyBond(self, bonding):
for slave in bonding.slaves:
self.configApplier.removeBondSlave(bonding, slave)
slave.remove()
self.configApplier.removeBond(bonding)
def removeBond(self, bonding):
toBeRemoved = not netinfo.ifaceUsed(bonding.name)
if toBeRemoved:
if bonding.master is None:
self.configApplier.removeIpConfig(bonding)
DynamicSourceRoute.addInterfaceTracking(bonding)
self._removeSourceRoute(bonding, DynamicSourceRoute)
if bonding.destroyOnMasterRemoval:
self._destroyBond(bonding)
self.runningConfig.removeBonding(bonding.name)
else:
self.configApplier.setIfaceMtu(bonding.name,
netinfo.DEFAULT_MTU)
self.configApplier.ifdown(bonding)
else:
self._setNewMtu(bonding, netinfo.vlanDevsForIface(bonding.name))
def removeNic(self, nic):
toBeRemoved = not netinfo.ifaceUsed(nic.name)
if toBeRemoved:
if nic.master is None:
self.configApplier.removeIpConfig(nic)
DynamicSourceRoute.addInterfaceTracking(nic)
self._removeSourceRoute(nic, DynamicSourceRoute)
else:
self.configApplier.setIfaceMtu(nic.name,
netinfo.DEFAULT_MTU)
self.configApplier.ifdown(nic)
else:
self._setNewMtu(nic, netinfo.vlanDevsForIface(nic.name))
@staticmethod
def configureSourceRoute(routes, rules, device):
for route in routes:
routeAdd(route)
for rule in rules:
ruleAdd(rule)
@staticmethod
def removeSourceRoute(routes, rules, device):
for route in routes:
routeDel(route)
for rule in rules:
ruleDel(rule)
示例2: Ifcfg
# 需要导入模块: from vdsm.netconfpersistence import RunningConfig [as 别名]
# 或者: from vdsm.netconfpersistence.RunningConfig import removeBonding [as 别名]
#.........这里部分代码省略.........
def configureNic(self, nic, **opts):
self.configApplier.addNic(nic, **opts)
self._addSourceRoute(nic)
if nic.bond is None:
if not vlans.is_vlanned(nic.name):
ifdown(nic.name)
_ifup(nic)
def removeBridge(self, bridge):
DynamicSourceRoute.addInterfaceTracking(bridge)
ifdown(bridge.name)
self._removeSourceRoute(bridge, StaticSourceRoute)
commands.execCmd([constants.EXT_BRCTL, 'delbr', bridge.name])
self.configApplier.removeBridge(bridge.name)
if bridge.port:
bridge.port.remove()
def removeVlan(self, vlan):
DynamicSourceRoute.addInterfaceTracking(vlan)
ifdown(vlan.name)
self._removeSourceRoute(vlan, StaticSourceRoute)
self.configApplier.removeVlan(vlan.name)
vlan.device.remove()
def _ifaceDownAndCleanup(self, iface, remove_even_if_used=False):
"""Returns True iff the iface is to be removed."""
DynamicSourceRoute.addInterfaceTracking(iface)
to_be_removed = remove_even_if_used or not ifaceUsed(iface.name)
if to_be_removed:
ifdown(iface.name)
self._removeSourceRoute(iface, StaticSourceRoute)
return to_be_removed
def _addSourceRoute(self, netEnt):
"""For ifcfg tracking can be done together with route/rule addition"""
super(Ifcfg, self)._addSourceRoute(netEnt)
DynamicSourceRoute.addInterfaceTracking(netEnt)
def removeBond(self, bonding):
to_be_removed = self._ifaceDownAndCleanup(bonding)
if to_be_removed:
self.configApplier.removeBonding(bonding.name)
if bonding.destroyOnMasterRemoval:
for slave in bonding.slaves:
slave.remove()
if self.unifiedPersistence:
self.runningConfig.removeBonding(bonding.name)
else: # Recreate the bond with ip and master info cleared
bonding.ipv4 = IPv4()
bonding.ipv6 = IPv6()
bonding.master = None
bonding.configure()
else:
set_mtu = self._setNewMtu(bonding,
vlans.vlan_devs_for_iface(bonding.name))
# Since we are not taking the device up again, ifcfg will not be
# read at this point and we need to set the live mtu value.
# Note that ip link set dev bondX mtu Y sets Y on all its links
if set_mtu is not None:
ipwrapper.linkSet(bonding.name, ['mtu', str(set_mtu)])
def removeNic(self, nic, remove_even_if_used=False):
to_be_removed = self._ifaceDownAndCleanup(nic, remove_even_if_used)
if to_be_removed:
self.configApplier.removeNic(nic.name)
if nic.name in nics.nics():
_exec_ifup(nic.name)
else:
logging.warning('host interface %s missing', nic.name)
else:
set_mtu = self._setNewMtu(nic, vlans.vlan_devs_for_iface(nic.name))
# Since we are not taking the device up again, ifcfg will not be
# read at this point and we need to set the live mtu value
if set_mtu is not None:
ipwrapper.linkSet(nic.name, ['mtu', str(set_mtu)])
def _getFilePath(self, fileType, device):
return os.path.join(NET_CONF_DIR, '%s-%s' % (fileType, device))
def _removeSourceRouteFile(self, fileType, device):
filePath = self._getFilePath(fileType, device)
self.configApplier._backup(filePath)
self.configApplier._removeFile(filePath)
def _writeConfFile(self, contents, fileType, device):
filePath = self._getFilePath(fileType, device)
configuration = ''
for entry in contents:
configuration += str(entry) + '\n'
self.configApplier.writeConfFile(filePath, configuration)
def configureSourceRoute(self, routes, rules, device):
self._writeConfFile(routes, 'route', device)
self._writeConfFile(rules, 'rule', device)
def removeSourceRoute(self, routes, rules, device):
self._removeSourceRouteFile('rule', device)
self._removeSourceRouteFile('route', device)
示例3: Iproute2
# 需要导入模块: from vdsm.netconfpersistence import RunningConfig [as 别名]
# 或者: from vdsm.netconfpersistence.RunningConfig import removeBonding [as 别名]
#.........这里部分代码省略.........
if not bond.areOptionsApplied():
self.configApplier.ifdown(bond)
self.configApplier.addBondOptions(bond)
for slave in bond.slaves:
if slave.name in nicsToAdd:
self.configApplier.addBondSlave(bond, slave)
self.configApplier.ifup(bond)
self.runningConfig.setBonding(
bond.name, {"options": bond.options, "nics": [slave.name for slave in bond.slaves]}
)
def configureNic(self, nic, **opts):
DynamicSourceRoute.addInterfaceTracking(nic)
self.configApplier.setIfaceConfigAndUp(nic)
self._addSourceRoute(nic)
ethtool_opts = getEthtoolOpts(nic.name)
if ethtool_opts:
# We ignore ethtool's return code to maintain initscripts'
# behaviour.
execCmd([_ETHTOOL_BINARY.cmd, "-K", nic.name] + ethtool_opts.split())
def removeBridge(self, bridge):
DynamicSourceRoute.addInterfaceTracking(bridge)
self.configApplier.ifdown(bridge)
self._removeSourceRoute(bridge, DynamicSourceRoute)
self.configApplier.removeBridge(bridge)
if bridge.port:
bridge.port.remove()
def removeVlan(self, vlan):
DynamicSourceRoute.addInterfaceTracking(vlan)
self.configApplier.ifdown(vlan)
self._removeSourceRoute(vlan, DynamicSourceRoute)
self.configApplier.removeVlan(vlan)
vlan.device.remove()
def _destroyBond(self, bonding):
for slave in bonding.slaves:
self.configApplier.removeBondSlave(bonding, slave)
slave.remove()
self.configApplier.removeBond(bonding)
def removeBond(self, bonding):
toBeRemoved = not netinfo.ifaceUsed(bonding.name)
if toBeRemoved:
if bonding.master is None:
self.configApplier.removeIpConfig(bonding)
DynamicSourceRoute.addInterfaceTracking(bonding)
self._removeSourceRoute(bonding, DynamicSourceRoute)
if bonding.destroyOnMasterRemoval:
self._destroyBond(bonding)
self.runningConfig.removeBonding(bonding.name)
else:
self.configApplier.setIfaceMtu(bonding.name, netinfo.DEFAULT_MTU)
self.configApplier.ifdown(bonding)
else:
self._setNewMtu(bonding, netinfo.vlanDevsForIface(bonding.name))
def removeNic(self, nic):
toBeRemoved = not netinfo.ifaceUsed(nic.name)
if toBeRemoved:
if nic.master is None:
self.configApplier.removeIpConfig(nic)
DynamicSourceRoute.addInterfaceTracking(nic)
self._removeSourceRoute(nic, DynamicSourceRoute)
else:
self.configApplier.setIfaceMtu(nic.name, netinfo.DEFAULT_MTU)
self.configApplier.ifdown(nic)
else:
self._setNewMtu(nic, netinfo.vlanDevsForIface(nic.name))
@staticmethod
def configureSourceRoute(routes, rules, device):
for route in routes:
routeAdd(route)
for rule in rules:
ruleAdd(rule)
@staticmethod
def removeSourceRoute(routes, rules, device):
for route in routes:
try:
routeDel(route)
except IPRoute2Error as e:
if "No such process" in e.message[0]:
# The kernel or dhclient has won the race and removed the
# route already. We have yet to remove routing rules.
pass
else:
raise
for rule in rules:
ruleDel(rule)