Bug 1289585 - [Upgrade][Gluster] Host moves to Non operational after vdsm upgrade due to a missing gluster-cli package
[Upgrade][Gluster] Host moves to Non operational after vdsm upgrade due to a ...
Status: CLOSED CANTFIX
Product: vdsm
Classification: oVirt
Component: General (Show other bugs)
4.17.11
Unspecified Unspecified
unspecified Severity high (vote)
: ovirt-3.6.3
: 4.17.11
Assigned To: Allon Mureinik
Aharon Canan
storage
:
Depends On:
Blocks: RHEV3.6Upgrade
  Show dependency treegraph
 
Reported: 2015-12-08 08:48 EST by Gil Klein
Modified: 2016-03-09 16:54 EST (History)
3 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2015-12-10 04:58:21 EST
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: Storage
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---
gklein: ovirt‑3.6.z?
gklein: blocker?
rule-engine: planning_ack?
rule-engine: devel_ack?
rule-engine: testing_ack?


Attachments (Terms of Use)
supervdsm log (11.18 KB, application/x-gzip)
2015-12-08 08:51 EST, Gil Klein
no flags Details
vdsm log (297.60 KB, application/x-gzip)
2015-12-08 08:52 EST, Gil Klein
no flags Details
engine log (167.87 KB, application/x-gzip)
2015-12-08 08:54 EST, Gil Klein
no flags Details

  None (edit)
Description Gil Klein 2015-12-08 08:48:54 EST
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"
Comment 1 Gil Klein 2015-12-08 08:51 EST
Created attachment 1103610 [details]
supervdsm log
Comment 2 Gil Klein 2015-12-08 08:52 EST
Created attachment 1103611 [details]
vdsm log
Comment 3 Gil Klein 2015-12-08 08:54 EST
Created attachment 1103612 [details]
engine log
Comment 4 Sahina Bose 2015-12-09 08:58:14 EST
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?
Comment 5 Nir Soffer 2015-12-09 11:54:28 EST
(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.
Comment 6 Allon Mureinik 2015-12-10 04:58:21 EST
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.
Comment 7 Nir Soffer 2016-03-09 16:54:12 EST
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.

Note You need to log in before you can comment on or make changes to this bug.