Bug 1645620

Summary: vdsm-client has missing dependecy to PyYAML
Product: Red Hat Enterprise Virtualization Manager Reporter: Andreas Bleischwitz <ableisch>
Component: vdsmAssignee: Marcin Sobczyk <msobczyk>
Status: CLOSED ERRATA QA Contact: Petr Kubica <pkubica>
Severity: high Docs Contact:
Priority: high    
Version: 4.2.6CC: dfodor, lleistne, lsurette, mgoldboi, mperina, pkubica, srevivo, ycui
Target Milestone: ovirt-4.3.0Keywords: ZStream
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: v4.30.5 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of:
: 1651552 (view as bug list) Environment:
Last Closed: 2019-05-08 12:36:02 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:
Bug Depends On:    
Bug Blocks: 1651552    

Description Andreas Bleischwitz 2018-11-02 16:22:28 UTC
Description of problem:
During the installation of a fresh installed host the vdsm-client package throws a traceback in %post.

Version-Release number of selected component (if applicable):
vdsm-client-4.20.39.1-1.el7ev.noarch

How reproducible:
Always

Steps to Reproduce:
1. Install host
2. Install host via RHV-management ui

Actual results:
Installation is failing, traceback shown in ovirt-host-deploy log

D: %post(vdsm-client-4.20.39.1-1.el7ev.noarch): execv(/bin/sh) pid 23213
+ /usr/bin/python -c 'from vdsm.api.vdsmapi import create_cache; create_cache()'
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/usr/lib/python2.7/site-packages/vdsm/api/vdsmapi.py", line 27, in <module>
    import yaml
ImportError: No module named yaml
D: %post(vdsm-client-4.20.39.1-1.el7ev.noarch): waitpid(23213) rc 23213 status 100
warning: %post(vdsm-client-4.20.39.1-1.el7ev.noarch) scriptlet failed, exit status 1

2018-11-02 10:33:58,045+0100 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:76 Yum Done: vdsm-client.noarch 0:4.20.39.1-1.el7ev - u
2018-11-02 10:33:58,047+0100 ERROR otopi.plugins.otopi.packagers.yumpackager yumpackager.error:85 Yum Non-fatal POSTIN scriptlet failure in rpm package vdsm-client-4.20.39.1-1.el7ev.noarch


Expected results:
No traceback, PyYAML included in vdsm-client's dependency list.

Additional info:

# rpm -q --requires vdsm-client
/bin/sh
/usr/bin/python2
python
python(abi) = 2.7
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(FileDigests) <= 4.6.0-1
rpmlib(PartialHardlinkSets) <= 4.0.4-1
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
vdsm-api = 4.20.39.1-1.el7ev
vdsm-api = 4.20.39.1-1.el7ev
vdsm-python = 4.20.39.1-1.el7ev
vdsm-yajsonrpc = 4.20.39.1-1.el7ev
rpmlib(PayloadIsXz) <= 5.2-1

Comment 1 Martin Perina 2018-11-07 14:14:16 UTC
We have a dependency on PyYAML in vdsm, but we forgot to add it to vdsm-client.

The strange thing is that on all our testing systems yum installed vdsm package before vdsm-client, so this issue haven't been observed.

The workaround is to install PyYAML on the host manually before you try to add host in RHV Manager.

Comment 3 Marcin Sobczyk 2018-11-22 10:20:34 UTC
After investigation it turned out, that 'PyYAML' dependency declarations were a mess. We require 'PyYAML' at build-time for 'vdsm-api' and at run-time for 'vdsm-tests' and 'vdsm-gluster'. So an installation of 'vdsm' without 'tests' or 'gluster' will not require 'PyYAML' at all.

This is a result of dropping yaml schema files from rpms in favour of pickles.

Comment 4 Petr Kubica 2019-03-07 10:47:06 UTC
Verified
# yum deplist vdsm-gluster
package: vdsm-gluster.x86_64 4.30.10-1.el7ev
  dependency: PyYAML
   provider: PyYAML.x86_64 3.10-11.el7
  dependency: glusterfs-api >= 3.8
   provider: glusterfs-api.x86_64 3.12.2-40.el7
  dependency: glusterfs-events >= 3.8
   Unsatisfied dependency
  dependency: glusterfs-geo-replication >= 3.8
   Unsatisfied dependency
  dependency: glusterfs-server >= 3.8
   Unsatisfied dependency
  dependency: kmod-kvdo
   provider: kmod-kvdo.x86_64 6.1.1.125-5.el7
  dependency: python(abi) = 2.7
   provider: python.x86_64 2.7.5-76.el7
  dependency: python-blivet
   provider: python-blivet.noarch 1:0.61.15.72-1.el7
  dependency: python-magic
   provider: python-magic.noarch 5.11-35.el7
  dependency: vdo
   provider: vdo.x86_64 6.1.1.125-3.el7
  dependency: vdsm = 4.30.10-1.el7ev
   provider: vdsm.x86_64 4.30.10-1.el7ev
  dependency: xfsprogs
   provider: xfsprogs.x86_64 4.5.0-19.el7_6
   provider: xfsprogs.i686 4.5.0-19.el7_6

Comment 6 errata-xmlrpc 2019-05-08 12:36:02 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHBA-2019:1077