Bug 1440840 - [GSS] [RFE] gluster volume status doesn't show bricks on nodes where glusterd is not running
Summary: [GSS] [RFE] gluster volume status doesn't show bricks on nodes where glusterd...
Keywords:
Status: CLOSED WONTFIX
Alias: None
Product: Red Hat Gluster Storage
Classification: Red Hat Storage
Component: glusterd
Version: rhgs-3.2
Hardware: x86_64
OS: Linux
low
low
Target Milestone: ---
: ---
Assignee: Atin Mukherjee
QA Contact: Bala Konda Reddy M
URL:
Whiteboard:
Depends On:
Blocks: 1408949 RHGS-usability-bug-GSS 1481177
TreeView+ depends on / blocked
 
Reported: 2017-04-10 14:59 UTC by Cal Calhoun
Modified: 2020-05-14 15:55 UTC (History)
5 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2017-07-24 08:02:20 UTC
Embargoed:


Attachments (Terms of Use)

Description Cal Calhoun 2017-04-10 14:59:41 UTC
Description of problem:
# gluster volume status does not display bricks on nodes where glusterd is not running.  Is it possible for gluster to display the bricks, even in an offline state, so that all bricks are visible?

How reproducible:
At all times

Steps to Reproduce:
1. Given a TSP with all nodes operational and gluster volume status showing all bricks online
2. Stop glusterd on any node then repeat gluster volume status
3. Bricks on the node that has had glusterd stopped will no longer appear

Actual results:
Bricks don't show up at all when the glusterd daemon on the node isn't running

Expected results:
Bricks should show up in an offline state if glusterd is not running on a node

Comment 2 Atin Mukherjee 2017-04-10 15:57:17 UTC
(In reply to Cal Calhoun from comment #0)
> Description of problem:
> # gluster volume status does not display bricks on nodes where glusterd is
> not running.  Is it possible for gluster to display the bricks, even in an
> offline state, so that all bricks are visible?
> 
> How reproducible:
> At all times
> 
> Steps to Reproduce:
> 1. Given a TSP with all nodes operational and gluster volume status showing
> all bricks online
> 2. Stop glusterd on any node then repeat gluster volume status
> 3. Bricks on the node that has had glusterd stopped will no longer appear
> 
> Actual results:
> Bricks don't show up at all when the glusterd daemon on the node isn't
> running
> 
> Expected results:
> Bricks should show up in an offline state if glusterd is not running on a
> node

The expected result put up here is wrong. We can't show a brick as offline if the respective node's glusterd service is only down. As per GlusterD design, when volume status is issued, individual glusterds running on the nodes have to report back the status of the respective brick processes and other daemons. If a particular glusterd instance of a node (say N2) is down and a volume status command was issued on N1, glusterd instance of N1 can not communicate to glusterd instance of N2 because of which in the volume status output N2's information is not shown up. At max, we could report back the status of N2's daemon status as not available but would that serve the purpose, I guess no?

With GlusterD 2.0's design this might be solved if the daemon status information is stored in central store i.e. etcd.

Comment 3 Cal Calhoun 2017-04-10 16:12:06 UTC
(In reply to Atin Mukherjee from comment #2)
> (In reply to Cal Calhoun from comment #0)
> > Description of problem:
> > # gluster volume status does not display bricks on nodes where glusterd is
> > not running.  Is it possible for gluster to display the bricks, even in an
> > offline state, so that all bricks are visible?
> > 
> > How reproducible:
> > At all times
> > 
> > Steps to Reproduce:
> > 1. Given a TSP with all nodes operational and gluster volume status showing
> > all bricks online
> > 2. Stop glusterd on any node then repeat gluster volume status
> > 3. Bricks on the node that has had glusterd stopped will no longer appear
> > 
> > Actual results:
> > Bricks don't show up at all when the glusterd daemon on the node isn't
> > running
> > 
> > Expected results:
> > Bricks should show up in an offline state if glusterd is not running on a
> > node
> 
> The expected result put up here is wrong. We can't show a brick as offline
> if the respective node's glusterd service is only down. As per GlusterD
> design, when volume status is issued, individual glusterds running on the
> nodes have to report back the status of the respective brick processes and
> other daemons. If a particular glusterd instance of a node (say N2) is down
> and a volume status command was issued on N1, glusterd instance of N1 can
> not communicate to glusterd instance of N2 because of which in the volume
> status output N2's information is not shown up. At max, we could report back
> the status of N2's daemon status as not available but would that serve the
> purpose, I guess no?
> 
> With GlusterD 2.0's design this might be solved if the daemon status
> information is stored in central store i.e. etcd.

Thanks Atin.  I get the logic.  I'm assuming that, without N2's glusterd responding, N1 doesn't know about N2's bricks at all and that implementing it within the current glusterd framework would be prohibitively expensive?  Is this something that's on the radar at all for GlusterD 2.0?

Comment 6 Atin Mukherjee 2017-06-20 04:35:01 UTC
github issue https://github.com/gluster/glusterd2/issues/325 is filed to track this change under GlusterD 2.0 project upstream.


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