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
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.
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.
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
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