Bug 1287862

Summary: vdsm package does not pull in numactl requirement on fc23
Product: Red Hat Enterprise Virtualization Manager Reporter: David Caro <dcaroest>
Component: safeleaseAssignee: Yaniv Bronhaim <ybronhei>
Status: CLOSED UPSTREAM QA Contact: Pavel Stehlik <pstehlik>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 3.6.1CC: bugs, danken, dcaroest, eedri, gklein, mgoldboi, oourfali
Target Milestone: ovirt-3.6.2   
Target Release: ---   
Hardware: Unspecified   
OS: Linux   
Whiteboard: infra
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-01-12 16:10:29 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: Infra RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description David Caro 2015-12-02 21:01:07 UTC
Description of problem:
After using a minimal fc23 image, vdsm installs ok but it fails no run getVDSCapabilities with 'No such file or directory', after some investigation, it turns out that it does not find numactl binary:


  vdsm vds ERROR unexpected error
    Traceback (most recent call last):
    File "/usr/share/vdsm/rpc/bindingxmlrpc.py", line 1232, in wrapper
      res = f(*args, **kwargs)
    File "/usr/share/vdsm/rpc/bindingxmlrpc.py", line 513, in getCapabilities
      ret = api.getCapabilities()
    File "/usr/share/vdsm/API.py", line 1319, in getCapabilities
      c = caps.get()
    File "/usr/share/vdsm/caps.py", line 709, in get
      caps['numaNodeDistance'] = getNumaNodeDistance()
    File "/usr/lib/python2.7/site-packages/vdsm/utils.py", line 852, in __call__
      value = self.func(*args)
    File "/usr/share/vdsm/caps.py", line 360, in getNumaNodeDistance
      retcode, out, err = utils.execCmd(['numactl', '--hardware'])
    File "/usr/lib/python2.7/site-packages/vdsm/utils.py", line 648, in execCmd
      deathSignal=deathSignal, childUmask=childUmask)
    File "/usr/lib64/python2.7/site-packages/cpopen/__init__.py", line 63, in __init__
      **kw)
    File "/usr/lib64/python2.7/subprocess.py", line 710, in __init__
      errread, errwrite)
    File "/usr/lib64/python2.7/site-packages/cpopen/__init__.py", line 83, in _execute_child_v276
      _to_close=to_close
    File "/usr/lib64/python2.7/site-packages/cpopen/__init__.py", line 118, in _execute_child_v275
        restore_sigpipe
    OSError: [Errno 2] No such file or directory


Version-Release number of selected component (if applicable):
# rpm -qa vdsm
vdsm-4.17.999-250.git0e1dd4f.fc23.noarch

(vdsm custom build for master branch)

How reproducible:


Steps to Reproduce:
1.
2.
3.

Actual results:


Expected results:


Additional info:
manually installing numactl works

Comment 1 Yaniv Kaul 2015-12-04 15:01:28 UTC
Dup of bug 1287862 ?

Comment 2 David Caro 2015-12-04 18:44:20 UTC
That is this same bug, :)

Comment 3 Yaniv Bronhaim 2015-12-23 15:41:55 UTC
We removed the requirement in https://gerrit.ovirt.org/#/c/41016/6/vdsm.spec.in as part of the effort to make vdsm noarch depended. we need to limit the requirement as specified in https://gerrit.ovirt.org/#/c/33306 , numactl is not compiled for s390[x] and ARM
probably you'll see the same with dmidecode. safelease 1.0 requires those packages and Vdsm "Requires: safelease >= 1.0-5" . do you have safelease installed there?

Comment 4 Yaniv Bronhaim 2015-12-24 11:20:32 UTC
OK. I now see that the safelease build for f23 I did not publish and the spec is missing the requirement for numactl and dmidecode. I'll publish new build for fedora to fix that

Comment 6 Yaniv Bronhaim 2015-12-24 12:22:55 UTC
please give it karma - https://bodhi.fedoraproject.org/updates/FEDORA-2015-7cae850cb8

this is not relevant for old fedora builds and rhel biulds

Comment 8 Yaniv Bronhaim 2016-01-05 13:22:45 UTC
For testing it just confirm that installing safelease over f23 requires the packages dmidecode and numctl. I verified that

Comment 9 Yaniv Bronhaim 2016-01-12 16:10:29 UTC
this issue is not related to rhev build. therefore, verification should be done only upstream