Yaniv Bronhaim has uploaded a new change for review.
Change subject: VDSM should return qemu-kvm parameters by getCaps API in all
distributions
......................................................................
VDSM should return qemu-kvm parameters by getCaps API in all distributions
Engine reads qemu-kvm parameter and set it as kvm version. Over RHEL we
called this parameter qemu-kvm-rhev due to the name of kvm package. This
patch adds dictionary that translate between the package name and the
key value.
Change-Id: I97448ea5265ab2f3fa51e76762d5727c2a78ce3b
Bug-Id:
https://bugzilla.redhat.com/show_bug.cgi?id=901421
Signed-off-by: Yaniv Bronhaim <ybronhei(a)redhat.com>
---
M vdsm/caps.py
1 file changed, 21 insertions(+), 9 deletions(-)
git pull ssh://gerrit.ovirt.org:29418/vdsm refs/changes/76/11676/1
diff --git a/vdsm/caps.py b/vdsm/caps.py
index a307200..392e7e0 100644
--- a/vdsm/caps.py
+++ b/vdsm/caps.py
@@ -328,20 +328,31 @@
pkgs = {'kernel': kernelDict()}
+ # Settting deafule keys and values. Engine reads those keys and the values
+ # are the names of the packages - which are different between
+ # distributions.
+ KEY_PACKAGES = {'qemu-kvm': 'qemu-kvm',
+ 'qemu-img': 'qemu-img',
+ 'vdsm': 'vdsm',
+ 'spice-server': 'spice-server',
+ 'libvirt': 'libvirt',
+ 'mom': 'mom'}
+
if getos() in (OSName.RHEVH, OSName.OVIRT, OSName.FEDORA, OSName.RHEL):
- KEY_PACKAGES = ['qemu-kvm', 'qemu-img',
- 'vdsm', 'spice-server', 'libvirt',
'mom']
+ if getos() in (OSName.RHEVH, OSName.RHEL):
+ KEY_PACKAGES['qemu-kvm'] = 'qemu-kvm-rhev'
+ KEY_PACKAGES['qemu-img'] = 'qemu-img-rhev'
try:
ts = rpm.TransactionSet()
- for pkg in KEY_PACKAGES:
+ for key, pkg in KEY_PACKAGES.items():
try:
mi = ts.dbMatch('name', pkg).next()
except StopIteration:
logging.debug("rpm package %s not found", pkg)
else:
- pkgs[pkg] = {
+ pkgs[key] = {
'version': mi['version'],
'release': mi['release'],
'buildtime': mi['buildtime'],
@@ -350,18 +361,19 @@
logging.error('', exc_info=True)
elif getos() == OSName.DEBIAN and python_apt:
- KEY_PACKAGES = {'qemu-kvm': 'qemu-kvm', 'qemu-img':
'qemu-utils',
- 'vdsm': 'vdsmd', 'spice-server':
'libspice-server1',
- 'libvirt': 'libvirt0', 'mom':
'mom'}
+ KEY_PACKAGES['qemu-img'] = 'qemu-utils'
+ KEY_PACKAGES['vdsm'] = 'vdsmd'
+ KEY_PACKAGES['spice-server'] = 'libspice-server1'
+ KEY_PACKAGES['libvirt'] = 'libvirt0'
cache = apt.Cache()
- for pkg in KEY_PACKAGES:
+ for key, pkg in KEY_PACKAGES.items():
try:
deb_pkg = KEY_PACKAGES[pkg]
ver = cache[deb_pkg].installed.version
# Debian just offers a version
- pkgs[pkg] = dict(version=ver, release="",
buildtime="")
+ pkgs[key] = dict(version=ver, release="",
buildtime="")
except:
logging.error('', exc_info=True)
--
To view, visit
http://gerrit.ovirt.org/11676
To unsubscribe, visit
http://gerrit.ovirt.org/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I97448ea5265ab2f3fa51e76762d5727c2a78ce3b
Gerrit-PatchSet: 1
Gerrit-Project: vdsm
Gerrit-Branch: master
Gerrit-Owner: Yaniv Bronhaim <ybronhei(a)redhat.com>