Bug 1334074

Summary: No xml output on gluster volume heal info command with --xml
Product: [Community] GlusterFS Reporter: hari gowtham <hgowtham>
Component: cliAssignee: bugs <bugs>
Status: CLOSED CURRENTRELEASE QA Contact:
Severity: low Docs Contact:
Priority: high    
Version: 3.8.0CC: bugs, mark.dillon3, mselvaga, pkarampu, purpleidea, sabose
Target Milestone: ---Keywords: Triaged
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: glusterfs-3.8rc2 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: 1063506 Environment:
Last Closed: 2016-06-16 14:05:31 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: 1063506    
Bug Blocks: 1277939, 1313370, 1331287    

Description hari gowtham 2016-05-08 01:20:48 UTC
+++ This bug was initially created as a clone of Bug #1063506 +++

Description of problem:

"gluster volume heal vol info --xml" does not output XML info as i.e. "gluster volume info --xml" does.

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

Tested on 3.4.2 installed on ubuntu 13.10 from semiosis PPA. First observed in 3.4.1

How reproducible:

100%

Steps to Reproduce:
1. Setup a replicate volume
2. Type "gluster volume heal vol info --xml"

Actual results:

Same as without --xml

Expected results:

Should parse into tagged xml for use with APIs etc

Additional info:

Here is a sample

root@testrdp:~# gluster volume heal test1 info --xml
Gathering Heal info on volume test1 has been successful

Brick 10.0.1.152:/mnt/gogo
Number of entries: 0

Brick 10.0.1.205:/mnt/gogo
Number of entries: 0
root@testrdp:~#

root@testrdp:~# gluster volume info --xml
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<cliOutput>
<opRet>0</opRet>
<opErrno>0</opErrno>
<opErrstr/>
<volInfo>
<volumes>
<volume>
<name>test1</name>
<id>9dc0c864-84b2-4c6e-8cd9-39e1af272ff3</id>
<status>1</status>
<statusStr>Started</statusStr>
<brickCount>2</brickCount>
<distCount>2</distCount>
<stripeCount>1</stripeCount>
<replicaCount>2</replicaCount>
<type>2</type>
<typeStr>Replicate</typeStr>
<transport>0</transport>
<bricks>
<brick>10.0.1.152:/mnt/gogo</brick>
<brick>10.0.1.205:/mnt/gogo</brick>
</bricks>
<optCount>0</optCount>
<options/>
</volume>
<count>1</count>
</volumes>
</volInfo>
</cliOutput>
root@testrdp:~#

root@testrdp:~# gluster --version
glusterfs 3.4.2 built on Feb 4 2014 23:08:03
Repository revision: git://git.gluster.com/glusterfs.git
Copyright (c) 2006-2011 Gluster Inc. <http://www.gluster.com>
GlusterFS comes with ABSOLUTELY NO WARRANTY.
You may redistribute copies of GlusterFS under the terms of the GNU General Public License.
root@testrdp:~#

--- Additional comment from  on 2014-09-30 10:55:23 EDT ---

FYI: I have upgraded to 3.5.2 and this is still an issue. However, since false positive healing on files with lots of IO is fixed in 3.5.2 this issue is not as big a deal to me. 

Still though, I can imagine someone wanting to use xml output from the heal info command.

--- Additional comment from Niels de Vos on 2015-05-17 17:59:31 EDT ---

GlusterFS 3.7.0 has been released (http://www.gluster.org/pipermail/gluster-users/2015-May/021901.html), and the Gluster project maintains N-2 supported releases. The last two releases before 3.7 are still maintained, at the moment these are 3.6 and 3.5.

This bug has been filed against the 3,4 release, and will not get fixed in a 3.4 version any more. Please verify if newer versions are affected with the reported problem. If that is the case, update the bug with a note, and update the version if you can. In case updating the version is not possible, leave a comment in this bug report with the version you tested, and set the "Need additional information the selected bugs from" below the comment box to "bugs".

If there is no response by the end of the month, this bug will get automatically closed.

--- Additional comment from Sahina Bose on 2015-06-17 06:32:10 EDT ---

We need xml output for volume self heal info, to monitor the self-heal activity of a volume from oVirt.

Changing the version to 3.7.

--- Additional comment from Vijay Bellur on 2016-05-07 21:19:37 EDT ---

REVIEW: http://review.gluster.org/14249 (heal/xml : xml implementation of heal info and splitbrain info) posted (#1) for review on release-3.7 by hari gowtham (hari.gowtham005)

Comment 1 Vijay Bellur 2016-05-08 01:26:31 UTC
REVIEW: http://review.gluster.org/14250 (heal/xml : xml implementation of heal info and splitbrain info) posted (#1) for review on release-3.8 by hari gowtham (hari.gowtham005)

Comment 2 Vijay Bellur 2016-05-08 06:34:43 UTC
REVIEW: http://review.gluster.org/14250 (heal/xml : xml implementation of heal info and splitbrain info) posted (#2) for review on release-3.8 by hari gowtham (hari.gowtham005)

Comment 3 Vijay Bellur 2016-05-14 14:27:46 UTC
COMMIT: http://review.gluster.org/14250 committed in release-3.8 by Niels de Vos (ndevos) 
------
commit bf80f5a94b7d5e617612904723c2ae053e137d3b
Author: hari gowtham <hgowtham>
Date:   Thu Apr 28 11:48:23 2016 +0530

    heal/xml : xml implementation of heal info and splitbrain info
    
            back-port of : http://review.gluster.org/#/c/14100/
    
    Current output:
    heal didn't have xml output.
    
    expected output with patch:
    gluster v heal v1 info --xml
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <cliOutput>
      <healInfo>
        <bricks>
          <brick hostUuid="3677edbb-0a6a-415e-b0ee-b846ff93259c">
            <name>10.70.42.183:/home/bricks/b1</name>
            <status>Connected</status>
            <numberOfEntries>0</numberOfEntries>
          </brick>
          <brick hostUuid="3677edbb-0a6a-415e-b0ee-b846ff93259c">
            <name>10.70.42.183:/home/bricks/b2</name>
            <status>Connected</status>
            <numberOfEntries>0</numberOfEntries>
          </brick>
        </bricks>
      </healInfo>
      <opRet>0</opRet>
      <opErrno>0</opErrno>
      <opErrstr/>
    </cliOutput>
    
    gluster v heal v1 info split-brain --xml
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <cliOutput>
      <healInfo>
        <bricks>
          <brick hostUuid="3677edbb-0a6a-415e-b0ee-b846ff93259c">
            <name>10.70.42.183:/home/bricks/b1</name>
            <status>Connected</status>
            <numberOfEntries>0</numberOfEntries>
          </brick>
          <brick hostUuid="3677edbb-0a6a-415e-b0ee-b846ff93259c">
            <name>10.70.42.183:/home/bricks/b2</name>
            <status>Connected</status>
            <numberOfEntries>0</numberOfEntries>
          </brick>
        </bricks>
      </healInfo>
      <opRet>0</opRet>
      <opErrno>0</opErrno>
      <opErrstr/>
    </cliOutput>
    
    >hange-Id: I20ad5eb7950d4721364ab46089e3af515162db82
    >BUG: 1331287
    >Signed-off-by: hari gowtham <hgowtham>
    
    Change-Id: Ie2d74222213b71fb6c80d0384a35a1c705aafcd0
    BUG: 1334074
    Signed-off-by: hari gowtham <hgowtham>
    Reviewed-on: http://review.gluster.org/14250
    Smoke: Gluster Build System <jenkins.com>
    Tested-by: hari gowtham <hari.gowtham005>
    NetBSD-regression: NetBSD Build System <jenkins.org>
    CentOS-regression: Gluster Build System <jenkins.com>
    Reviewed-by: Ravishankar N <ravishankar>
    Reviewed-by: Niels de Vos <ndevos>

Comment 4 Niels de Vos 2016-06-16 14:05:31 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.8.0, please open a new bug report.

glusterfs-3.8.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://blog.gluster.org/2016/06/glusterfs-3-8-released/
[2] http://thread.gmane.org/gmane.comp.file-systems.gluster.user