Bug 1575899

Summary: heketi is not creating volume everytime when all devices on node is arbiter:disabled and node is tagged as required itself
Product: [Red Hat Storage] Red Hat Gluster Storage Reporter: Nitin Goyal <nigoyal>
Component: heketiAssignee: John Mulligan <jmulligan>
Status: CLOSED ERRATA QA Contact: Nitin Goyal <nigoyal>
Severity: high Docs Contact:
Priority: high    
Version: rhgs-3.3CC: hchiramm, jmulligan, kramdoss, madam, rhs-bugs, rtalur, sankarshan, storage-qa-internal
Target Milestone: ---   
Target Release: CNS 3.10   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: heketi-6.0.0-14.el7rhgs Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2018-09-12 09:22:12 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: 1568862    

Description Nitin Goyal 2018-05-08 08:32:38 UTC
Description of problem: Some times heketi is creating volumes and some times it give us error that "no space left" even though we have space left on devices.

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

Actual results: It is creating volumes 4 times out of 10.

Expected results: It should create volumes every time.

Comment 2 Nitin Goyal 2018-05-08 08:39:55 UTC
This is first scenario where it is failing.

N1-r        N2        N3
#100gb-d    #100gb    #100gb
#100gb-d    #100gb    #100gb
#100gb-d    #100gb    #100gb


N stans for node
# stands for device
d stands for arbiter disabled
r stands for arbiter required

1. Give the required tag on first node.
# heketi-cli node settags node_id arbiter:required

2. Give the disable tag on all the devices of first node.
# heketi-cli device settags device_id arbiter:disabled

3. Create volume.
# heketi-cli volume create --size=100  --gluster-volume-options='user.heketi.arbiter true'

4. Try to create 10 volumes atleast.

5. Check that it is actually working according to tags.
# heketi-cli topology info
# gluster v info

Comment 3 Nitin Goyal 2018-05-08 08:41:31 UTC
This is second scenario where it is failing.

N1-r        N2-r        N3
#100gb-d    #100gb-d    #100gb
#100gb-d    #100gb-d    #100gb
#100gb-d    #100gb-d    #100gb

N stans for node
# stands for device
d stands for arbiter disabled
r stands for arbiter required

1. Give the required tag to first and second node.
# heketi-cli node settags node_id arbiter:required

2. Give the disable tag on drives of first node and drives of second node.
# heketi-cli device settags node_id arbiter:disabled

3. Create volume.
# heketi-cli volume create --size=100  --gluster-volume-options='user.heketi.arbiter true'

4. Try to create 10 volumes atleast.

5. Check that it is actually working according to tags.
# heketi-cli topology info
# gluster v info

Comment 4 Michael Adam 2018-05-15 19:54:16 UTC
Should be fixed by https://github.com/heketi/heketi/pull/1172
and subsequent fixes (https://github.com/heketi/heketi/pull/1182 ...).

Comment 8 John Mulligan 2018-05-25 20:13:40 UTC
Should be much improved by https://github.com/heketi/heketi/pull/1191 as well.

Comment 10 errata-xmlrpc 2018-09-12 09:22:12 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHEA-2018:2686