Bug 1476785

Summary: scripts: invalid test in S32gluster_enable_shared_storage.sh
Product: [Community] GlusterFS Reporter: Kaleb KEITHLEY <kkeithle>
Component: scriptsAssignee: Kaleb KEITHLEY <kkeithle>
Status: CLOSED CURRENTRELEASE QA Contact:
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: mainlineCC: bugs
Target Milestone: ---Keywords: Triaged
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: glusterfs-3.13.0 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of:
: 1476819 1476822 1476827 1478498 (view as bug list) Environment:
Last Closed: 2017-12-08 17:36:32 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1476819, 1476822, 1476827, 1478498    

Description Kaleb KEITHLEY 2017-07-31 13:16:21 UTC
Description of problem:

line 5:

   if [ ! "$key" -eq "enable-shared-storage" -o "$key" -eq "cluster.enable-shared-storage" ]; then

man page for test(1) says -eq takes two integer arguments.

The correct syntax should be 
   
   if [ "$key" != "enable-shared-storage" -o "$key" = "cluster.enable-shared-storage" ]; then

Or is it supposed to be:

   if [ ! ( "$key" = "enable-shared-storage" -o "$key" = "cluster.enable-shared-storage" ) ]; then


Version-Release number of selected component (if applicable):


How reproducible:


Steps to Reproduce:
1.
2.
3.

Actual results:


Expected results:


Additional info:

Comment 1 Worker Ant 2017-07-31 13:53:01 UTC
REVIEW: https://review.gluster.org/17925 (scripts: invalid test(1) in extras/S32gluster_enable_shared_storage.sh) posted (#1) for review on master by Kaleb KEITHLEY (kkeithle)

Comment 2 Worker Ant 2017-08-01 17:41:29 UTC
COMMIT: https://review.gluster.org/17925 committed in master by Shyamsundar Ranganathan (srangana) 
------
commit 1ae3747608797445c4a59569f93edc331e3626b0
Author: Kaleb S. KEITHLEY <kkeithle>
Date:   Mon Jul 31 09:48:09 2017 -0400

    scripts: invalid test(1) in extras/S32gluster_enable_shared_storage.sh
    
    test(1) man pages says -eq is for INTEGER compares, and = is for
    string compares.
    
    Also note the comment that -a and -o are ambiguous and to use
     test && test or test || test instead.
    
    This bug has existed since 2015! (yikes)
    
    Found while testing localtime logging and running glusterd in the
    foreground.
    
    Change-Id: Ia544f7295e247b981504d085ebc4c533ab60ba84
    BUG: 1476785
    Signed-off-by: Kaleb S. KEITHLEY <kkeithle>
    Reviewed-on: https://review.gluster.org/17925
    Reviewed-by: Niels de Vos <ndevos>
    Smoke: Gluster Build System <jenkins.org>
    Reviewed-by: Shyamsundar Ranganathan <srangana>
    CentOS-regression: Gluster Build System <jenkins.org>

Comment 3 Shyamsundar 2017-12-08 17:36:32 UTC
This bug is getting closed because a release has been made available that should address the reported issue. In case the problem is still not fixed with glusterfs-3.13.0, please open a new bug report.

glusterfs-3.13.0 has been announced on the Gluster mailinglists [1], packages for several distributions should become available in the near future. Keep an eye on the Gluster Users mailinglist [2] and the update infrastructure for your distribution.

[1] http://lists.gluster.org/pipermail/announce/2017-December/000087.html
[2] https://www.gluster.org/pipermail/gluster-users/