Change in vdsm[master]: Related to BZ#845020 - Diffferentiate bad specification from...
by ewarszaw@redhat.com
Eduardo has uploaded a new change for review.
Change subject: Related to BZ#845020 - Diffferentiate bad specification from not found.
......................................................................
Related to BZ#845020 - Diffferentiate bad specification from not found.
Already agreed that _devices should be a dict instead a list.
Change-Id: Ic5cffdae26cde88a948211d8577370965ecd2d36
Signed-off-by: Eduardo <ewarszaw(a)redhat.com>
---
M vdsm/libvirtvm.py
1 file changed, 15 insertions(+), 1 deletion(-)
git pull ssh://gerrit.ovirt.org:29418/vdsm refs/changes/66/7366/1
diff --git a/vdsm/libvirtvm.py b/vdsm/libvirtvm.py
index 3b7cfc5..7ad5884 100644
--- a/vdsm/libvirtvm.py
+++ b/vdsm/libvirtvm.py
@@ -1627,6 +1627,11 @@
if ((device.domainID, device.imageID,
device.volumeID) == tgetDrv):
return device
+ else:
+ self.log.warning("drive dom: %s, img: %s, vol: %s is not in"
+ "vm: %s _devices", drive["domainID"],
+ drive["imageID"], drive["volumeID"], self.id)
+ return None
elif drive.has_key("GUID"):
for device in self._devices[vm.DISK_DEVICES][:]:
@@ -1634,6 +1639,10 @@
continue
if device.GUID == drive["GUID"]:
return device
+ else:
+ self.log.warning("GUID: %s not found in vm: %s _devices",
+ drive["GUID"], self.id)
+ return None
elif drive.has_key("UUID"):
for device in self._devices[vm.DISK_DEVICES][:]:
@@ -1641,8 +1650,13 @@
continue
if device.UUID == drive["UUID"]:
return device
+ else:
+ self.log.warning("UUID: %s not found in vm: %s _devices",
+ drive["UUID"], self.id)
+ return None
- return None
+ else:
+ raise ValueError("drive specification unknown %s" % drive)
def snapshot(self, snapDrives):
"""Live snapshot command"""
--
To view, visit http://gerrit.ovirt.org/7366
To unsubscribe, visit http://gerrit.ovirt.org/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: Ic5cffdae26cde88a948211d8577370965ecd2d36
Gerrit-PatchSet: 1
Gerrit-Project: vdsm
Gerrit-Branch: master
Gerrit-Owner: Eduardo <ewarszaw(a)redhat.com>
9 years, 11 months
Change in vdsm[master]: Revert "hsm: always check validateNotSPM when disconnecting ...
by ewarszaw@redhat.com
Eduardo has uploaded a new change for review.
Change subject: Revert "hsm: always check validateNotSPM when disconnecting from a pool"
......................................................................
Revert "hsm: always check validateNotSPM when disconnecting from a pool"
This reverts commit 185872e5e03999ed7376099d1c8b1a4044cfa5bb.
Change-Id: I791f626e31c9929d687d181b2d7fd43e1d2b155d
Signed-off-by: Eduardo <ewarszaw(a)redhat.com>
---
M vdsm/storage/hsm.py
1 file changed, 2 insertions(+), 2 deletions(-)
git pull ssh://gerrit.ovirt.org:29418/vdsm refs/changes/26/13926/1
diff --git a/vdsm/storage/hsm.py b/vdsm/storage/hsm.py
index ae35b11..f3a702e 100644
--- a/vdsm/storage/hsm.py
+++ b/vdsm/storage/hsm.py
@@ -1026,12 +1026,12 @@
self.validateNotSPM(spUUID)
vars.task.getExclusiveLock(STORAGE, spUUID)
- pool = self.getPool(spUUID)
+ self.validateNotSPM(spUUID)
+ pool = self.getPool(spUUID)
return self._disconnectPool(pool, hostID, scsiKey, remove)
def _disconnectPool(self, pool, hostID, scsiKey, remove):
- self.validateNotSPM(pool.spUUID)
res = pool.disconnect()
del self.pools[pool.spUUID]
return res
--
To view, visit http://gerrit.ovirt.org/13926
To unsubscribe, visit http://gerrit.ovirt.org/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I791f626e31c9929d687d181b2d7fd43e1d2b155d
Gerrit-PatchSet: 1
Gerrit-Project: vdsm
Gerrit-Branch: master
Gerrit-Owner: Eduardo <ewarszaw(a)redhat.com>
9 years, 11 months
Change in vdsm[master]: Revert "pool: ignore refreshStoragePool calls on the SPM"
by ewarszaw@redhat.com
Eduardo has uploaded a new change for review.
Change subject: Revert "pool: ignore refreshStoragePool calls on the SPM"
......................................................................
Revert "pool: ignore refreshStoragePool calls on the SPM"
This reverts commit 7d8f85547e5f56d3eefc91f330e29458a7b8ac27.
Change-Id: I660b8d01844520b43998b7081ca02ef06a5acd93
Signed-off-by: Eduardo <ewarszaw(a)redhat.com>
---
M vdsm/storage/hsm.py
1 file changed, 0 insertions(+), 14 deletions(-)
git pull ssh://gerrit.ovirt.org:29418/vdsm refs/changes/27/13927/1
diff --git a/vdsm/storage/hsm.py b/vdsm/storage/hsm.py
index f3a702e..b560ea4 100644
--- a/vdsm/storage/hsm.py
+++ b/vdsm/storage/hsm.py
@@ -788,22 +788,8 @@
se.StoragePoolActionError(
"spUUID=%s, msdUUID=%s, masterVersion=%s" %
(spUUID, msdUUID, masterVersion)))
-
vars.task.getSharedLock(STORAGE, spUUID)
-
- try:
- # The refreshStoragePool command is an HSM command and
- # should not be issued (and executed) on the SPM. At the
- # moment we just ignore it for legacy reasons but in the
- # future vdsm could raise an exception.
- self.validateNotSPM(spUUID)
- except se.IsSpm:
- self.log.info("Ignoring the refreshStoragePool request "
- "(the host is the SPM)")
- return
-
pool = self.getPool(spUUID)
-
try:
self.validateSdUUID(msdUUID)
pool.refresh(msdUUID, masterVersion)
--
To view, visit http://gerrit.ovirt.org/13927
To unsubscribe, visit http://gerrit.ovirt.org/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I660b8d01844520b43998b7081ca02ef06a5acd93
Gerrit-PatchSet: 1
Gerrit-Project: vdsm
Gerrit-Branch: master
Gerrit-Owner: Eduardo <ewarszaw(a)redhat.com>
9 years, 11 months
Change in vdsm[master]: Remove force parameter in StoragePool.spmStop()
by ewarszaw@redhat.com
Eduardo has uploaded a new change for review.
Change subject: Remove force parameter in StoragePool.spmStop()
......................................................................
Remove force parameter in StoragePool.spmStop()
Change-Id: I7eaf8883e62a72445e27f0bc9876fe61a10bcb3f
Signed-off-by: Eduardo <ewarszaw(a)redhat.com>
---
M vdsm/storage/sp.py
1 file changed, 20 insertions(+), 18 deletions(-)
git pull ssh://gerrit.ovirt.org:29418/vdsm refs/changes/29/13929/1
diff --git a/vdsm/storage/sp.py b/vdsm/storage/sp.py
index ca20f9a..70c5802 100644
--- a/vdsm/storage/sp.py
+++ b/vdsm/storage/sp.py
@@ -340,8 +340,8 @@
except Exception as e:
self.log.error("Unexpected error", exc_info=True)
- self.log.error("failed: %s" % str(e))
- self.stopSpm(force=True, __securityOverride=True)
+ self.log.error("failed: spmRole:%s %s", self.spmRole, str(e))
+ self.stopSpm(__securityOverride=True)
raise
@unsecured
@@ -392,44 +392,46 @@
else:
cls.log.debug("master `%s` is not mounted, skipping", master)
- def stopSpm(self, force=False):
+ def stopSpm(self):
with self.lock:
- if not force and self.spmRole == SPM_FREE:
+ if self.spmRole == SPM_FREE:
return True
self._shutDownUpgrade()
self._setUnsafe()
- stopFailed = False
-
+ failedStops = []
try:
self.cleanupMasterMount()
except:
# If unmounting fails the vdsm panics.
- stopFailed = True
+ failedStops.append("cleanupMasterMount")
- try:
- if self.spmMailer:
+ if self.spmMailer:
+ try:
self.spmMailer.stop()
- except:
- # Here we are just begin polite.
- # SPM will also clean this on start up.
- pass
+ except:
+ # Here we are just begin polite.
+ # SPM will also clean this on start up.
+ self.log.debug("fail: spmMailer %s", self.spmMailer)
- if not stopFailed:
+ if not failedStops:
try:
self.setMetaParam(PMDK_SPM_ID, SPM_ID_FREE,
__securityOverride=True)
except:
- pass # The system can handle this inconsistency
+ # The system can handle this inconsistency
+ self.log.debug("fail: reset %s to %s",
+ PMDK_SPM_ID, SPM_ID_FREE)
try:
self.masterDomain.releaseClusterLock()
except:
- stopFailed = True
+ failedStops.append("releaseClusterLock")
- if stopFailed:
- misc.panic("Unrecoverable errors during SPM stop process.")
+ if failedStops:
+ misc.panic("Unrecoverable errors during SPM stop process: %s.",
+ ", ".join(failedStops))
self.spmRole = SPM_FREE
--
To view, visit http://gerrit.ovirt.org/13929
To unsubscribe, visit http://gerrit.ovirt.org/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I7eaf8883e62a72445e27f0bc9876fe61a10bcb3f
Gerrit-PatchSet: 1
Gerrit-Project: vdsm
Gerrit-Branch: master
Gerrit-Owner: Eduardo <ewarszaw(a)redhat.com>
9 years, 11 months
Change in vdsm[master]: Stop spm if refresh fail on bad parameters.
by ewarszaw@redhat.com
Eduardo has uploaded a new change for review.
Change subject: Stop spm if refresh fail on bad parameters.
......................................................................
Stop spm if refresh fail on bad parameters.
Change-Id: I0f85c3e731551b6974483cffe38c7ac37281370b
Signed-off-by: Eduardo <ewarszaw(a)redhat.com>
---
M vdsm/storage/hsm.py
1 file changed, 6 insertions(+), 2 deletions(-)
git pull ssh://gerrit.ovirt.org:29418/vdsm refs/changes/30/13930/1
diff --git a/vdsm/storage/hsm.py b/vdsm/storage/hsm.py
index fd5d7d6..ba59348 100644
--- a/vdsm/storage/hsm.py
+++ b/vdsm/storage/hsm.py
@@ -788,12 +788,16 @@
se.StoragePoolActionError(
"spUUID=%s, msdUUID=%s, masterVersion=%s" %
(spUUID, msdUUID, masterVersion)))
- vars.task.getSharedLock(STORAGE, spUUID)
+ self.getPool(spUUID) # Validate that is the correct pool.
+ vars.task.getExclusiveLock(STORAGE, spUUID)
pool = self.getPool(spUUID)
try:
self.validateSdUUID(msdUUID)
pool.refresh(msdUUID, masterVersion)
- except:
+ except (se.StorageDomainAccessError, se.StorageDomainDoesNotExist,
+ se.StoragePoolWrongMaster):
+ self.log.error("refreshStoragePool failed", exc_info=True)
+ pool.stopSpm()
self._disconnectPool(pool, pool.id, pool.scsiKey, False)
raise
--
To view, visit http://gerrit.ovirt.org/13930
To unsubscribe, visit http://gerrit.ovirt.org/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I0f85c3e731551b6974483cffe38c7ac37281370b
Gerrit-PatchSet: 1
Gerrit-Project: vdsm
Gerrit-Branch: master
Gerrit-Owner: Eduardo <ewarszaw(a)redhat.com>
9 years, 11 months
Change in vdsm[master]: hotunplug: Identify a nic according to its alias
by Dan Kenigsberg
Dan Kenigsberg has uploaded a new change for review.
Change subject: hotunplug: Identify a nic according to its alias
......................................................................
hotunplug: Identify a nic according to its alias
MAC addresses may change. The "alias" is immutable.
Change-Id: Iae7619c2547d667103e33777180e01b285f4b18d
Bug-Url: https://bugzilla.redhat.com/919356
Signed-off-by: Dan Kenigsberg <danken(a)redhat.com>
---
M vdsm/libvirtvm.py
1 file changed, 2 insertions(+), 1 deletion(-)
git pull ssh://gerrit.ovirt.org:29418/vdsm refs/changes/92/12892/1
diff --git a/vdsm/libvirtvm.py b/vdsm/libvirtvm.py
index 39d1b5b..99bf548 100644
--- a/vdsm/libvirtvm.py
+++ b/vdsm/libvirtvm.py
@@ -1669,7 +1669,8 @@
# Find NIC object in vm's NICs list
nic = None
for dev in self._devices[vm.NIC_DEVICES][:]:
- if dev.macAddr.lower() == nicParams['macAddr'].lower():
+ if dev.alias == nicParams.get('alias') or \
+ dev.macAddr.lower() == nicParams['macAddr'].lower():
nic = dev
break
--
To view, visit http://gerrit.ovirt.org/12892
To unsubscribe, visit http://gerrit.ovirt.org/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: Iae7619c2547d667103e33777180e01b285f4b18d
Gerrit-PatchSet: 1
Gerrit-Project: vdsm
Gerrit-Branch: master
Gerrit-Owner: Dan Kenigsberg <danken(a)redhat.com>
9 years, 11 months
Change in vdsm[master]: blockSD: Ensure active volumes are refreshed before use.
by lyarwood@redhat.com
Lee Yarwood has uploaded a new change for review.
Change subject: blockSD: Ensure active volumes are refreshed before use.
......................................................................
blockSD: Ensure active volumes are refreshed before use.
At present we trust that active LVs represent the current state of a
given LV. This may not be the case if the LV has been modified
(extended, recreated etc) by another host while the LV is active on
the current host.
This change forces active non-special LVs to be refresh before use.
Change-Id: If3058cded234500e01939e50b2485afebd7087a3
Signed-off-by: Lee Yarwood <lyarwood(a)redhat.com>
---
M vdsm/storage/blockSD.py
1 file changed, 11 insertions(+), 2 deletions(-)
git pull ssh://gerrit.ovirt.org:29418/vdsm refs/changes/87/21387/1
diff --git a/vdsm/storage/blockSD.py b/vdsm/storage/blockSD.py
index d27f331..7d296b7 100644
--- a/vdsm/storage/blockSD.py
+++ b/vdsm/storage/blockSD.py
@@ -1059,14 +1059,23 @@
def activateVolumes(self, imgUUID, volUUIDs):
"""
- Activate all the volumes belonging to the image.
+ Activate all the volumes belonging to the image. Refresh any active
+ volumes that belong to the image as long as they are not special.
- imgUUID: the image to be deactivated.
+ imgUUID: the image to be activated.
allVols: getAllVolumes result.
If the image is based on a template image it will be activated.
"""
+ toRefresh = [ vol for vol in volUUIDs if vol not in SPECIAL_LVS and
+ lvm.isLVActive(self.sdUUID, vol)]
lvm.activateLVs(self.sdUUID, volUUIDs)
+
+ if toRefresh:
+ log.warning("The following volumes are already active and will be"
+ " refreshed before use : %s", toRefresh)
+ lvm.refreshLVs(self.sdUUID, toRefresh)
+
vgDir = os.path.join("/dev", self.sdUUID)
return self.createImageLinks(vgDir, imgUUID, volUUIDs)
--
To view, visit http://gerrit.ovirt.org/21387
To unsubscribe, visit http://gerrit.ovirt.org/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: If3058cded234500e01939e50b2485afebd7087a3
Gerrit-PatchSet: 1
Gerrit-Project: vdsm
Gerrit-Branch: master
Gerrit-Owner: Lee Yarwood <lyarwood(a)redhat.com>
9 years, 11 months
Change in vdsm[master]: Revert "configuring selinux allowing qemu-kvm to generate co...
by mtayer@redhat.com
mooli tayer has uploaded a new change for review.
Change subject: Revert "configuring selinux allowing qemu-kvm to generate coredumps." in favor of abrt.
......................................................................
Revert "configuring selinux allowing qemu-kvm to generate coredumps."
in favor of abrt.
This reverts commit 2c2ca06fd410db0c8398c44bddd7154c85ab58d9.
Change-Id: Id1a051079cf284606e1c30af9c23b1579d004f28
Signed-off-by: Mooli Tayer <mtayer(a)redhat.com>
---
M vdsm.spec.in
1 file changed, 0 insertions(+), 4 deletions(-)
git pull ssh://gerrit.ovirt.org:29418/vdsm refs/changes/28/21428/1
diff --git a/vdsm.spec.in b/vdsm.spec.in
index c225c23..5b3c4d2 100644
--- a/vdsm.spec.in
+++ b/vdsm.spec.in
@@ -654,10 +654,6 @@
/etc/sysctl.conf
fi
-# hack until we replace core dump with abrt
-/usr/sbin/semanage fcontext -a -t virt_cache_t '/var/log/core(/.*)?'
-/sbin/restorecon -R -v /var/log/core
-
%if 0%{?rhel}
if [ "$1" -eq 1 ] ; then
/sbin/chkconfig --add vdsmd
--
To view, visit http://gerrit.ovirt.org/21428
To unsubscribe, visit http://gerrit.ovirt.org/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: Id1a051079cf284606e1c30af9c23b1579d004f28
Gerrit-PatchSet: 1
Gerrit-Project: vdsm
Gerrit-Branch: master
Gerrit-Owner: mooli tayer <mtayer(a)redhat.com>
9 years, 11 months
Change in vdsm[master]: Change mom policy related interface to support multi-policy
by lvroyce@linux.vnet.ibm.com
Royce Lv has uploaded a new change for review.
Change subject: Change mom policy related interface to support multi-policy
......................................................................
Change mom policy related interface to support multi-policy
Change-Id: I09c40fee74b10d3eb41f4ec3ca18096a9b20dfcd
Signed-off-by: Royce Lv<lvroyce(a)linux.vnet.ibm.com>
---
M .gitignore
M tests/functional/Makefile.am
R tests/functional/momTests.py.in
M vdsm/API.py
M vdsm/BindingXMLRPC.py
M vdsm/momIF.py
M vdsm_cli/vdsClient.py
7 files changed, 56 insertions(+), 4 deletions(-)
git pull ssh://gerrit.ovirt.org:29418/vdsm refs/changes/66/12466/1
diff --git a/.gitignore b/.gitignore
index 41066dd..b9b992c 100644
--- a/.gitignore
+++ b/.gitignore
@@ -19,6 +19,7 @@
config.status
configure
results.log
+tests/functional/momTests.py
tests/run_tests.sh
tests/run_tests_local.sh
vdsm-*.tar.gz
diff --git a/tests/functional/Makefile.am b/tests/functional/Makefile.am
index 030242b..fe4f276 100644
--- a/tests/functional/Makefile.am
+++ b/tests/functional/Makefile.am
@@ -17,12 +17,21 @@
#
# Refer to the README and COPYING files for full details of the license
#
+include $(top_srcdir)/build-aux/Makefile.subs
vdsmfunctestsdir = ${vdsmtestsdir}/functional
dist_vdsmfunctests_PYTHON = \
- momTests.py \
sosPluginTests.py \
xmlrpcTests.py \
$(NULL)
+nodist_vdsmfunctests_PYTHON = \
+ momTests.py
+
+EXTRA_DIST = \
+ momTests.py.in
+
+CLEANFILES = \
+ $(nodist_vdsmfunctests_PYTHON)
+
diff --git a/tests/functional/momTests.py b/tests/functional/momTests.py.in
similarity index 76%
rename from tests/functional/momTests.py
rename to tests/functional/momTests.py.in
index 1981e05..c54b427 100644
--- a/tests/functional/momTests.py
+++ b/tests/functional/momTests.py.in
@@ -18,6 +18,7 @@
# Refer to the README and COPYING files for full details of the license
#
import imp
+import os
import random
import time
@@ -54,3 +55,17 @@
hostStats = s.getVdsStats()['info']
self.assertEqual(bool(run), hostStats['ksmState'])
self.assertEqual(pages_to_scan, hostStats['ksmPages'])
+
+ @testValidation.ValidateRunningAsRoot
+ def testDefaultPolicy(self):
+ s = vdscli.connect()
+ r = s.getMOMPolicy()
+
+ policy_dir = '@CONFDIR@/mom-policy-dir'
+ names = sorted(os.listdir(policy_dir))
+ for name in names:
+ if name.startswith('.') or not name.endswith('.policy'):
+ fname = os.path.join(policy_dir, name)
+ with open(fname, 'r') as f:
+ policyStr = f.read()
+ self.assertEqual(policyStr, r['policyDict'].get(name))
diff --git a/vdsm/API.py b/vdsm/API.py
index 0046b57..0f02fde 100644
--- a/vdsm/API.py
+++ b/vdsm/API.py
@@ -1379,6 +1379,12 @@
except:
return errCode['momErr']
+ def getMOMPolicy(self):
+ try:
+ return dict(status=doneCode,
+ policyDict=self._cif.mom.getPolicy())
+ except:
+ return errCode['momErr']
# take a rough estimate on how much free mem is available for new vm
# memTotal = memFree + memCached + mem_used_by_non_qemu + resident .
# simply returning (memFree + memCached) is not good enough, as the
diff --git a/vdsm/BindingXMLRPC.py b/vdsm/BindingXMLRPC.py
index 9a4db12..a540900 100644
--- a/vdsm/BindingXMLRPC.py
+++ b/vdsm/BindingXMLRPC.py
@@ -401,6 +401,10 @@
api = API.Global()
return api.setMOMPolicy(policy)
+ def getMOMPolicy(self):
+ api = API.Global()
+ return api.getMOMPolicy()
+
def domainActivate(self, sdUUID, spUUID, options=None):
domain = API.StorageDomain(sdUUID)
return domain.activate(spUUID)
@@ -807,6 +811,7 @@
(self.fenceNode, 'fenceNode'),
(self.prepareForShutdown, 'prepareForShutdown'),
(self.setLogLevel, 'setLogLevel'),
+ (self.getMOMPolicy, 'getMOMPolicy'),
(self.setMOMPolicy, 'setMOMPolicy'),
(self.vmHotplugDisk, 'hotplugDisk'),
(self.vmHotunplugDisk, 'hotunplugDisk'),
diff --git a/vdsm/momIF.py b/vdsm/momIF.py
index d0f63d1..831b649 100644
--- a/vdsm/momIF.py
+++ b/vdsm/momIF.py
@@ -56,9 +56,16 @@
ret['ksmCpu'] = stats['ksmd_cpu_usage']
return ret
- def setPolicy(self, policyStr):
- # mom.setPolicy will raise an exception on failure.
- self._mom.setPolicy(policyStr)
+ def setPolicy(self, policyParam):
+ if isinstance(policyParam, dict) and len(policyParam) == 1:
+ policy = policyParam.popItem()
+ self._mom.setNamedPolicy(policy[0], policy[1])
+ else:
+ # mom.setPolicy will raise an exception on failure.
+ self._mom.setPolicy(policyParam)
+
+ def getPolicy(self):
+ return self._mom.getNamedPolicies()
def stop(self):
if self._mom is not None:
diff --git a/vdsm_cli/vdsClient.py b/vdsm_cli/vdsClient.py
index 1da7d5f..1fa0d22 100644
--- a/vdsm_cli/vdsClient.py
+++ b/vdsm_cli/vdsClient.py
@@ -1404,6 +1404,12 @@
return stats['status']['code'], stats['status']['message']
return 0, ''
+ def do_getMOMPolicy(self, policyFile):
+ stats = self.s.getMOMPolicy()
+ if stats['status']['code']:
+ return stats['status']['code'], stats['status']['message']
+ return 0, ''
+
def do_setMOMPolicy(self, policyFile):
stats = self.s.setMOMPolicy(policyFile)
if stats['status']['code']:
@@ -2253,6 +2259,9 @@
('<level> [logName][,logName]...', 'set log verbosity'
' level (10=DEBUG, 50=CRITICAL'
)),
+ 'getMOMPolicy': (serv.do_getMOMPolicy,
+ ('', 'get MOM policy')),
+
'setMOMPolicy': (serv.do_setMOMPolicy,
('<policyfile>', 'set MOM policy')),
'deleteImage': (serv.deleteImage,
--
To view, visit http://gerrit.ovirt.org/12466
To unsubscribe, visit http://gerrit.ovirt.org/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I09c40fee74b10d3eb41f4ec3ca18096a9b20dfcd
Gerrit-PatchSet: 1
Gerrit-Project: vdsm
Gerrit-Branch: master
Gerrit-Owner: Royce Lv <lvroyce(a)linux.vnet.ibm.com>
9 years, 11 months
Change in vdsm[master]: netconf: enable multiple gateways for iproute2 configurator
by wudxw@linux.vnet.ibm.com
Mark Wu has uploaded a new change for review.
Change subject: netconf: enable multiple gateways for iproute2 configurator
......................................................................
netconf: enable multiple gateways for iproute2 configurator
Change-Id: I76e1225caffdb2de3073041e541c7c978eefb396
Signed-off-by: Mark Wu <wudxw(a)linux.vnet.ibm.com>
---
M vdsm/netconf/iproute2.py
1 file changed, 11 insertions(+), 0 deletions(-)
git pull ssh://gerrit.ovirt.org:29418/vdsm refs/changes/76/16276/1
diff --git a/vdsm/netconf/iproute2.py b/vdsm/netconf/iproute2.py
index d474e09..795dd9b 100644
--- a/vdsm/netconf/iproute2.py
+++ b/vdsm/netconf/iproute2.py
@@ -45,6 +45,8 @@
utils.execCmd(['brctl', 'addif', bridge.name, bridge.port.name])
self.configApplier.setIpConfig(bridge)
self.configApplier.setIfaceMtu(bridge.name, bridge.mtu)
+ ipaddr, netmask, gateway, bootproto, _ = bridge.getIpConfig()
+ self._addSourceRoute(bridge, ipaddr, netmask, gateway, bootproto)
self.configApplier.ifup(bridge)
def configureVlan(self, vlan, bridge=None, **opts):
@@ -53,6 +55,8 @@
if vlan.ip:
self.configApplier.setIpConfig(vlan)
self.configApplier.setIfaceMtu(vlan.name, vlan.mtu)
+ ipaddr, netmask, gateway, bootproto, _ = vlan.getIpConfig()
+ self._addSourceRoute(vlan, ipaddr, netmask, gateway, bootproto)
self.configApplier.ifup(vlan)
def configureBond(self, bond, bridge=None, **opts):
@@ -76,6 +80,8 @@
if bond.ip:
self.configApplier.setIpConfig(bond)
self.configApplier.setIfaceMtu(bond.name, bond.mtu)
+ ipaddr, netmask, gateway, bootproto, _ = bond.getIpConfig()
+ self._addSourceRoute(bond, ipaddr, netmask, gateway, bootproto)
self.configApplier.ifup(bond)
def editBonding(self, bond, _netinfo):
@@ -91,22 +97,27 @@
if nic.ip:
self.configApplier.setIpConfig(nic)
self.configApplier.setIfaceMtu(nic.name, nic.mtu)
+ ipaddr, netmask, gateway, bootproto, _ = nic.getIpConfig()
+ self._addSourceRoute(nic, ipaddr, netmask, gateway, bootproto)
self.configApplier.ifup(nic)
def removeBridge(self, bridge):
self.configApplier.ifdown(bridge)
+ self._removeSourceRoute(bridge)
utils.execCmd([constants.EXT_BRCTL, 'delbr', bridge.name])
if bridge.port:
bridge.port.remove()
def removeVlan(self, vlan):
self.configApplier.ifdown(vlan)
+ self._removeSourceRoute(vlan)
ipwrapper.linkDel(['dev', vlan.name])
vlan.device.remove()
def _ifaceDownAndCleanup(self, iface, _netinfo):
"""Returns True iff the iface is to be removed."""
self.configApplier.ifdown(iface)
+ self._removeSourceRoute(iface)
if iface.master is None:
self.configApplier.removeIpConfig(iface)
return not _netinfo.ifaceUsers(iface.name)
--
To view, visit http://gerrit.ovirt.org/16276
To unsubscribe, visit http://gerrit.ovirt.org/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I76e1225caffdb2de3073041e541c7c978eefb396
Gerrit-PatchSet: 1
Gerrit-Project: vdsm
Gerrit-Branch: master
Gerrit-Owner: Mark Wu <wudxw(a)linux.vnet.ibm.com>
9 years, 11 months