Description of problem: When upgrading an host which has a gluster SD, from vdsm 4.16.x to 4.17.x, it moved to a "Non operational" state. Version-Release number of selected component (if applicable): Upgrade: vdsm-4.16.30-1.el7ev.x86_64 to: vdsm-4.17.12-0.el7ev.noarch How reproducible: 100% Steps to Reproduce: 1. Install a RHEV host with vdsm-4.16.30-1.el7ev.x86_64 2. Add a gluster SD 3. Upgrade the host to vdsm-4.17.12-0.el7ev.noarch Actual results: Host moves to Non operational due to this (supervdsm.log) MainProcess|jsonrpc.Executor/3::ERROR::2015-12-08 15:40:06,683::supervdsmServer::118::SuperVdsm.ServerCallback::(wrapper) Error in wrapper Traceback (most recent call last): File "/usr/share/vdsm/supervdsmServer", line 116, in wrapper res = func(*args, **kwargs) File "/usr/share/vdsm/supervdsmServer", line 531, in wrapper return func(*args, **kwargs) File "/usr/share/vdsm/gluster/cli.py", line 489, in volumeInfo command = _getGlusterVolCmd() + ["info"] File "/usr/share/vdsm/gluster/cli.py", line 45, in _getGlusterVolCmd return [_glusterCommandPath.cmd, "--mode=script", "volume"] File "/usr/lib/python2.7/site-packages/vdsm/utils.py", line 915, in cmd self.name) OSError: [Errno 2] No such file or directory: gluster Expected results: Host should move to "Up" state Additional info: Can be easily workaround by "yum install glusterfs-cli"
Created attachment 1103610 [details] supervdsm log
Created attachment 1103611 [details] vdsm log
Created attachment 1103612 [details] engine log
vdsm should have a Requires on glusterfs-cli. Nir, I think this was not added due to the package not being available on ppc, IIRC. But what about other arch?
(In reply to Sahina Bose from comment #4) > vdsm should have a Requires on glusterfs-cli. > > Nir, I think this was not added due to the package not being available on > ppc, IIRC. But what about other arch? Vdsm was converted to noarch package, so we don't have any way now to require arch specific packages. I have set of patches fixing this here: https://gerrit.ovirt.org/42490 It was created for ceph packages, but will serve also gluster package when it is done.
For the upstream VDSM project, VDSM requires glusterfs-cli (see 766a54776555e6303b4ceae593c41bbfb0c764ae and b9b06b6342829b29ab29dc9d2a972712133c3a34). On RHEV, we cannot require glusterfs-cli, as its not delivered in the rhel-server channel - only in rhel-optional or RHGS' channel. Therefore, the only thing we can do is have a release note, which we already provided in bug 922744.
This should be fixed on master: https://github.com/oVirt/vdsm/commit/3151a9e34899f047b1ed615c8ec7d591ea9e3145 gluster command line is *not* required now. When it exists, we can provide validation of gluster volume configuration, and add automatically backup servers. When it is not available, the system should behave in the same way as in 3.5.