Change in vdsm[master]: Fix flake8 warnings for network code.
asegurap at redhat.com
asegurap at redhat.com
Tue Dec 11 14:35:03 UTC 2012
Antoni Segura Puimedon has uploaded a new change for review.
Change subject: Fix flake8 warnings for network code.
......................................................................
Fix flake8 warnings for network code.
This patch fixes flake8 complaints on the code related to
networking and libvirtvm.
Change-Id: I59cd4d8bb41c1ce71b91b45ff7fe2f10f25eb577
Signed-off-by: Antoni S. Puimedon <asegurap at redhat.com>
---
M tests/configNetworkTests.py
M tests/libvirtvmTests.py
M tests/tcTests.py
M vdsm/configNetwork.py
M vdsm/libvirtvm.py
M vdsm/netinfo.py
6 files changed, 218 insertions(+), 235 deletions(-)
git pull ssh://gerrit.ovirt.org:29418/vdsm refs/changes/46/9846/1
diff --git a/tests/configNetworkTests.py b/tests/configNetworkTests.py
index 5f7cce4..07291db 100644
--- a/tests/configNetworkTests.py
+++ b/tests/configNetworkTests.py
@@ -189,37 +189,31 @@
@MonkeyPatch(netinfo, 'networks', _fakeNetworks)
def testAddNetworkValidation(self):
_netinfo = {
- 'networks': {
- 'fakent': {'iface': 'fakeint', 'bridged': False},
- 'fakebrnet': {'iface': 'fakebr', 'bridged': True, 'ports':
- ['eth0', 'eth1']},
- 'fakebrnet1': {'iface': 'fakebr1', 'bridged': True,
- 'ports': ['bond00']},
- 'fakebrnet2': {'iface': 'fakebr2', 'bridged': True,
- 'ports': ['eth7.1']},
- 'fakebrnet3': {'iface': 'eth8', 'bridged': False}
- },
- 'vlans': {
- 'eth3.2': {
- 'iface': 'eth3',
- 'addr': '10.10.10.10',
- 'netmask': '255.255.0.0',
- 'mtu': 1500
- },
- 'eth7.1': {
- 'iface': 'eth7',
- 'addr': '192.168.100.1',
- 'netmask': '255.255.255.0',
- 'mtu': 1500
- }
- },
- 'nics': ['eth0', 'eth1', 'eth2', 'eth3', 'eth4', 'eth5',
- 'eth6', 'eth7', 'eth8', 'eth9', 'eth10'],
- 'bondings': {
- 'bond00': {
- 'slaves': ['eth5', 'eth6']
- }
- }
+ 'networks': {
+ 'fakent': {'iface': 'fakeint', 'bridged': False},
+ 'fakebrnet': {'iface': 'fakebr', 'bridged': True,
+ 'ports': ['eth0', 'eth1']},
+ 'fakebrnet1': {'iface': 'fakebr1', 'bridged': True,
+ 'ports': ['bond00']},
+ 'fakebrnet2': {'iface': 'fakebr2', 'bridged': True,
+ 'ports': ['eth7.1']},
+ 'fakebrnet3': {'iface': 'eth8', 'bridged': False}
+ },
+ 'vlans': {
+ 'eth3.2': {'iface': 'eth3',
+ 'addr': '10.10.10.10',
+ 'netmask': '255.255.0.0',
+ 'mtu': 1500
+ },
+ 'eth7.1': {'iface': 'eth7',
+ 'addr': '192.168.100.1',
+ 'netmask': '255.255.255.0',
+ 'mtu': 1500
+ }
+ },
+ 'nics': ['eth0', 'eth1', 'eth2', 'eth3', 'eth4', 'eth5', 'eth6',
+ 'eth7', 'eth8', 'eth9', 'eth10'],
+ 'bondings': {'bond00': {'slaves': ['eth5', 'eth6']}}
}
netinfoIns = netinfo.NetInfo(_netinfo)
@@ -314,12 +308,11 @@
TestCaseBase.__init__(self, *args, **kwargs)
self._tempdir = tempfile.mkdtemp()
self._files = tuple((os.path.join(self._tempdir, bn), init, makeDirty)
- for bn, init, makeDirty in
- (('ifcfg-eth0', self.INITIAL_CONTENT, True),
- ('ifcfg-eth1', None, True),
- ('ifcfg-eth2', None, False),
- ('ifcfg-eth3', self.INITIAL_CONTENT, False),
- ))
+ for bn, init, makeDirty in
+ (('ifcfg-eth0', self.INITIAL_CONTENT, True),
+ ('ifcfg-eth1', None, True),
+ ('ifcfg-eth2', None, False),
+ ('ifcfg-eth3', self.INITIAL_CONTENT, False),))
def __del__(self):
shutil.rmtree(self._tempdir)
diff --git a/tests/libvirtvmTests.py b/tests/libvirtvmTests.py
index 4ed7318..4bd3a77 100644
--- a/tests/libvirtvmTests.py
+++ b/tests/libvirtvmTests.py
@@ -43,7 +43,7 @@
else:
elem = ET.fromstring(element.toprettyxml())
converted = re.sub(' />', '/>',
- ET.tostring(elem.find("./%s" % path)))
+ ET.tostring(elem.find("./%s" % path)))
self.assertEqual(re.sub('\n\s*', ' ', converted).strip(' '),
re.sub('\n\s*', ' ', expectedXML).strip(' '))
@@ -370,7 +370,7 @@
vmConfs = [{}, {'custom': {'viodiskcache': 'writethrough'}}, {}]
for (devConf, xml, blockDev, vmConf) in \
- zip(devConfs, expectedXMLs, blockDevs, vmConfs):
+ zip(devConfs, expectedXMLs, blockDevs, vmConfs):
drive = libvirtvm.Drive(vmConf, self.log, **devConf)
# Patch Drive.blockDev to skip the block device checking.
drive._blockDev = blockDev
diff --git a/tests/tcTests.py b/tests/tcTests.py
index dee8c5b..1983ea1 100644
--- a/tests/tcTests.py
+++ b/tests/tcTests.py
@@ -96,7 +96,7 @@
def addDevice(self):
self._cloneDevice = open('/dev/net/tun', 'r+b')
ifr = struct.pack('16sH', self.devName, self._IFF_TAP |
- self._IFF_NO_PI)
+ self._IFF_NO_PI)
fcntl.ioctl(self._cloneDevice, self._TUNSETIFF, ifr)
self._ifUp()
@@ -106,7 +106,7 @@
def startListener(self, icmp):
self._deviceListener = Process(target=_listenOnDevice,
- args=(self._cloneDevice.fileno(), icmp))
+ args=(self._cloneDevice.fileno(), icmp))
self._deviceListener.start()
def isListenerAlive(self):
@@ -131,15 +131,15 @@
dev.addDevice()
except:
raise SkipTest("'brctl' has failed. Do you have bride-utils "
- "installed?")
+ "installed?")
null = open("/dev/null", "a")
try:
check_call([EXT_TC, 'qdisc', 'add', 'dev', dev.devName, 'ingress'],
- stderr=null)
+ stderr=null)
except:
raise SkipTest("'tc' has failed. Do you have Traffic Control kernel "
- "modules installed?")
+ "modules installed?")
finally:
null.close()
dev.delDevice()
@@ -157,20 +157,20 @@
self._bridge.delDevice()
def _showQdisc(self):
- popen = Popen([EXT_TC, "qdisc", "show", "dev",
- self._bridge.devName], stdout=PIPE)
+ popen = Popen([EXT_TC, "qdisc", "show", "dev", self._bridge.devName],
+ stdout=PIPE)
return popen.stdout.read()
def _addIngress(self):
tc.qdisc_replace_ingress(self._bridge.devName)
self.assertTrue("qdisc ingress" in self._showQdisc(),
- "Could not add an ingress qdisc to the device.")
+ "Could not add an ingress qdisc to the device.")
def testToggleIngress(self):
self._addIngress()
tc.qdisc_del(self._bridge.devName, 'ingress')
self.assertFalse("qdisc ingress" in self._showQdisc(),
- "Could not remove an ingress qdisc from the device.")
+ "Could not remove an ingress qdisc from the device.")
def testQdiscsOfDevice(self):
self._addIngress()
@@ -185,15 +185,17 @@
def testTogglePromisc(self):
tc.set_promisc(self._bridge.devName, True)
self.assertTrue(ethtool.get_flags(self._bridge.devName) &
- ethtool.IFF_PROMISC, "Could not enable promiscuous mode.")
+ ethtool.IFF_PROMISC,
+ "Could not enable promiscuous mode.")
tc.set_promisc(self._bridge.devName, False)
self.assertFalse(ethtool.get_flags(self._bridge.devName) &
- ethtool.IFF_PROMISC, "Could not disable promiscuous mode.")
+ ethtool.IFF_PROMISC,
+ "Could not disable promiscuous mode.")
def testException(self):
self.assertRaises(tc.TrafficControlException, tc.qdisc_del,
- self._bridge.devName + "A", 'ingress')
+ self._bridge.devName + "A", 'ingress')
class TestFilters(TestCaseBase):
@@ -202,13 +204,13 @@
path = os.path.join(dirName, "tc_filter_show.out")
out = file(path).read()
PARSED_FILTERS = (
- tc.Filter(prio='49149', handle='803::800',
- actions=[tc.MirredAction(target='tap1')]),
- tc.Filter(prio='49150', handle='802::800',
- actions=[tc.MirredAction(target='tap2')]),
- tc.Filter(prio='49152', handle='800::800',
- actions=[tc.MirredAction(target='target'),
- tc.MirredAction(target='target2')]))
+ tc.Filter(prio='49149', handle='803::800',
+ actions=[tc.MirredAction(target='tap1')]),
+ tc.Filter(prio='49150', handle='802::800',
+ actions=[tc.MirredAction(target='tap2')]),
+ tc.Filter(prio='49152', handle='800::800',
+ actions=[tc.MirredAction(target='target'),
+ tc.MirredAction(target='target2')]))
self.assertEqual(tuple(tc.filters('bridge', 'parent', out=out)),
PARSED_FILTERS)
@@ -228,9 +230,9 @@
#just an echo request from 192.168.0.52 to 192.168.0.3
_ICMP = unhexlify("001cc0d044dc00215c4d4275080045000054000040004001b921c0a"
- "80034c0a800030800dd200c1400016b52085000000000d7540500000000001011"
- "12131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f30313"
- "23334353637")
+ "80034c0a800030800dd200c1400016b52085000000000d754050000"
+ "000000101112131415161718191a1b1c1d1e1f20212223242526272"
+ "8292a2b2c2d2e2f3031323334353637")
_tap0 = _Tap()
_tap1 = _Tap()
@@ -274,12 +276,12 @@
def testMirroring(self):
tc.setPortMirroring(self._bridge0.devName, self._bridge1.devName)
- self.assertTrue(self._sendPing(), " Bridge received no mirrored ping "
- "requests.")
+ self.assertTrue(self._sendPing(), "Bridge received no mirrored ping "
+ "requests.")
tc.unsetPortMirroring(self._bridge0.devName, self._bridge1.devName)
- self.assertFalse(self._sendPing(), " Bridge received mirrored ping "
- "requests, but mirroring is unset.")
+ self.assertFalse(self._sendPing(), "Bridge received mirrored ping "
+ "requests, but mirroring is unset.")
def testMirroringWithDistraction(self):
"setting another mirror action should not obstract the first one"
diff --git a/vdsm/configNetwork.py b/vdsm/configNetwork.py
index 53debfa..4b0c9ce 100755
--- a/vdsm/configNetwork.py
+++ b/vdsm/configNetwork.py
@@ -192,9 +192,10 @@
<bridge name='%s'/></network>''' % (escape(netName),
escape(network))
else:
- netXml = '''<network><name>%s</name><forward mode='passthrough'>
- <interface dev='%s'/></forward></network>''' % \
- (escape(netName), escape(iface))
+ netXml = (
+ '''<network><name>%s</name><forward mode='passthrough'>'''
+ '''<interface dev='%s'/></forward></network>''' %
+ (escape(netName), escape(iface)))
if not skipBackup:
self._networkBackup(network)
self._createNetwork(netXml)
@@ -265,8 +266,8 @@
content = cls.DELETED_HEADER + '\n'
logging.debug("backing up network %s: %s", network, content)
- cls.writeBackupFile(netinfo.NET_LOGICALNET_CONF_BACK_DIR,
- network, content)
+ cls.writeBackupFile(netinfo.NET_LOGICALNET_CONF_BACK_DIR, network,
+ content)
def restoreAtomicNetworkBackup(self):
logging.info("Rolling back logical networks configuration "
@@ -312,8 +313,8 @@
for confFile, content in self._backups.iteritems():
if content is None:
utils.rmFile(confFile)
- logging.debug(
- 'Removing empty configuration backup %s', confFile)
+ logging.debug('Removing empty configuration backup %s',
+ confFile)
else:
open(confFile, 'w').write(content)
logging.info('Restored %s', confFile)
@@ -323,7 +324,7 @@
""" Persistently backup ifcfg-* config files """
if os.path.exists('/usr/libexec/ovirt-functions'):
execCmd([constants.EXT_SH, '/usr/libexec/ovirt-functions',
- 'unmount_config', filename])
+ 'unmount_config', filename])
logging.debug("unmounted %s using ovirt", filename)
(dummy, basename) = os.path.split(filename)
@@ -394,7 +395,7 @@
selinux.restorecon(fileName)
except:
logging.debug('ignoring restorecon error in case '
- 'SElinux is disabled', exc_info=True)
+ 'SElinux is disabled', exc_info=True)
def _createConfFile(self, conf, name, ipaddr=None, netmask=None,
gateway=None, bootproto=None, mtu=None, onboot='yes',
@@ -431,7 +432,8 @@
self.writeConfFile(self.NET_CONF_PREF + name, cfg)
def addBridge(self, name, ipaddr=None, netmask=None, mtu=None,
- gateway=None, bootproto=None, delay='0', onboot='yes', **kwargs):
+ gateway=None, bootproto=None, delay='0', onboot='yes',
+ **kwargs):
""" Create ifcfg-* file with proper fields for bridge """
conf = 'TYPE=Bridge\nDELAY=%s\n' % pipes.quote(delay)
self._createConfFile(conf, name, ipaddr, netmask, gateway,
@@ -484,8 +486,8 @@
onboot='yes', **kwargs):
""" Create ifcfg-* file with proper fields for NIC """
_netinfo = netinfo.NetInfo()
- hwaddr = _netinfo.nics[nic].get('permhwaddr') or \
- _netinfo.nics[nic]['hwaddr']
+ hwaddr = (_netinfo.nics[nic].get('permhwaddr') or
+ _netinfo.nics[nic]['hwaddr'])
conf = 'HWADDR=%s\n' % pipes.quote(hwaddr)
if bridge:
@@ -727,11 +729,11 @@
key, value = option.split('=')
if not os.path.exists(
'/sys/class/net/%(bonding)s/bonding/%(key)s' % locals()):
- raise ConfigNetworkError(ne.ERR_BAD_BONDING,
- "%r is not a valid bonding option" % key)
+ raise ConfigNetworkError(ne.ERR_BAD_BONDING, '%r is not a '
+ 'valid bonding option' % key)
except ValueError:
- raise ConfigNetworkError(ne.ERR_BAD_BONDING,
- "Error parsing bonding options: %r" % bondingOptions)
+ raise ConfigNetworkError(ne.ERR_BAD_BONDING, 'Error parsing bonding '
+ 'options: %r' % bondingOptions)
def validateVlanId(vlan):
@@ -758,9 +760,9 @@
# is a non-VLANed network over our iface
for (iface_net, iface_vlan) in ifaces:
if iface_vlan is None:
- raise ConfigNetworkError(ne.ERR_BAD_PARAMS,
- "interface %r already member of network %r" %
- (iface, iface_net))
+ raise ConfigNetworkError(ne.ERR_BAD_PARAMS, 'interface %r '
+ 'already member of network %r' %
+ (iface, iface_net))
ifaces_bridgeless = tuple(ni.getBridgelessNetworksAndVlansForIface(iface))
ifaces_bridged = tuple(ni.getBridgedNetworksAndVlansForIface(iface))
@@ -780,9 +782,8 @@
# Want to add non-VLANed bridged network,
# check whether interface is empty
elif ifaces_bridged or ifaces_bridgeless:
- raise ConfigNetworkError(ne.ERR_BAD_PARAMS,
- "interface %r already has networks" %
- (iface))
+ raise ConfigNetworkError(ne.ERR_BAD_PARAMS, 'interface %r already '
+ 'has networks' % (iface))
def _addNetworkValidation(_netinfo, network, vlan, bonding, nics, ipaddr,
@@ -794,8 +795,8 @@
if bonding and implicitBonding:
pass
elif (vlan or bonding) and not nics:
- raise ConfigNetworkError(ne.ERR_BAD_PARAMS,
- 'vlan/bonding definition requires nics. got: %r' % (nics,))
+ raise ConfigNetworkError(ne.ERR_BAD_PARAMS, 'vlan/bonding definition '
+ 'requires nics. got: %r' % (nics,))
# Check bridge
if bridged:
@@ -811,8 +812,8 @@
# Check ip, netmask, gateway
if ipaddr:
if not netmask:
- raise ConfigNetworkError(ne.ERR_BAD_ADDR,
- "Must specify netmask to configure ip for network")
+ raise ConfigNetworkError(ne.ERR_BAD_ADDR, 'Must specify netmask to'
+ ' configure ip for network')
validateIpAddress(ipaddr)
validateNetmask(netmask)
if gateway:
@@ -820,7 +821,7 @@
else:
if netmask or gateway:
raise ConfigNetworkError(ne.ERR_BAD_ADDR,
- "Specified netmask or gateway but not ip")
+ 'Specified netmask or gateway but not ip')
# Check bonding
if bonding:
@@ -831,10 +832,10 @@
_validateInterNetworkCompatibility(_netinfo, vlan, bonding, bridged)
elif bondingOptions:
raise ConfigNetworkError(ne.ERR_BAD_BONDING,
- "Bonding options specified without bonding")
+ 'Bonding options specified without bonding')
elif len(nics) > 1:
raise ConfigNetworkError(ne.ERR_BAD_BONDING,
- "Multiple nics require a bonding device")
+ 'Multiple nics require a bonding device')
# Check nics
for nic in nics:
@@ -846,21 +847,21 @@
bondingForNics = _netinfo.getBondingForNic(nic)
if bondingForNics and bondingForNics != bonding:
raise ConfigNetworkError(ne.ERR_USED_NIC,
- "nic %s already enslaved to %s" %
- (nic, bondingForNics))
+ 'nic %s already enslaved to %s' %
+ (nic, bondingForNics))
# Make sure nics don't used by vlans if bond requested
if bonding:
vlansForNic = tuple(_netinfo.getVlansForIface(nic))
if vlansForNic:
raise ConfigNetworkError(ne.ERR_USED_NIC,
- "nic %s already used by vlans %s" %
- (nic, vlansForNic))
+ 'nic %s already used by vlans %s' %
+ (nic, vlansForNic))
networksForNic = tuple(_netinfo.getNetworksForIface(nic))
if networksForNic:
raise ConfigNetworkError(ne.ERR_USED_NIC,
- "nic %s already used by networks %s" %
- (nic, networksForNic))
+ 'nic %s already used by networks %s' %
+ (nic, networksForNic))
else:
_validateInterNetworkCompatibility(_netinfo, vlan, nic, bridged)
@@ -888,10 +889,11 @@
# Validation
if not utils.tobool(force):
logging.debug('validating network...')
- _addNetworkValidation(_netinfo, network=network,
- vlan=vlan, bonding=bonding, nics=nics, ipaddr=ipaddr,
- netmask=netmask, gateway=gateway, bondingOptions=bondingOptions,
- bridged=bridged, **options)
+ _addNetworkValidation(_netinfo, network=network, vlan=vlan,
+ bonding=bonding, nics=nics, ipaddr=ipaddr,
+ netmask=netmask, gateway=gateway,
+ bondingOptions=bondingOptions, bridged=bridged,
+ **options)
logging.info("Adding network %s with vlan=%s, bonding=%s, nics=%s,"
" bondingOptions=%s, mtu=%s, bridged=%s, options=%s",
@@ -961,10 +963,9 @@
for nic in nics:
configWriter.addNic(nic, bonding=bonding,
- bridge=bridgeForNic if not bonding else None,
- mtu=max(prevmtu, mtu),
- ipaddr=ipaddr, netmask=netmask,
- gateway=gateway, **options)
+ bridge=bridgeForNic if not bonding else None,
+ mtu=max(prevmtu, mtu), ipaddr=ipaddr,
+ netmask=netmask, gateway=gateway, **options)
# Now we can run ifup for all interfaces
if bonding:
@@ -1003,8 +1004,8 @@
pass
if brifs:
- raise ConfigNetworkError(ne.ERR_USED_BRIDGE,
- 'bridge %s has interfaces %s connected' % (bridge, brifs))
+ raise ConfigNetworkError(ne.ERR_USED_BRIDGE, 'bridge %s has interfaces'
+ ' %s connected' % (bridge, brifs))
def showNetwork(network):
@@ -1052,9 +1053,9 @@
if network in netinfo.bridges():
configWriter.removeBridge(network)
else:
- raise ConfigNetworkError(ne.ERR_BAD_BRIDGE,
- "Cannot delete network %r: It doesn't exist "
- "in the system" % network)
+ raise ConfigNetworkError(ne.ERR_BAD_BRIDGE, "Cannot delete network"
+ " %r: It doesn't exist in the system" %
+ network)
if vlan:
configWriter.removeVlan(vlan, bonding or nics[0])
@@ -1071,9 +1072,9 @@
if bonding:
validateBondingName(bonding)
if set(nics) != set(_netinfo.bondings[bonding]["slaves"]):
- raise ConfigNetworkError(ne.ERR_BAD_NIC,
- "delNetwork: %s are not all nics enslaved to %s" %
- (nics, bonding))
+ raise ConfigNetworkError(ne.ERR_BAD_NIC, 'delNetwork: %s are '
+ 'not all nics enslaved to %s' %
+ (nics, bonding))
if vlan:
validateVlanId(vlan)
if bridged:
@@ -1085,8 +1086,8 @@
# We need to gather NetInfo again to refresh networks info from libvirt.
# The deleted bridge should never be up at this stage.
if network in netinfo.NetInfo().networks:
- raise ConfigNetworkError(ne.ERR_USED_BRIDGE,
- "delNetwork: bridge %s still exists" % network)
+ raise ConfigNetworkError(ne.ERR_USED_BRIDGE, 'delNetwork: bridge %s '
+ 'still exists' % network)
if network and bridged:
configWriter.removeBridge(network)
@@ -1163,8 +1164,8 @@
for network, networkAttrs in networks.iteritems():
if networkAttrs.get('remove', False):
if set(networkAttrs) - set(['remove']):
- raise ConfigNetworkError(ne.ERR_BAD_PARAMS,
- "Cannot specify any attribute when removing")
+ raise ConfigNetworkError(ne.ERR_BAD_PARAMS, 'Cannot specify '
+ 'any attribute when removing')
for bonding, bondingAttrs in bondings.iteritems():
validateBondingName(bonding)
@@ -1173,8 +1174,8 @@
if bondingAttrs.get('remove', False):
if bonding not in _netinfo.bondings:
- raise ConfigNetworkError(ne.ERR_BAD_BONDING,
- 'Cannot remove bonding %s: Doesn\'t exist' % bonding)
+ raise ConfigNetworkError(ne.ERR_BAD_BONDING, "Cannot remove "
+ "bonding %s: Doesn't exist" % bonding)
continue
nics = bondingAttrs.get('nics', None)
@@ -1348,7 +1349,7 @@
if bondings.get(d['bonding']):
d['nics'] = bondings[d['bonding']]['nics']
d['bondingOptions'] = \
- bondings[d['bonding']].get('options', None)
+ bondings[d['bonding']].get('options', None)
# we create a new bond
if network in networksAdded:
netsWithNewBonds.add(network)
@@ -1357,7 +1358,7 @@
d['nics'] = _ni.bondings[d['bonding']]['slaves']
d['bondingOptions'] = \
_ni.bondings[d['bonding']]['cfg'].get(
- 'BONDING_OPTS', None)
+ 'BONDING_OPTS', None)
else:
d['nics'] = [d.pop('nic')]
d['force'] = force
diff --git a/vdsm/libvirtvm.py b/vdsm/libvirtvm.py
index 219e382..6063a84 100644
--- a/vdsm/libvirtvm.py
+++ b/vdsm/libvirtvm.py
@@ -86,36 +86,34 @@
self._vm = vm
self.highWrite = (
- utils.AdvancedStatsFunction(
- self._highWrite,
- config.getint('vars', 'vm_watermark_interval')))
+ utils.AdvancedStatsFunction(
+ self._highWrite,
+ config.getint('vars', 'vm_watermark_interval')))
self.updateVolumes = (
- utils.AdvancedStatsFunction(
- self._updateVolumes,
- config.getint('irs', 'vol_size_sample_interval')))
+ utils.AdvancedStatsFunction(
+ self._updateVolumes,
+ config.getint('irs', 'vol_size_sample_interval')))
self.sampleCpu = (
- utils.AdvancedStatsFunction(
- self._sampleCpu,
- config.getint('vars', 'vm_sample_cpu_interval'),
- config.getint('vars', 'vm_sample_cpu_window')))
+ utils.AdvancedStatsFunction(
+ self._sampleCpu,
+ config.getint('vars', 'vm_sample_cpu_interval'),
+ config.getint('vars', 'vm_sample_cpu_window')))
self.sampleDisk = (
- utils.AdvancedStatsFunction(
- self._sampleDisk,
- config.getint('vars', 'vm_sample_disk_interval'),
- config.getint('vars', 'vm_sample_disk_window')))
+ utils.AdvancedStatsFunction(
+ self._sampleDisk,
+ config.getint('vars', 'vm_sample_disk_interval'),
+ config.getint('vars', 'vm_sample_disk_window')))
self.sampleDiskLatency = (
- utils.AdvancedStatsFunction(
- self._sampleDiskLatency,
- config.getint('vars',
- 'vm_sample_disk_latency_interval'),
- config.getint('vars',
- 'vm_sample_disk_latency_window')))
+ utils.AdvancedStatsFunction(
+ self._sampleDiskLatency,
+ config.getint('vars', 'vm_sample_disk_latency_interval'),
+ config.getint('vars', 'vm_sample_disk_latency_window')))
self.sampleNet = (
- utils.AdvancedStatsFunction(
- self._sampleNet,
- config.getint('vars', 'vm_sample_net_interval'),
- config.getint('vars', 'vm_sample_net_window')))
+ utils.AdvancedStatsFunction(
+ self._sampleNet,
+ config.getint('vars', 'vm_sample_net_interval'),
+ config.getint('vars', 'vm_sample_net_window')))
self.addStatsFunction(
self.highWrite, self.updateVolumes, self.sampleCpu,
@@ -149,8 +147,9 @@
for vmDrive in self._vm._devices[vm.DISK_DEVICES]:
if vmDrive.device == 'disk' and vmDrive.isVdsmImage():
- volSize = self._vm.cif.irs.getVolumeSize(vmDrive.domainID,
- vmDrive.poolID, vmDrive.imageID, vmDrive.volumeID)
+ volSize = self._vm.cif.irs.getVolumeSize(
+ vmDrive.domainID, vmDrive.poolID, vmDrive.imageID,
+ vmDrive.volumeID)
if volSize['status']['code'] != 0:
continue
@@ -276,10 +275,10 @@
def _avgLatencyCalc(sData, eData):
readLatency = (0 if not (eData['rd_operations'] -
sData['rd_operations'])
- else (eData['rd_total_times'] -
- sData['rd_total_times']) /
- (eData['rd_operations'] -
- sData['rd_operations']))
+ else (eData['rd_total_times'] -
+ sData['rd_total_times']) /
+ (eData['rd_operations'] -
+ sData['rd_operations']))
writeLatency = (0 if not (eData['wr_operations'] -
sData['wr_operations'])
else (eData['wr_total_times'] -
@@ -430,10 +429,9 @@
dataProgress = calculateProgress(dataRemaining, dataTotal)
memProgress = calculateProgress(memRemaining, memTotal)
- self._vm.log.info(
- 'Migration Progress: %s seconds elapsed, '
- '%s%% of data processed, %s%% of mem processed'
- % (timeElapsed / 1000, dataProgress, memProgress))
+ self._vm.log.info('Migration Progress: %s seconds elapsed, %s%% of'
+ 'data processed, %s%% of mem processed' %
+ (timeElapsed / 1000, dataProgress, memProgress))
def stop(self):
self._vm.log.debug('stopping migration monitor thread')
@@ -501,7 +499,7 @@
self._vm._dom.migrateToURI2(
duri, muri, None,
libvirt.VIR_MIGRATE_LIVE |
- libvirt.VIR_MIGRATE_PEER2PEER,
+ libvirt.VIR_MIGRATE_PEER2PEER,
None, maxBandwidth)
finally:
t.cancel()
@@ -714,7 +712,7 @@
"""
if utils.tobool(self.conf.get('acpiEnable', 'true')):
self.dom.appendChild(self.doc.createElement('features')) \
- .appendChild(self.doc.createElement('acpi'))
+ .appendChild(self.doc.createElement('acpi'))
def appendCpu(self):
"""
@@ -864,7 +862,7 @@
listen = self.doc.createElement('listen')
listen.setAttribute('type', 'network')
listen.setAttribute('network', netinfo.LIBVIRT_NET_PREFIX +
- self.conf.get('displayNetwork'))
+ self.conf.get('displayNetwork'))
graphics.appendChild(listen)
else:
graphics.setAttribute('listen', '0')
@@ -1099,8 +1097,7 @@
for the next LV extension.
"""
return (self.volExtensionChunk +
- ((self.apparentsize + constants.MEGAB - 1) /
- constants.MEGAB))
+ ((self.apparentsize + constants.MEGAB - 1) / constants.MEGAB))
@property
def blockDev(self):
@@ -1203,9 +1200,8 @@
diskelem.appendChild(driver)
elif self.device == 'floppy':
if (self.path and
- not utils.getUserPermissions(
- constants.QEMU_PROCESS_USER,
- self.path)['write']):
+ not utils.getUserPermissions(constants.QEMU_PROCESS_USER,
+ self.path)['write']):
diskelem.appendChild(doc.createElement('readonly'))
return diskelem
@@ -1337,13 +1333,12 @@
domxml.appendFeatures()
domxml.appendCpu()
if utils.tobool(self.conf.get('vmchannel', 'true')):
- domxml._appendAgentDevice(
- self._guestSocketFile.decode('utf-8'),
- _VMCHANNEL_DEVICE_NAME)
+ domxml._appendAgentDevice(self._guestSocketFile.decode('utf-8'),
+ _VMCHANNEL_DEVICE_NAME)
if utils.tobool(self.conf.get('qgaEnable', 'true')):
domxml._appendAgentDevice(
- self._qemuguestSocketFile.decode('utf-8'),
- _QEMU_GA_DEVICE_NAME)
+ self._qemuguestSocketFile.decode('utf-8'),
+ _QEMU_GA_DEVICE_NAME)
domxml.appendInput()
domxml.appendGraphics()
@@ -1421,9 +1416,8 @@
# So, run it after you have this info
self._initVmStats()
self.guestAgent = guestIF.GuestAgent(
- self._guestSocketFile,
- self.cif.channelListener, self.log,
- connect=utils.tobool(self.conf.get('vmchannel', 'true')))
+ self._guestSocketFile, self.cif.channelListener, self.log,
+ connect=utils.tobool(self.conf.get('vmchannel', 'true')))
self._guestCpuRunning = (self._dom.info()[0] ==
libvirt.VIR_DOMAIN_RUNNING)
@@ -1503,8 +1497,8 @@
self.log.debug(domxml)
if 'recover' in self.conf:
self._dom = NotifyingVirDomain(
- self._connection.lookupByUUIDString(self.id),
- self._timeoutExperienced)
+ self._connection.lookupByUUIDString(self.id),
+ self._timeoutExperienced)
# Reinitialize the merge statuses
self._checkMerge()
elif 'restoreState' in self.conf:
@@ -1517,8 +1511,8 @@
self.cif.teardownVolumePath(self.conf['restoreState'])
self._dom = NotifyingVirDomain(
- self._connection.lookupByUUIDString(self.id),
- self._timeoutExperienced)
+ self._connection.lookupByUUIDString(self.id),
+ self._timeoutExperienced)
else:
flags = libvirt.VIR_DOMAIN_NONE
if 'launchPaused' in self.conf:
@@ -1526,8 +1520,8 @@
self.conf['pauseCode'] = 'NOERR'
del self.conf['launchPaused']
self._dom = NotifyingVirDomain(
- self._connection.createXML(domxml, flags),
- self._timeoutExperienced)
+ self._connection.createXML(domxml, flags),
+ self._timeoutExperienced)
if self._dom.UUIDString() != self.id:
raise Exception('libvirt bug 603494')
hooks.after_vm_start(self._dom.XMLDesc(0), self.conf)
@@ -1578,7 +1572,7 @@
# In any case we need below rollback for all kind of failures.
except Exception, e:
self.log.error("setPortMirroring for network %s failed",
- network, exc_info=True)
+ network, exc_info=True)
nicParams['portMirroring'] = mirroredNetworks
self.hotunplugNic({'nic': nicParams})
return {'status':
@@ -1887,8 +1881,8 @@
# Would fail if migration isn't successful,
# or restart vdsm if connection to libvirt was lost
self._dom = NotifyingVirDomain(
- self._connection.lookupByUUIDString(self.id),
- self._timeoutExperienced)
+ self._connection.lookupByUUIDString(self.id),
+ self._timeoutExperienced)
except Exception, e:
# Improve description of exception
if not self._incomingMigrationFinished.isSet():
@@ -2067,7 +2061,7 @@
try:
newDrives[vmDevName]["path"] = \
- self.cif.prepareVolumePath(newDrives[vmDevName])
+ self.cif.prepareVolumePath(newDrives[vmDevName])
except Exception:
_rollbackDrives(newDrives)
self.log.error("Unable to prepare the volume path "
@@ -2211,9 +2205,8 @@
def mergeStatus(self):
def _filterInternalInfo(mergeStatus):
- return dict(
- (k, v) for k, v in mergeStatus.iteritems()
- if k not in ("path", "basePath"))
+ return dict((k, v) for k, v in mergeStatus.iteritems()
+ if k not in ("path", "basePath"))
mergeStatus = [_filterInternalInfo(x)
for x in self.conf.get('liveMerge', [])]
@@ -2440,8 +2433,7 @@
try:
self._dom.updateDeviceFlags(
- diskelem.toxml(),
- libvirt.VIR_DOMAIN_DEVICE_MODIFY_FORCE)
+ diskelem.toxml(), libvirt.VIR_DOMAIN_DEVICE_MODIFY_FORCE)
except:
self.log.debug("updateDeviceFlags failed", exc_info=True)
self.cif.teardownVolumePath(drivespec)
@@ -2454,7 +2446,7 @@
def setTicket(self, otp, seconds, connAct, params):
graphics = _domParseStr(self._dom.XMLDesc(0)).childNodes[0]. \
- getElementsByTagName('graphics')[0]
+ getElementsByTagName('graphics')[0]
graphics.setAttribute('passwd', otp)
if int(seconds) > 0:
validto = time.strftime('%Y-%m-%dT%H:%M:%S',
@@ -2470,14 +2462,13 @@
def _reviveTicket(self, newlife):
"""Revive an existing ticket, if it has expired or about to expire"""
graphics = _domParseStr(
- self._dom.XMLDesc(libvirt.VIR_DOMAIN_XML_SECURE)). \
- childNodes[0].getElementsByTagName('graphics')[0]
+ self._dom.XMLDesc(libvirt.VIR_DOMAIN_XML_SECURE)). \
+ childNodes[0].getElementsByTagName('graphics')[0]
validto = max(time.strptime(graphics.getAttribute('passwdValidTo'),
'%Y-%m-%dT%H:%M:%S'),
time.gmtime(time.time() + newlife))
graphics.setAttribute(
- 'passwdValidTo',
- time.strftime('%Y-%m-%dT%H:%M:%S', validto))
+ 'passwdValidTo', time.strftime('%Y-%m-%dT%H:%M:%S', validto))
graphics.setAttribute('connected', 'keep')
self._dom.updateDeviceFlags(graphics.toxml(), 0)
@@ -2528,7 +2519,7 @@
def _getUnderlyingVmInfo(self):
self._lastXMLDesc = self._dom.XMLDesc(0)
devxml = _domParseStr(self._lastXMLDesc).childNodes[0]. \
- getElementsByTagName('devices')[0]
+ getElementsByTagName('devices')[0]
self._devXmlHash = str(hash(devxml.toxml()))
return self._lastXMLDesc
@@ -2580,7 +2571,7 @@
if self._dom:
try:
self._dom.destroyFlags(
- libvirt.VIR_DOMAIN_DESTROY_GRACEFUL)
+ libvirt.VIR_DOMAIN_DESTROY_GRACEFUL)
except libvirt.libvirtError, e:
if (e.get_error_code() ==
libvirt.VIR_ERR_OPERATION_FAILED):
@@ -2640,7 +2631,7 @@
def _getBalloonInfo(self):
for dev in self.conf['devices']:
if dev['type'] == vm.BALLOON_DEVICES and \
- dev['specParams']['model'] != 'none':
+ dev['specParams']['model'] != 'none':
max_mem = int(self.conf.get('memSize')) * 1024
cur_mem = dev.get('target', max_mem)
return {'balloon_max': max_mem, 'balloon_cur': cur_mem}
@@ -2671,7 +2662,7 @@
else:
for dev in self.conf['devices']:
if dev['type'] == vm.BALLOON_DEVICES and \
- dev['specParams']['model'] != 'none':
+ dev['specParams']['model'] != 'none':
dev['target'] = target
# persist the target value to make it consistent after recovery
self.saveState()
@@ -2707,7 +2698,7 @@
return False
devsxml = _domParseStr(self._lastXMLDesc).childNodes[0]. \
- getElementsByTagName('devices')[0]
+ getElementsByTagName('devices')[0]
for x in devsxml.childNodes:
# Ignore empty nodes and devices without address
@@ -2732,8 +2723,8 @@
Obtain controller devices info from libvirt.
"""
ctrlsxml = _domParseStr(self._lastXMLDesc).childNodes[0]. \
- getElementsByTagName('devices')[0]. \
- getElementsByTagName('controller')
+ getElementsByTagName('devices')[0]. \
+ getElementsByTagName('controller')
for x in ctrlsxml:
# Ignore controller devices without address
if not x.getElementsByTagName('address'):
@@ -2779,8 +2770,8 @@
Obtain balloon device info from libvirt.
"""
balloonxml = _domParseStr(self._lastXMLDesc).childNodes[0]. \
- getElementsByTagName('devices')[0]. \
- getElementsByTagName('memballoon')
+ getElementsByTagName('devices')[0]. \
+ getElementsByTagName('memballoon')
for x in balloonxml:
# Ignore balloon devices without address.
if not x.getElementsByTagName('address'):
@@ -2805,8 +2796,8 @@
Obtain watchdog device info from libvirt.
"""
watchdogxml = _domParseStr(self._lastXMLDesc).childNodes[0]. \
- getElementsByTagName('devices')[0]. \
- getElementsByTagName('watchdog')
+ getElementsByTagName('devices')[0]. \
+ getElementsByTagName('watchdog')
for x in watchdogxml:
# PCI watchdog has "address" different from ISA watchdog
@@ -2830,8 +2821,7 @@
Obtain video devices info from libvirt.
"""
videosxml = _domParseStr(self._lastXMLDesc).childNodes[0]. \
- getElementsByTagName('devices')[0]. \
- getElementsByTagName('video')
+ getElementsByTagName('devices')[0].getElementsByTagName('video')
for x in videosxml:
alias = x.getElementsByTagName('alias')[0].getAttribute('name')
# Get video card address
@@ -2859,8 +2849,7 @@
Obtain sound devices info from libvirt.
"""
soundsxml = _domParseStr(self._lastXMLDesc).childNodes[0]. \
- getElementsByTagName('devices')[0]. \
- getElementsByTagName('sound')
+ getElementsByTagName('devices')[0].getElementsByTagName('sound')
for x in soundsxml:
alias = x.getElementsByTagName('alias')[0].getAttribute('name')
# Get sound card address
@@ -2888,8 +2877,7 @@
Obtain block devices info from libvirt.
"""
disksxml = _domParseStr(self._lastXMLDesc).childNodes[0]. \
- getElementsByTagName('devices')[0]. \
- getElementsByTagName('disk')
+ getElementsByTagName('devices')[0].getElementsByTagName('disk')
# FIXME! We need to gather as much info as possible from the libvirt.
# In the future we can return this real data to management instead of
# vm's conf
@@ -2954,7 +2942,7 @@
Obtain display port info from libvirt.
"""
graphics = _domParseStr(self._lastXMLDesc).childNodes[0]. \
- getElementsByTagName('graphics')[0]
+ getElementsByTagName('graphics')[0]
port = graphics.getAttribute('port')
if port:
self.conf['displayPort'] = port
@@ -2968,8 +2956,8 @@
"""
# TODO use xpath instead of parseString (here and elsewhere)
ifsxml = _domParseStr(self._lastXMLDesc).childNodes[0]. \
- getElementsByTagName('devices')[0]. \
- getElementsByTagName('interface')
+ getElementsByTagName('devices')[0]. \
+ getElementsByTagName('interface')
for x in ifsxml:
devType = x.getAttribute('type')
name = x.getElementsByTagName('target')[0].getAttribute('dev')
@@ -3065,8 +3053,7 @@
self.log.debug('migration destination: waiting for VM creation')
self._vmCreationEvent.wait()
prepareTimeout = self._loadCorrectedTimeout(
- config.getint('vars', 'migration_listener_timeout'),
- doubler=5)
+ config.getint('vars', 'migration_listener_timeout'), doubler=5)
self.log.debug('migration destination: waiting %ss '
'for path preparation', prepareTimeout)
self._pathsPreparedEvent.wait(prepareTimeout)
diff --git a/vdsm/netinfo.py b/vdsm/netinfo.py
index e2959e4..4935994 100644
--- a/vdsm/netinfo.py
+++ b/vdsm/netinfo.py
@@ -110,7 +110,7 @@
def slaves(bonding):
return [b.split('/')[-1].split('_', 1)[-1] for b in
- glob.glob('/sys/class/net/' + bonding + '/slave_*')]
+ glob.glob('/sys/class/net/' + bonding + '/slave_*')]
def ports(bridge):
@@ -295,8 +295,8 @@
devname = netname
try:
d['networks'][netname] = {'ports': ports(devname),
- 'stp': bridge_stp_state(devname),
- 'cfg': getIfaceCfg(devname), }
+ 'stp': bridge_stp_state(devname),
+ 'cfg': getIfaceCfg(devname), }
except OSError, e:
# If the bridge reported by libvirt does not exist anymore, do
# not report it, as this already assures that the bridge is not
@@ -317,13 +317,13 @@
d['networks'][netname]['interface'] = devname
try:
- d['networks'][netname].update({
- 'iface': devname,
- 'bridged': nets[netname]['bridged'],
- 'addr': getaddr(devname),
- 'netmask': getnetmask(devname),
- 'gateway': routes.get(devname, '0.0.0.0'),
- 'mtu': getMtu(devname), })
+ d['networks'][netname].update(
+ {'iface': devname,
+ 'bridged': nets[netname]['bridged'],
+ 'addr': getaddr(devname),
+ 'netmask': getnetmask(devname),
+ 'gateway': routes.get(devname, '0.0.0.0'),
+ 'mtu': getMtu(devname), })
except OSError, e:
if e.errno == errno.ENOENT:
logging.info('Obtaining info for net %s.', devname,
@@ -352,25 +352,25 @@
'mtu': getMtu(nic),
'cfg': getIfaceCfg(nic),
})
- for nic in nics()])
+ for nic in nics()])
paddr = permAddr()
for nic, nd in d['nics'].iteritems():
if paddr.get(nic):
nd['permhwaddr'] = paddr[nic]
d['bondings'] = dict([(bond, {'slaves': slaves(bond),
- 'addr': getaddr(bond),
- 'netmask': getnetmask(bond),
- 'hwaddr': gethwaddr(bond),
- 'cfg': getIfaceCfg(bond),
- 'mtu': getMtu(bond)})
- for bond in bondings()])
+ 'addr': getaddr(bond),
+ 'netmask': getnetmask(bond),
+ 'hwaddr': gethwaddr(bond),
+ 'cfg': getIfaceCfg(bond),
+ 'mtu': getMtu(bond)})
+ for bond in bondings()])
d['vlans'] = dict([(vlan, {'iface': vlan.split('.')[0],
'addr': getaddr(vlan),
'netmask': getnetmask(vlan),
'mtu': getMtu(vlan),
'cfg': getIfaceCfg(vlan),
})
- for vlan in vlans()])
+ for vlan in vlans()])
return d
@@ -513,4 +513,4 @@
:rtype: List
"""
return [netname for (netname, net) in networks().iteritems()
- if not 'bridge' in net]
+ if not 'bridge' in net]
--
To view, visit http://gerrit.ovirt.org/9846
To unsubscribe, visit http://gerrit.ovirt.org/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I59cd4d8bb41c1ce71b91b45ff7fe2f10f25eb577
Gerrit-PatchSet: 1
Gerrit-Project: vdsm
Gerrit-Branch: master
Gerrit-Owner: Antoni Segura Puimedon <asegurap at redhat.com>
More information about the vdsm-patches
mailing list