[vdsm/f17] update to vdsm-4.10.0-4
Federico Simoncelli
fsimonce at fedoraproject.org
Thu Jun 28 22:46:37 UTC 2012
commit 2728a144b912cf205e4ad9b5dcc9811b53b9191c
Author: Federico Simoncelli <fsimonce at redhat.com>
Date: Fri Jun 29 00:38:00 2012 +0200
update to vdsm-4.10.0-4
- deployUtil: use os.uname instead of /bin/uname
- deployUtil: slightly saner kernel version comparison
- BZ#835784 - Allow to create a network on top of existing bond in
additional to create a new bond and network
- BZ#833119 - Allow to create VLANed network on top of existing bond
- BZ#833803 - Avoid bond breaking after network detach
- Handle bond properly if connectivity check fail.
- BZ#806555 having /etc/ovirt-node-* means it is a node
Signed-off-by: Federico Simoncelli <fsimonce at redhat.com>
...loyUtil-use-os.uname-instead-of-bin-uname.patch | 63 ++++++++++
...-slightly-saner-kernel-version-comparison.patch | 125 ++++++++++++++++++++
...llow-to-create-a-network-on-top-of-existi.patch | 39 ++++++
...llow-to-create-VLANed-network-on-top-of-e.patch | 77 ++++++++++++
...-Avoid-bond-breaking-after-network-detach.patch | 72 +++++++++++
...-bond-properly-if-connectivity-check-fail.patch | 70 +++++++++++
...-having-etc-ovirt-node-means-it-is-a-node.patch | 38 ++++++
vdsm.spec | 26 ++++-
8 files changed, 509 insertions(+), 1 deletions(-)
---
diff --git a/0020-deployUtil-use-os.uname-instead-of-bin-uname.patch b/0020-deployUtil-use-os.uname-instead-of-bin-uname.patch
new file mode 100644
index 0000000..02e9d3d
--- /dev/null
+++ b/0020-deployUtil-use-os.uname-instead-of-bin-uname.patch
@@ -0,0 +1,63 @@
+From 1be9207d91f1f3df02161356f0057c24b6a230c3 Mon Sep 17 00:00:00 2001
+From: Dan Kenigsberg <danken at redhat.com>
+Date: Tue, 19 Jun 2012 00:52:25 +0300
+Subject: [PATCH 20/25] deployUtil: use os.uname instead of /bin/uname
+
+simpler, quicker, and less error-prone.
+
+Change-Id: I7abc1f010bbf15b39d7590c4b55d1835c645a87f
+Signed-off-by: Dan Kenigsberg <danken at redhat.com>
+Reviewed-on: http://gerrit.ovirt.org/5636
+Tested-by: Douglas Schilling Landgraf <dougsland at redhat.com>
+Reviewed-by: Douglas Schilling Landgraf <dougsland at redhat.com>
+Reviewed-on: http://gerrit.ovirt.org/5749
+---
+ configure.ac | 1 -
+ vdsm_reg/deployUtil.py.in | 11 ++---------
+ 2 files changed, 2 insertions(+), 10 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index f3a609f..7b829f5 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -177,7 +177,6 @@ AC_PATH_PROG([TC_PATH], [tc], [/sbin/tc])
+ AC_PATH_PROG([TUNE2FS_PATH], [tune2fs], [/sbin/tune2fs])
+ AC_PATH_PROG([UDEVADM_PATH], [udevadm], [/sbin/udevadm])
+ AC_PATH_PROG([UMOUNT_PATH], [umount], [/bin/umount])
+-AC_PATH_PROG([UNAME_PATH], [uname], [/bin/uname])
+ AC_PATH_PROG([UNPERSIST_PATH], [unpersist], [/usr/sbin/unpersist])
+ AC_PATH_PROG([VCONFIG_PATH], [vconfig], [/sbin/vconfig])
+ AC_PATH_PROG([WGET_PATH], [wget], [/usr/bin/wget])
+diff --git a/vdsm_reg/deployUtil.py.in b/vdsm_reg/deployUtil.py.in
+index 2f240cc..7586aca 100644
+--- a/vdsm_reg/deployUtil.py.in
++++ b/vdsm_reg/deployUtil.py.in
+@@ -72,7 +72,6 @@ EX_RPM = '@RPM_PATH@'
+ EX_SED = '@SED_PATH@'
+ EX_SERVICE = '@SERVICE_PATH@'
+ EX_SYSTEMCTL = '@SYSTEMCTL_PATH@'
+-EX_UNAME = '@UNAME_PATH@'
+ EX_YUM = '@YUM_PATH@'
+
+ # Other constants
+@@ -400,15 +399,9 @@ def getOSVersion():
+ return "Unknown OS"
+
+ def getKernelVersion():
+- """
+- Return current kernel release.
+- """
+- strReturn = '0'
+- out, err, rc = _logExec([EX_UNAME, "-r"])
+- if not rc:
+- strReturn = out
++ """Return current kernel version adn release."""
+
+- return strReturn
++ return os.uname()[2]
+
+ def updateKernelArgs(arg):
+ """
+--
+1.7.10.2
+
diff --git a/0021-deployUtil-slightly-saner-kernel-version-comparison.patch b/0021-deployUtil-slightly-saner-kernel-version-comparison.patch
new file mode 100644
index 0000000..29fdb43
--- /dev/null
+++ b/0021-deployUtil-slightly-saner-kernel-version-comparison.patch
@@ -0,0 +1,125 @@
+From 61672ca8a0d5140aa09ae79c5c0f7b962495a94e Mon Sep 17 00:00:00 2001
+From: Dan Kenigsberg <danken at redhat.com>
+Date: Tue, 19 Jun 2012 02:00:14 +0300
+Subject: [PATCH 21/25] deployUtil: slightly saner kernel version comparison
+
+Change-Id: If2348ce464943e873e31eb61d0aaaa8b936679b2
+Signed-off-by: Dan Kenigsberg <danken at redhat.com>
+Reviewed-on: http://gerrit.ovirt.org/5637
+Reviewed-by: Douglas Schilling Landgraf <dougsland at redhat.com>
+Tested-by: Douglas Schilling Landgraf <dougsland at redhat.com>
+Reviewed-on: http://gerrit.ovirt.org/5750
+---
+ vds_bootstrap/vds_bootstrap.py | 33 ++++++++-------------------------
+ vdsm_reg/deployUtil.py.in | 16 +++++++++++++---
+ 2 files changed, 21 insertions(+), 28 deletions(-)
+
+diff --git a/vds_bootstrap/vds_bootstrap.py b/vds_bootstrap/vds_bootstrap.py
+index 9801459..5ddc950 100755
+--- a/vds_bootstrap/vds_bootstrap.py
++++ b/vds_bootstrap/vds_bootstrap.py
+@@ -48,7 +48,6 @@ import shutil
+ import logging
+ import logging.config
+ import random
+-import re
+ import ConfigParser
+ import socket
+ import tempfile
+@@ -81,14 +80,12 @@ fedorabased = deployUtil.versionCompare(deployUtil.getOSVersion(), "16") >= 0
+ if rhel6based:
+ VDSM_NAME = "vdsm"
+ VDSM_MIN_VER = "4.9"
+- KERNEL_VER = "2.6.32-.*.el6"
+- KERNEL_MIN_VER = 150
++ KERNEL_MIN_VR = ("2.6.32", "150")
+ MINIMAL_SUPPORTED_PLATFORM = "6.0"
+ else:
+ VDSM_NAME = "vdsm22"
+ VDSM_MIN_VER = "4.5"
+- KERNEL_VER = "2.6.18-.*.el5"
+- KERNEL_MIN_VER = 159
++ KERNEL_MIN_VR = ("2.6.18", "159")
+ MINIMAL_SUPPORTED_PLATFORM = "5.5"
+
+ # Required packages
+@@ -300,7 +297,6 @@ class Deploy:
+ """
+ Check the compatibility of OS and kernel
+ """
+- kernel_ver = None
+ os_status = "FAIL"
+ kernel_status = "FAIL"
+ os_message = "Unsupported platform version"
+@@ -329,34 +325,21 @@ class Deploy:
+ os_status = "OK"
+
+ if self.rc:
+- res = deployUtil.getKernelVersion()
+- try:
+- kernel_ver = res.split()[0]
+- if re.match(KERNEL_VER, kernel_ver):
+- kernel_ver = int(kernel_ver.split('-')[1].split('.')[0])
+- else:
+- kernel_ver = 0
+- except:
+- kernel_ver = 0
+-
+- if fedorabased:
+- kernel_status = "OK"
+- kernel_message = "Skipped kernel version check"
+- elif kernel_ver >= KERNEL_MIN_VER:
++ kernel_vr = deployUtil.getKernelVR()
++ if deployUtil.compareVR(kernel_vr, KERNEL_MIN_VR) >= 0:
+ kernel_status = "OK"
+- kernel_message = "Supported kernel version: " + str(kernel_ver)
++ kernel_message = "Supported kernel version: " + str(kernel_vr)
+ else:
+ kernel_status = "FAIL"
+ kernel_message = (
+- "Unsupported kernel version: " + str(kernel_ver) +
+- ". Minimal supported version: " + str(KERNEL_MIN_VER)
++ "Unsupported kernel version: " + str(kernel_vr) +
++ ". Minimal supported version: " + str(KERNEL_MIN_VR)
+ )
+ self.rc = False
+
+ if os_name is not None:
+ self._xmlOutput('OS', os_status, "type", os_name, os_message)
+- if kernel_ver is not None:
+- self._xmlOutput('KERNEL', kernel_status, "version", kernel_ver, kernel_message)
++ self._xmlOutput('KERNEL', kernel_status, "version", '-'.join(kernel_vr), kernel_message)
+
+ return self.rc
+
+diff --git a/vdsm_reg/deployUtil.py.in b/vdsm_reg/deployUtil.py.in
+index 7586aca..6bd4b3d 100644
+--- a/vdsm_reg/deployUtil.py.in
++++ b/vdsm_reg/deployUtil.py.in
+@@ -398,10 +398,20 @@ def getOSVersion():
+ logging.error('failed to parse os release from `%s`.', s, exc_info=True)
+ return "Unknown OS"
+
+-def getKernelVersion():
+- """Return current kernel version adn release."""
++def getKernelVR():
++ """Return current kernel version and release."""
+
+- return os.uname()[2]
++ components = os.uname()[2].split('-', 1)
++ if len(components) == 2:
++ return components
++ else:
++ return components[0], '0'
++
++def compareVR(vr1, vr2):
++ import rpmUtils.miscutils
++
++ return rpmUtils.miscutils.compareEVR((0, vr1[0], vr1[1]),
++ (0, vr2[0], vr2[1]))
+
+ def updateKernelArgs(arg):
+ """
+--
+1.7.10.2
+
diff --git a/0022-BZ-835784-Allow-to-create-a-network-on-top-of-existi.patch b/0022-BZ-835784-Allow-to-create-a-network-on-top-of-existi.patch
new file mode 100644
index 0000000..61d75a7
--- /dev/null
+++ b/0022-BZ-835784-Allow-to-create-a-network-on-top-of-existi.patch
@@ -0,0 +1,39 @@
+From 44a2eba8d6c7a7ea9e78454388b859304398ec8d Mon Sep 17 00:00:00 2001
+From: Igor Lvovsky <ilvovsky at redhat.com>
+Date: Wed, 27 Jun 2012 10:37:28 +0300
+Subject: [PATCH 22/25] BZ#835784 - Allow to create a network on top of
+ existing bond in additional to create a new bond and
+ network
+
+If we already have a bond0 with (eth1, eth2) and now we want to create
+network "bridge_woVlan" on top of it and in additional we want to create
+a new bond1 with (eth3, eth4) and create a network "bridge_woVlan_2" on
+top of bond 1.
+This patch will allow us to do it in the same setupNetwork command.
+
+Change-Id: I67d24d656934ea9dcb0a8209c6a375e19c23f82b
+Signed-off-by: Igor Lvovsky <ilvovsky at redhat.com>
+Reviewed-on: http://gerrit.ovirt.org/5737
+Reviewed-on: http://gerrit.ovirt.org/5759
+Reviewed-by: Dan Kenigsberg <danken at redhat.com>
+Tested-by: Dan Kenigsberg <danken at redhat.com>
+---
+ vdsm/configNetwork.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/vdsm/configNetwork.py b/vdsm/configNetwork.py
+index c535499..d4e1177 100755
+--- a/vdsm/configNetwork.py
++++ b/vdsm/configNetwork.py
+@@ -1085,7 +1085,7 @@ def setupNetworks(networks={}, bondings={}, **options):
+ if 'bonding' in d:
+ # we may not receive any information
+ # about the bonding device if it is unchanged
+- if bondings:
++ if bondings.get(d['bonding']):
+ d['nics'] = bondings[d['bonding']]['nics']
+ d['bondingOptions'] = bondings[d['bonding']].get('options',
+ None)
+--
+1.7.10.2
+
diff --git a/0023-BZ-833119-Allow-to-create-VLANed-network-on-top-of-e.patch b/0023-BZ-833119-Allow-to-create-VLANed-network-on-top-of-e.patch
new file mode 100644
index 0000000..0591e56
--- /dev/null
+++ b/0023-BZ-833119-Allow-to-create-VLANed-network-on-top-of-e.patch
@@ -0,0 +1,77 @@
+From 16d2eff4fc41a2a8c87923ed9d5d97cca3037144 Mon Sep 17 00:00:00 2001
+From: Dan Kenigsberg <danken at redhat.com>
+Date: Wed, 20 Jun 2012 16:36:08 +0300
+Subject: [PATCH 23/25] BZ#833119 - Allow to create VLANed network on top of
+ existing bond
+
+The (relatively) new setupNetwork verb allows to specify a network on
+top of an existing bonding device. The nics of this bonds are taken
+implictly from current host configuration.
+
+Change-Id: If45aed68847f5a79380c629a70290a2c687cbd30
+Signed-off-by: Igor Lvovsky <ilvovsky at redhat.com>
+Reviewed-on: http://gerrit.ovirt.org/5456
+Reviewed-by: Dan Kenigsberg <danken at redhat.com>
+Reviewed-on: http://gerrit.ovirt.org/5760
+---
+ vdsm/configNetwork.py | 23 ++++++++++++++++-------
+ 1 file changed, 16 insertions(+), 7 deletions(-)
+
+diff --git a/vdsm/configNetwork.py b/vdsm/configNetwork.py
+index d4e1177..8c4d36d 100755
+--- a/vdsm/configNetwork.py
++++ b/vdsm/configNetwork.py
+@@ -238,7 +238,8 @@ class ConfigWriter(object):
+ s += 'NM_CONTROLLED=no\n'
+ BLACKLIST = ['TYPE', 'NAME', 'DEVICE', 'bondingOptions',
+ 'force', 'blockingdhcp',
+- 'connectivityCheck', 'connectivityTimeout']
++ 'connectivityCheck', 'connectivityTimeout',
++ 'implicitBonding']
+ for k in set(kwargs.keys()).difference(set(BLACKLIST)):
+ if re.match('^[a-zA-Z_]\w*$', k):
+ s += '%s=%s\n' % (k.upper(), pipes.quote(kwargs[k]))
+@@ -491,10 +492,17 @@ def validateVlanId(vlan):
+ raise ConfigNetworkError(ne.ERR_BAD_VLAN, 'vlan id must be a number')
+
+
+-def _addNetworkValidation(_netinfo, bridge, vlan, bonding, nics, ipaddr, netmask, gateway,
+- bondingOptions, bridged=True):
+- if (vlan or bonding) and not nics:
+- raise ConfigNetworkError(ne.ERR_BAD_PARAMS, 'vlan/bonding definition requires nics. got: %r'%(nics,))
++def _addNetworkValidation(_netinfo, bridge, vlan, bonding, nics, ipaddr,
++ netmask, gateway, bondingOptions, bridged=True,
++ implicitBonding=False):
++ # The (relatively) new setupNetwork verb allows to specify a network on
++ # top of an existing bonding device. The nics of this bonds are taken
++ # implictly from current host configuration
++ 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,))
+
+ # Check bridge
+ if bridged:
+@@ -583,7 +591,7 @@ def addNetwork(network, vlan=None, bonding=None, nics=None, ipaddr=None, netmask
+ _addNetworkValidation(_netinfo, bridge=network if bridged else None,
+ vlan=vlan, bonding=bonding, nics=nics, ipaddr=ipaddr,
+ netmask=netmask, gateway=gateway, bondingOptions=bondingOptions,
+- bridged=bridged)
++ bridged=bridged, **options)
+
+ logging.info("Adding network %s with vlan=%s, bonding=%s, nics=%s,"
+ " bondingOptions=%s, mtu=%s, bridged=%s, options=%s",
+@@ -1097,7 +1105,8 @@ def setupNetworks(networks={}, bondings={}, **options):
+ d['force'] = force
+
+ logger.debug("Adding network %r" % network)
+- addNetwork(network, configWriter=configWriter, **d)
++ addNetwork(network, configWriter=configWriter,
++ implicitBonding=True, **d)
+
+ # Do not handle a bonding device twice.
+ # We already handled it before during addNetwork.
+--
+1.7.10.2
+
diff --git a/0024-BZ-833803-Avoid-bond-breaking-after-network-detach.patch b/0024-BZ-833803-Avoid-bond-breaking-after-network-detach.patch
new file mode 100644
index 0000000..ed2d15f
--- /dev/null
+++ b/0024-BZ-833803-Avoid-bond-breaking-after-network-detach.patch
@@ -0,0 +1,72 @@
+From 66cf76b0d2dc362bb698df2b0ec491a54dc55d5c Mon Sep 17 00:00:00 2001
+From: Igor Lvovsky <ilvovsky at redhat.com>
+Date: Mon, 25 Jun 2012 17:46:43 +0300
+Subject: [PATCH 24/25] BZ#833803 - Avoid bond breaking after network detach
+
+The (relatively) new setupNetwork verb allows to remove a network
+defined on top of an bonding device without break the bond itself.
+
+Change-Id: Idebd0cd0a9d54ceb3714a8cd82fe042ed2c05f2e
+Signed-off-by: Igor Lvovsky <ilvovsky at redhat.com>
+Reviewed-on: http://gerrit.ovirt.org/5711
+Reviewed-by: Dan Kenigsberg <danken at redhat.com>
+Reviewed-on: http://gerrit.ovirt.org/5761
+---
+ vdsm/configNetwork.py | 26 +++++++++++++++-----------
+ 1 file changed, 15 insertions(+), 11 deletions(-)
+
+diff --git a/vdsm/configNetwork.py b/vdsm/configNetwork.py
+index 8c4d36d..96dd452 100755
+--- a/vdsm/configNetwork.py
++++ b/vdsm/configNetwork.py
+@@ -734,7 +734,7 @@ def listNetworks():
+ print "Bondings:", _netinfo.bondings.keys()
+
+ def delNetwork(network, vlan=None, bonding=None, nics=None, force=False,
+- configWriter=None, **options):
++ configWriter=None, implicitBonding=True, **options):
+ _netinfo = NetInfo()
+
+ validateBridgeName(network)
+@@ -786,16 +786,19 @@ def delNetwork(network, vlan=None, bonding=None, nics=None, force=False,
+ stderr=subprocess.PIPE)
+ configWriter.removeVlan(vlan, bonding or nics[0])
+
+- if bonding:
+- if not bridged or not bondingOtherUsers(network, vlan, bonding):
+- ifdown(bonding)
+- configWriter.removeBonding(bonding)
++ # The (relatively) new setupNetwork verb allows to remove a network
++ # defined on top of an bonding device without break the bond itself.
++ if implicitBonding:
++ if bonding:
++ if not bridged or not bondingOtherUsers(network, vlan, bonding):
++ ifdown(bonding)
++ configWriter.removeBonding(bonding)
+
+- for nic in nics:
+- nicUsers = nicOtherUsers(network, vlan, bonding, nic)
+- if not nicUsers:
+- ifdown(nic)
+- configWriter.removeNic(nic)
++ for nic in nics:
++ nicUsers = nicOtherUsers(network, vlan, bonding, nic)
++ if not nicUsers:
++ ifdown(nic)
++ configWriter.removeNic(nic)
+
+ def clientSeen(timeout):
+ start = time.time()
+@@ -1081,7 +1084,8 @@ def setupNetworks(networks={}, bondings={}, **options):
+ for network, networkAttrs in networks.items():
+ if network in _netinfo.networks:
+ logger.debug("Removing network %r" % network)
+- delNetwork(network, configWriter=configWriter, force=force)
++ delNetwork(network, configWriter=configWriter, force=force,
++ implicitBonding=False)
+ if 'remove' in networkAttrs:
+ del networks[network]
+ else:
+--
+1.7.10.2
+
diff --git a/0025-Handle-bond-properly-if-connectivity-check-fail.patch b/0025-Handle-bond-properly-if-connectivity-check-fail.patch
new file mode 100644
index 0000000..fe27672
--- /dev/null
+++ b/0025-Handle-bond-properly-if-connectivity-check-fail.patch
@@ -0,0 +1,70 @@
+From 31eac2c98a865a94803785fa660b612d5231c5c4 Mon Sep 17 00:00:00 2001
+From: Igor Lvovsky <ilvovsky at redhat.com>
+Date: Tue, 26 Jun 2012 15:41:37 +0300
+Subject: [PATCH 25/25] Handle bond properly if connectivity check fail.
+
+We need to be able remove a new added network if connectivity check fail.
+If a new network needs to be created on top of existing bond,
+we will need to keep the bond on rollback flow,
+else we will break the new created bond
+
+Change-Id: I4bb04f6f3b8d5cdbfd9af8904570af071af6d4f4
+Signed-off-by: Igor Lvovsky <ilvovsky at redhat.com>
+Reviewed-on: http://gerrit.ovirt.org/5712
+Reviewed-by: Dan Kenigsberg <danken at redhat.com>
+Reviewed-on: http://gerrit.ovirt.org/5762
+---
+ vdsm/configNetwork.py | 16 +++++++++++++---
+ 1 file changed, 13 insertions(+), 3 deletions(-)
+
+diff --git a/vdsm/configNetwork.py b/vdsm/configNetwork.py
+index 96dd452..af6c19d 100755
+--- a/vdsm/configNetwork.py
++++ b/vdsm/configNetwork.py
+@@ -1065,7 +1065,13 @@ def setupNetworks(networks={}, bondings={}, **options):
+ try:
+ _netinfo = NetInfo()
+ configWriter = ConfigWriter()
+- networksAdded = []
++ networksAdded = set()
++ # keep set netsWithNewBonds to be able remove
++ # a new added network if connectivity check fail.
++ # If a new network needs to be created on top of existing bond,
++ # we will need to keep the bond on rollback flow,
++ # else we will break the new created bond.
++ netsWithNewBonds = set()
+
+ logger.debug("Setting up network according to configuration: "
+ "networks:%r, bondings:%r, options:%r" % (networks,
+@@ -1089,7 +1095,7 @@ def setupNetworks(networks={}, bondings={}, **options):
+ if 'remove' in networkAttrs:
+ del networks[network]
+ else:
+- networksAdded.append(network)
++ networksAdded.add(network)
+
+ handledBonds = set()
+ for network, networkAttrs in networks.iteritems():
+@@ -1104,6 +1110,9 @@ def setupNetworks(networks={}, bondings={}, **options):
+ # Don't remove bondX from the bonding list here,
+ # because it may be in use for other networks
+ handledBonds.add(d['bonding'])
++ # we create a new bond
++ if network in networksAdded:
++ netsWithNewBonds.add(network)
+ else:
+ d['nics'] = [d.pop('nic')]
+ d['force'] = force
+@@ -1130,7 +1139,8 @@ def setupNetworks(networks={}, bondings={}, **options):
+ CONNECTIVITY_TIMEOUT_DEFAULT))):
+ logger.info('Connectivity check failed, rolling back')
+ for network in networksAdded:
+- delNetwork(network, force=True)
++ delNetwork(network, force=True,
++ implicitBonding=network in netsWithNewBonds)
+ raise ConfigNetworkError(ne.ERR_LOST_CONNECTION,
+ 'connectivity check failed')
+ except:
+--
+1.7.10.2
+
diff --git a/0026-BZ-806555-having-etc-ovirt-node-means-it-is-a-node.patch b/0026-BZ-806555-having-etc-ovirt-node-means-it-is-a-node.patch
new file mode 100644
index 0000000..62d3f85
--- /dev/null
+++ b/0026-BZ-806555-having-etc-ovirt-node-means-it-is-a-node.patch
@@ -0,0 +1,38 @@
+From b1a0e712b394496544bbb62f9466a8aa75f4c669 Mon Sep 17 00:00:00 2001
+From: Dan Kenigsberg <danken at redhat.com>
+Date: Tue, 26 Jun 2012 15:43:33 +0300
+Subject: [PATCH 26/26] BZ#806555 having /etc/ovirt-node-* means it is a node
+
+Not vice versa.
+
+This patch fixes http://gerrit.ovirt.org/3055 .
+
+Change-Id: Id13c5621a2ff1c8bdcfc1e40a27951efb0d75cfe
+Signed-off-by: Dan Kenigsberg <danken at redhat.com>
+Reviewed-on: http://gerrit.ovirt.org/5713
+Reviewed-by: Michael Burns <mburns at redhat.com>
+Reviewed-by: Douglas Schilling Landgraf <dougsland at redhat.com>
+Tested-by: Ofer Schreiber <oschreib at redhat.com>
+Reviewed-on: http://gerrit.ovirt.org/5768
+Reviewed-by: Federico Simoncelli <fsimonce at redhat.com>
+Tested-by: Federico Simoncelli <fsimonce at redhat.com>
+---
+ vdsm/caps.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/vdsm/caps.py b/vdsm/caps.py
+index 5950ee9..5c9fa78 100644
+--- a/vdsm/caps.py
++++ b/vdsm/caps.py
+@@ -156,7 +156,7 @@ def _getIscsiIniName():
+ def getos():
+ if os.path.exists('/etc/rhev-hypervisor-release'):
+ return OSName.RHEVH
+- elif len(glob.glob('/etc/ovirt-node-*-release')) == 0:
++ elif glob.glob('/etc/ovirt-node-*-release'):
+ return OSName.OVIRT
+ elif os.path.exists('/etc/fedora-release'):
+ return OSName.FEDORA
+--
+1.7.10.2
+
diff --git a/vdsm.spec b/vdsm.spec
index 27e77b1..31cb3c3 100644
--- a/vdsm.spec
+++ b/vdsm.spec
@@ -20,7 +20,7 @@
Name: %{vdsm_name}
Version: 4.10.0
-Release: 3%{?vdsm_relvtag}%{?dist}%{?extra_release}
+Release: 4%{?vdsm_relvtag}%{?dist}%{?extra_release}
Summary: Virtual Desktop Server Manager
Group: Applications/System
@@ -54,6 +54,13 @@ Patch15: 0016-BZ-826467-Allow-to-remove-bond-and-attach-network-to.patch
Patch16: 0017-Related-to-BZ-826873-Allow-to-create-bond-without-ne.patch
Patch17: 0018-BZ-832577-node-can-t-be-approved.patch
Patch18: 0019-BZ-824298-fix-typo-in-keyword-argument-exc_info.patch
+Patch19: 0020-deployUtil-use-os.uname-instead-of-bin-uname.patch
+Patch20: 0021-deployUtil-slightly-saner-kernel-version-comparison.patch
+Patch21: 0022-BZ-835784-Allow-to-create-a-network-on-top-of-existi.patch
+Patch22: 0023-BZ-833119-Allow-to-create-VLANed-network-on-top-of-e.patch
+Patch23: 0024-BZ-833803-Avoid-bond-breaking-after-network-detach.patch
+Patch24: 0025-Handle-bond-properly-if-connectivity-check-fail.patch
+Patch25: 0026-BZ-806555-having-etc-ovirt-node-means-it-is-a-node.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
@@ -364,6 +371,13 @@ Gluster plugin enables VDSM to serve Gluster functionalities.
%patch16 -p1 -b .patch16
%patch17 -p1 -b .patch17
%patch18 -p1 -b .patch18
+%patch19 -p1 -b .patch19
+%patch20 -p1 -b .patch20
+%patch21 -p1 -b .patch21
+%patch22 -p1 -b .patch22
+%patch23 -p1 -b .patch23
+%patch24 -p1 -b .patch24
+%patch25 -p1 -b .patch25
%build
%configure %{?with_hooks:--enable-hooks}
@@ -905,6 +919,16 @@ exit 0
%{_datadir}/%{vdsm_name}/gluster/hostname.py*
%changelog
+* Fri Jun 29 2012 Federico Simoncelli <fsimonce at redhat.com> 4.10.0-4.fc17
+- deployUtil: use os.uname instead of /bin/uname
+- deployUtil: slightly saner kernel version comparison
+- BZ#835784 - Allow to create a network on top of existing bond in additional
+ to create a new bond and network
+- BZ#833119 - Allow to create VLANed network on top of existing bond
+- BZ#833803 - Avoid bond breaking after network detach
+- Handle bond properly if connectivity check fail.
+- BZ#806555 having /etc/ovirt-node-* means it is a node
+
* Tue Jun 26 2012 Federico Simoncelli <fsimonce at redhat.com> 4.10.0-3.fc17
- BZ#832577: node can't be approved
- BZ#824298 fix typo in keyword argument exc_info
More information about the scm-commits
mailing list