Change in vdsm[master]: tests: Avoid warning about make
by Code Review
From Dan Kenigsberg <danken(a)redhat.com>:
Dan Kenigsberg has posted comments on this change.
Change subject: tests: Avoid warning about make
......................................................................
Patch Set 1: Code-Review+2
--
To view, visit https://gerrit.ovirt.org/66000
To unsubscribe, visit https://gerrit.ovirt.org/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: Ibf121fc399351b5597d436a0a90698c8cdf06595
Gerrit-PatchSet: 1
Gerrit-Project: vdsm
Gerrit-Branch: master
Gerrit-Owner: Nir Soffer <nsoffer(a)redhat.com>
Gerrit-Reviewer: Dan Kenigsberg <danken(a)redhat.com>
Gerrit-Reviewer: Francesco Romani <fromani(a)redhat.com>
Gerrit-Reviewer: Jenkins CI
Gerrit-Reviewer: Nir Soffer <nsoffer(a)redhat.com>
Gerrit-Reviewer: Piotr Kliczewski <piotr.kliczewski(a)gmail.com>
Gerrit-Reviewer: gerrit-hooks <automation(a)ovirt.org>
Gerrit-HasComments: No
7 years, 5 months
Change in vdsm[master]: numa: Don't crash on hotplugged CPUs when retrieving NUMA info
by mzamazal@redhat.com
Milan Zamazal has uploaded a new change for review.
Change subject: numa: Don't crash on hotplugged CPUs when retrieving NUMA info
......................................................................
numa: Don't crash on hotplugged CPUs when retrieving NUMA info
getVmNumaNodeRuntimeInfo maps virtual (from Engine) nodes to physical
nodes by matching nodes and CPUs from the libvirt runtime and from the
Engine NUMA mapping. CPUs that are not pinned to any node in the Engine
NUMA mapping (such as hotplugged CPUs) are irrelevant. However the
matching cycle still looks for them in the Engine NUMA mapping
dictionary, resulting in KeyError.
This patch fixes the KeyError by simply skipping the CPUs not present in
the Engine NUMA mapping.
Change-Id: If7d00b897e430d9c4e8a23cb1451209b6f00e688
Signed-off-by: Milan Zamazal <mzamazal(a)redhat.com>
---
M lib/vdsm/numa.py
1 file changed, 4 insertions(+), 1 deletion(-)
git pull ssh://gerrit.ovirt.org:29418/vdsm refs/changes/62/65562/1
diff --git a/lib/vdsm/numa.py b/lib/vdsm/numa.py
index 7a31a99..15a8c73 100644
--- a/lib/vdsm/numa.py
+++ b/lib/vdsm/numa.py
@@ -260,7 +260,10 @@
vcpu_to_vnode = _get_mapping_vcpu_to_vnode(vm)
for vcpu_id, pcpu_id in vcpu_to_pcpu.iteritems():
- vnode_index = str(vcpu_to_vnode[vcpu_id])
+ try:
+ vnode_index = str(vcpu_to_vnode[vcpu_id])
+ except KeyError: # hotplugged CPU
+ continue
vm_numa_placement[vnode_index].add(pcpu_to_pnode[pcpu_id])
vm_numa_placement[vnode_index].update(
vcpu_to_pnode.get(vcpu_id, ()))
--
To view, visit https://gerrit.ovirt.org/65562
To unsubscribe, visit https://gerrit.ovirt.org/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: If7d00b897e430d9c4e8a23cb1451209b6f00e688
Gerrit-PatchSet: 1
Gerrit-Project: vdsm
Gerrit-Branch: master
Gerrit-Owner: Milan Zamazal <mzamazal(a)redhat.com>
7 years, 5 months
Change in vdsm[master]: tests: Trigger build-artifacts job
by Code Review
From Dan Kenigsberg <danken(a)redhat.com>:
Dan Kenigsberg has posted comments on this change.
Change subject: tests: Trigger build-artifacts job
......................................................................
Patch Set 2: Code-Review-1
ababdon?
--
To view, visit https://gerrit.ovirt.org/66001
To unsubscribe, visit https://gerrit.ovirt.org/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: Ie3cfd2fc68feefc3b20d6b885d0b775f4e59ac4b
Gerrit-PatchSet: 2
Gerrit-Project: vdsm
Gerrit-Branch: master
Gerrit-Owner: Nir Soffer <nsoffer(a)redhat.com>
Gerrit-Reviewer: Dan Kenigsberg <danken(a)redhat.com>
Gerrit-Reviewer: Jenkins CI
Gerrit-Reviewer: gerrit-hooks <automation(a)ovirt.org>
Gerrit-HasComments: No
7 years, 5 months
Change in vdsm[master]: automation: Create coverage report sooner
by Nir Soffer
Nir Soffer has uploaded a new change for review.
Change subject: automation: Create coverage report sooner
......................................................................
automation: Create coverage report sooner
For some reason a build artifacts step was inserted before creating the
coverage report. There is no reason not to create the report immediately
after running the tests, and jenkins seems to fail in an unclear way
just after creating the report.
Change-Id: I8688383eb5e99fdd0ee48815cc71afd6483819b4
Signed-off-by: Nir Soffer <nsoffer(a)redhat.com>
---
M automation/check-patch.sh
1 file changed, 5 insertions(+), 5 deletions(-)
git pull ssh://gerrit.ovirt.org:29418/vdsm refs/changes/14/65414/1
diff --git a/automation/check-patch.sh b/automation/check-patch.sh
index 3284e2b..9311671 100755
--- a/automation/check-patch.sh
+++ b/automation/check-patch.sh
@@ -16,6 +16,11 @@
TIMEOUT=600 make check NOSE_WITH_COVERAGE=1 NOSE_COVER_PACKAGE="$PWD/vdsm,$PWD/lib"
+# Generate coverage report in HTML format
+pushd tests
+coverage html -d "$EXPORT_DIR/htmlcov"
+popd
+
# enable complex globs
shopt -s extglob
# In case of vdsm specfile or any Makefile.am file modification in commit,
@@ -24,8 +29,3 @@
./automation/build-artifacts.sh
yum -y install "$EXPORT_DIR/"!(*.src).rpm
fi
-
-# Generate coverage report in HTML format
-pushd tests
-coverage html -d "$EXPORT_DIR/htmlcov"
-popd
--
To view, visit https://gerrit.ovirt.org/65414
To unsubscribe, visit https://gerrit.ovirt.org/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I8688383eb5e99fdd0ee48815cc71afd6483819b4
Gerrit-PatchSet: 1
Gerrit-Project: vdsm
Gerrit-Branch: master
Gerrit-Owner: Nir Soffer <nsoffer(a)redhat.com>
7 years, 5 months
Change in vdsm[master]: storage: Extend the API for IPv6 iSCSI targets
by dholler@redhat.com
Dominik Holler has uploaded a new change for review.
Change subject: storage: Extend the API for IPv6 iSCSI targets
......................................................................
storage: Extend the API for IPv6 iSCSI targets
A new parameter is introduced in the API, to explicitly indicate the
capability of the client to handle IPv6 iSCSI targets. This parameter
is used to present IPv6 iSCSI targets only to clients, which has this
capability.
Change-Id: Iecb45e326d9c551fb636f309f9e945023143dd9c
Bug-Url: https://bugzilla.redhat.com/1308306
Signed-off-by: Dominik Holler <dholler(a)redhat.com>
---
M lib/api/vdsm-api.yml
M lib/vdsm/rpc/bindingxmlrpc.py
M vdsm/API.py
M vdsm/storage/hsm.py
4 files changed, 18 insertions(+), 7 deletions(-)
git pull ssh://gerrit.ovirt.org:29418/vdsm refs/changes/94/65794/1
diff --git a/lib/api/vdsm-api.yml b/lib/api/vdsm-api.yml
index f311b17..d0e5a20 100644
--- a/lib/api/vdsm-api.yml
+++ b/lib/api/vdsm-api.yml
@@ -7713,6 +7713,11 @@
description: The password associated with the given username
name: password
type: string
+
+ - defaultvalue: false
+ description: If true, the returned list includes porals on IPv6
+ name: ipv6Targets
+ type: boolean
return:
description: 'A list of discovered targets in the form:
''<host>:<port>,<tpgt><iqn>'''
diff --git a/lib/vdsm/rpc/bindingxmlrpc.py b/lib/vdsm/rpc/bindingxmlrpc.py
index b8bb3f6..f747304 100644
--- a/lib/vdsm/rpc/bindingxmlrpc.py
+++ b/lib/vdsm/rpc/bindingxmlrpc.py
@@ -984,8 +984,10 @@
def iscsiDiscoverSendTargets(self, con, options=None):
con = protect_passwords(con)
+ ipv6Targets = con['ipv6Targets'] if 'ipv6Targets' in con else False
iscsiConn = API.ISCSIConnection(con['connection'], con['port'],
- con['user'], con['password'])
+ con['user'], con['password'],
+ ipv6Targets)
return iscsiConn.discoverSendTargets()
def vgCreate(self, name, devlist, force=False):
diff --git a/vdsm/API.py b/vdsm/API.py
index f000297..da80afe 100644
--- a/vdsm/API.py
+++ b/vdsm/API.py
@@ -1012,18 +1012,20 @@
class ISCSIConnection(APIBase):
- ctorArgs = ['host', 'port', 'user', 'password']
+ ctorArgs = ['host', 'port', 'user', 'password', 'ipv6Targets']
- def __init__(self, host, port, user="", password=""):
+ def __init__(self, host, port, user="", password="", ipv6Targets=False):
APIBase.__init__(self)
self._host = host
self._port = port
self._user = user
self._pass = password
+ self._ipv6Targets = ipv6Targets
def discoverSendTargets(self):
params = {'connection': self._host, 'port': self._port,
- 'user': self._user, 'password': self._pass}
+ 'user': self._user, 'password': self._pass,
+ 'ipv6Targets': self._ipv6Targets}
return self._irs.discoverSendTargets(params)
diff --git a/vdsm/storage/hsm.py b/vdsm/storage/hsm.py
index e472b1c..9d5f97d 100644
--- a/vdsm/storage/hsm.py
+++ b/vdsm/storage/hsm.py
@@ -2915,6 +2915,7 @@
"""
ip = con['connection']
port = int(con['port'])
+ ipv6Targets = con['ipv6Targets']
username = con['user']
password = con['password']
if username == "":
@@ -2937,9 +2938,10 @@
fullTargets = []
partialTargets = []
for target in targets:
- fullTargets.append(iscsi.getTargetString(target.portal,
- target.tpgt, target.iqn))
- partialTargets.append(target.iqn)
+ if ipv6Targets or not target.portal.startswith("["):
+ fullTargets.append(iscsi.getTargetString(target.portal,
+ target.tpgt, target.iqn))
+ partialTargets.append(target.iqn)
return dict(targets=partialTargets, fullTargets=fullTargets)
--
To view, visit https://gerrit.ovirt.org/65794
To unsubscribe, visit https://gerrit.ovirt.org/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: Iecb45e326d9c551fb636f309f9e945023143dd9c
Gerrit-PatchSet: 1
Gerrit-Project: vdsm
Gerrit-Branch: master
Gerrit-Owner: Dominik Holler <dholler(a)redhat.com>
7 years, 5 months
Change in vdsm[master]: storage: prepare iscsi for IPv6 targets
by dholler@redhat.com
Dominik Holler has uploaded a new change for review.
Change subject: storage: prepare iscsi for IPv6 targets
......................................................................
storage: prepare iscsi for IPv6 targets
The used iscsiadm tool expects IPv6 addresses in square brackets if a
port is appended.
For this reason this patch encapsulates hostnames given as IPv6
addresses in square brackets.
Change-Id: I1e1e1ffe1c5d09b7bc3767d84a99711986eaef97
Bug-Url: https://bugzilla.redhat.com/1308306
Signed-off-by: Dominik Holler <dholler(a)redhat.com>
---
M vdsm/storage/iscsi.py
1 file changed, 29 insertions(+), 7 deletions(-)
git pull ssh://gerrit.ovirt.org:29418/vdsm refs/changes/96/65696/5
diff --git a/vdsm/storage/iscsi.py b/vdsm/storage/iscsi.py
index 4df844c..72320ff 100644
--- a/vdsm/storage/iscsi.py
+++ b/vdsm/storage/iscsi.py
@@ -35,6 +35,8 @@
from vdsm import supervdsm
from vdsm.config import config
from vdsm.network.netinfo.routes import getRouteDeviceTo
+from vdsm.network.errors import ConfigNetworkError
+from vdsm.network.ip.address import IPv6
from vdsm.password import ProtectedPassword
from vdsm.storage import devicemapper
from vdsm.storage import misc
@@ -53,6 +55,28 @@
_iscsiadmTransactionLock = RLock()
log = logging.getLogger('storage.ISCSI')
+
+def getTargetString(portal, tpgt=None, iqn=None):
+ hostname = portal.hostname
+ try:
+ IPv6.validateAddress(hostname)
+ hostname = "[%s]" % hostname
+ except ConfigNetworkError:
+ pass
+
+ portalStr = "%s:%d" % (hostname, portal.port)
+
+ if tpgt is None:
+ tpgtStr = ""
+ else:
+ tpgtStr = ",%d" % tpgt
+
+ if iqn is None:
+ iqnStr= ""
+ else:
+ iqnStr = " %s" % iqn
+
+ return "%s%s%s" % (portalStr, tpgtStr, iqnStr)
def getDevIscsiSessionId(dev):
@@ -189,8 +213,7 @@
# bounded iface. Explicitly specifying tpgt on iSCSI login imposes creation
# of the node record in the new style format which enables to access a
# portal through multiple ifaces for multipathing.
- portalStr = "%s:%d,%d" % (target.portal.hostname, target.portal.port,
- target.tpgt)
+ portalStr = getTargetString(target.portal, target.tpgt)
with _iscsiadmTransactionLock:
iscsiadm.node_new(iface.name, portalStr, target.iqn)
try:
@@ -216,8 +239,7 @@
# Basically this command deleting a node record (see addIscsiNode).
# Once we create a record in the new style format by specifying a tpgt,
# we delete it in the same way.
- portalStr = "%s:%d,%d" % (target.portal.hostname, target.portal.port,
- target.tpgt)
+ portalStr = getTargetString(target.portal, target.tpgt)
with _iscsiadmTransactionLock:
try:
iscsiadm.node_disconnect(iface.name, portalStr, target.iqn)
@@ -230,7 +252,7 @@
def addIscsiPortal(iface, portal, credentials=None):
discoverType = "sendtargets"
- portalStr = "%s:%d" % (portal.hostname, portal.port)
+ portalStr = getTargetString(portal)
with _iscsiadmTransactionLock:
iscsiadm.discoverydb_new(discoverType, iface.name, portalStr)
@@ -251,7 +273,7 @@
def deleteIscsiPortal(iface, portal):
discoverType = "sendtargets"
- portalStr = "%s:%d" % (portal.hostname, portal.port)
+ portalStr = getTargetString(portal)
iscsiadm.discoverydb_delete(discoverType, iface.name, portalStr)
@@ -259,7 +281,7 @@
# Because proper discovery actually has to clear the DB having multiple
# discoveries at once will cause unpredictable results
discoverType = "sendtargets"
- portalStr = "%s:%d" % (portal.hostname, portal.port)
+ portalStr = getTargetString(portal)
with _iscsiadmTransactionLock:
addIscsiPortal(iface, portal, credentials)
--
To view, visit https://gerrit.ovirt.org/65696
To unsubscribe, visit https://gerrit.ovirt.org/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I1e1e1ffe1c5d09b7bc3767d84a99711986eaef97
Gerrit-PatchSet: 5
Gerrit-Project: vdsm
Gerrit-Branch: master
Gerrit-Owner: Dominik Holler <dholler(a)redhat.com>
7 years, 5 months
Change in vdsm[master]: API: remove now-useless _getStats method
by Code Review
From Dan Kenigsberg <danken(a)redhat.com>:
Dan Kenigsberg has posted comments on this change.
Change subject: API: remove now-useless _getStats method
......................................................................
Patch Set 1: Code-Review+2
answering myself: it was http://gerrit.ovirt.org/35140 that drop the single call with runHooks=False. It might have slowed things up a bit, but it don't think it was noticeble.
--
To view, visit https://gerrit.ovirt.org/66019
To unsubscribe, visit https://gerrit.ovirt.org/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: Iea6d215f2e1318c06741da44e7092ccff1c4e52f
Gerrit-PatchSet: 1
Gerrit-Project: vdsm
Gerrit-Branch: master
Gerrit-Owner: Francesco Romani <fromani(a)redhat.com>
Gerrit-Reviewer: Dan Kenigsberg <danken(a)redhat.com>
Gerrit-Reviewer: Irit Goihman <igoihman(a)redhat.com>
Gerrit-Reviewer: Jenkins CI
Gerrit-Reviewer: Nir Soffer <nsoffer(a)redhat.com>
Gerrit-Reviewer: Piotr Kliczewski <piotr.kliczewski(a)gmail.com>
Gerrit-Reviewer: gerrit-hooks <automation(a)ovirt.org>
Gerrit-HasComments: No
7 years, 5 months
Change in vdsm[master]: Update required mom version and interface
by Code Review
From Dan Kenigsberg <danken(a)redhat.com>:
Dan Kenigsberg has submitted this change and it was merged.
Change subject: Update required mom version and interface
......................................................................
Update required mom version and interface
Updated the required mom version to 0.5.8 and the mom
interface to vdsmjsonrpcbulk interface.
Change-Id: Ifbccf419cd05117284b93c57122f30a2f6ee66eb
Bug-Url: https://bugzilla.redhat.com/1374988 https://bugzilla.redhat.com/1346926
Signed-off-by: Jenny Tokar <jtokar(a)redhat.com>
Reviewed-on: https://gerrit.ovirt.org/65974
Reviewed-by: Martin Sivák <msivak(a)redhat.com>
Continuous-Integration: Jenkins CI
Reviewed-by: Dan Kenigsberg <danken(a)redhat.com>
---
M static/etc/vdsm/mom.conf.in
M vdsm.spec.in
2 files changed, 2 insertions(+), 2 deletions(-)
Approvals:
Martin Sivák: Looks good to me, but someone else must approve
Jenkins CI: Passed CI tests
Dan Kenigsberg: Looks good to me, approved
Jenny Tokar: Verified
--
To view, visit https://gerrit.ovirt.org/65974
To unsubscribe, visit https://gerrit.ovirt.org/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: Ifbccf419cd05117284b93c57122f30a2f6ee66eb
Gerrit-PatchSet: 3
Gerrit-Project: vdsm
Gerrit-Branch: master
Gerrit-Owner: Jenny Tokar <jtokar(a)redhat.com>
Gerrit-Reviewer: Dan Kenigsberg <danken(a)redhat.com>
Gerrit-Reviewer: Jenkins CI
Gerrit-Reviewer: Jenny Tokar <jtokar(a)redhat.com>
Gerrit-Reviewer: Martin Sivák <msivak(a)redhat.com>
Gerrit-Reviewer: Yaniv Kaul <ykaul(a)redhat.com>
Gerrit-Reviewer: gerrit-hooks <automation(a)ovirt.org>
7 years, 5 months
Change in vdsm[master]: Update required mom version and interface
by Code Review
From Dan Kenigsberg <danken(a)redhat.com>:
Dan Kenigsberg has posted comments on this change.
Change subject: Update required mom version and interface
......................................................................
Patch Set 2: Code-Review+2
raising
--
To view, visit https://gerrit.ovirt.org/65974
To unsubscribe, visit https://gerrit.ovirt.org/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: Ifbccf419cd05117284b93c57122f30a2f6ee66eb
Gerrit-PatchSet: 2
Gerrit-Project: vdsm
Gerrit-Branch: master
Gerrit-Owner: Jenny Tokar <jtokar(a)redhat.com>
Gerrit-Reviewer: Dan Kenigsberg <danken(a)redhat.com>
Gerrit-Reviewer: Francesco Romani <fromani(a)redhat.com>
Gerrit-Reviewer: Jenkins CI
Gerrit-Reviewer: Jenny Tokar <jtokar(a)redhat.com>
Gerrit-Reviewer: Martin Sivák <msivak(a)redhat.com>
Gerrit-Reviewer: Yaniv Kaul <ykaul(a)redhat.com>
Gerrit-Reviewer: gerrit-hooks <automation(a)ovirt.org>
Gerrit-HasComments: No
7 years, 5 months
Change in vdsm[master]: vm: legacy rng devices fix not needed anymore
by fromani@redhat.com
Francesco Romani has uploaded a new change for review.
Change subject: vm: legacy rng devices fix not needed anymore
......................................................................
vm: legacy rng devices fix not needed anymore
We introduced this fix to deal with upgrades from Vdsm
4.16.z, and we don't need this anymore.
Change-Id: I34eef559ef3d789fd502490acc9691df15c684b9
Signed-off-by: Francesco Romani <fromani(a)redhat.com>
---
M vdsm/virt/vm.py
1 file changed, 0 insertions(+), 26 deletions(-)
git pull ssh://gerrit.ovirt.org:29418/vdsm refs/changes/43/61243/1
diff --git a/vdsm/virt/vm.py b/vdsm/virt/vm.py
index 61a59ca..df32da0 100644
--- a/vdsm/virt/vm.py
+++ b/vdsm/virt/vm.py
@@ -1647,13 +1647,6 @@
self._updateDomainDescriptor()
- # REQUIRED_FOR migrate from vdsm-4.16
- #
- # We need to clean out unknown devices that are created for
- # RNG devices by VDSM 3.5 and are left in the configuration
- # after upgrade to 3.6.
- self._fixLegacyRngConf()
-
self._getUnderlyingVmDevicesInfo()
self._updateAgentChannels()
@@ -4604,25 +4597,6 @@
newChain = [x for x in device['volumeChain']
if x['volumeID'] in volumes]
device['volumeChain'] = drive.volumeChain = newChain
-
- def _fixLegacyRngConf(self):
- def _is_legacy_rng_device_conf(dev):
- """
- Returns True if dev is a legacy (3.5) RNG device conf,
- False otherwise.
- """
- return dev['type'] == hwclass.RNG and (
- 'specParams' not in dev or
- 'source' not in dev['specParams']
- )
-
- with self._confLock:
- self._devices[hwclass.RNG] = [dev for dev
- in self._devices[hwclass.RNG]
- if 'source' in dev.specParams]
- self.conf['devices'] = [dev for dev
- in self.conf['devices']
- if not _is_legacy_rng_device_conf(dev)]
def getDiskDevices(self):
return self._devices[hwclass.DISK]
--
To view, visit https://gerrit.ovirt.org/61243
To unsubscribe, visit https://gerrit.ovirt.org/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I34eef559ef3d789fd502490acc9691df15c684b9
Gerrit-PatchSet: 1
Gerrit-Project: vdsm
Gerrit-Branch: master
Gerrit-Owner: Francesco Romani <fromani(a)redhat.com>
7 years, 5 months