Bug 1289585 - [Upgrade][Gluster] Host moves to Non operational after vdsm upgrade due to a missing gluster-cli package
Summary: [Upgrade][Gluster] Host moves to Non operational after vdsm upgrade due to a ...
Keywords:
Status: CLOSED CANTFIX
Alias: None
Product: vdsm
Classification: oVirt
Component: General
Version: 4.17.11
Hardware: Unspecified
OS: Unspecified
unspecified
high
Target Milestone: ovirt-3.6.3
: 4.17.11
Assignee: Allon Mureinik
QA Contact: Aharon Canan
URL:
Whiteboard: storage
Depends On:
Blocks: RHEV3.6Upgrade
TreeView+ depends on / blocked
 
Reported: 2015-12-08 13:48 UTC by Gil Klein
Modified: 2016-03-09 21:54 UTC (History)
3 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2015-12-10 09:58:21 UTC
oVirt Team: Storage
Embargoed:
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 13:51 UTC, Gil Klein
no flags Details
vdsm log (297.60 KB, application/x-gzip)
2015-12-08 13:52 UTC, Gil Klein
no flags Details
engine log (167.87 KB, application/x-gzip)
2015-12-08 13:54 UTC, Gil Klein
no flags Details


Links
System ID Private Priority Status Summary Last Updated
Red Hat Bugzilla 1183318 0 high CLOSED [HC] - Do not allow adding GlusterFS storage domain, if hosts of the selected dc, do not report they have the GlusterFS ... 2021-02-22 00:41:40 UTC

Internal Links: 1183318

Description Gil Klein 2015-12-08 13:48:54 UTC
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 13:51:58 UTC
Created attachment 1103610 [details]
supervdsm log

Comment 2 Gil Klein 2015-12-08 13:52:33 UTC
Created attachment 1103611 [details]
vdsm log

Comment 3 Gil Klein 2015-12-08 13:54:13 UTC
Created attachment 1103612 [details]
engine log

Comment 4 Sahina Bose 2015-12-09 13:58:14 UTC
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 16:54:28 UTC
(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 09:58:21 UTC
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 21:54:12 UTC
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.