Bug 1596520

Summary: Guaranteed free space implementation differs between replica and arbiter volumes
Product: [Red Hat Storage] Red Hat Gluster Storage Reporter: bipin <bshetty>
Component: rhhiAssignee: Sahina Bose <sabose>
Status: CLOSED CURRENTRELEASE QA Contact: bipin <bshetty>
Severity: high Docs Contact:
Priority: high    
Version: rhhiv-1.5CC: godas, rhs-bugs, sankarshan
Target Milestone: ---   
Target Release: RHHI-V 1.5   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of:
: 1596523 (view as bug list) Environment:
Last Closed: 2019-05-20 04:54:45 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: 1596523    
Bug Blocks: 1520836    

Description bipin 2018-06-29 07:41:23 UTC
Description of problem:
The guaranteed free space for arbiter volume uses the size of the arbiter brick.
Created a 1*3 arbiter volume.Here the guaranteed free space takes the thinpool size of the 3rd host which has the arbiter brick.

Version-Release number of selected component (if applicable):
ovirt-engine-4.2.4.5-0.1.el7_3.noarch

How reproducible:
100%

Steps to Reproduce:
1.Create a arbiter volume replica
2.Go to the HE 
3.Navigate to storage -> domain
4.Check the Guaranteed space size (Displays the thinp size of the 3rd host)

Actual results:
Uses the arbiter brick size for thinp calculation in guaranteed free space

Expected results:
Should make use of thinp size of non arbiter brick

Additional info:

Host 1:
sdb                                                                  8:16   0    20T  0 disk  
└─vdo_sdb                                                          253:0    0 169.8T  0 vdo   
  ├─gluster_vg_sdb-gluster_thinpool_sdb_tmeta                      253:1    0  15.8G  0 lvm   
  │ └─gluster_vg_sdb-gluster_thinpool_sdb-tpool                    253:3    0  16.9T  0 lvm   
  │   ├─gluster_vg_sdb-gluster_thinpool_sdb                        253:19   0  16.9T  0 lvm   
  │   ├─gluster_vg_sdb-gluster_lv_data                             253:20   0    12T  0 lvm   /gluster_bricks/data
  │   ├─gluster_vg_sdb-gluster_lv_vmstore                          253:22   0     4T  0 lvm   /gluster_bricks/vmstore
  │   └─gluster_vg_sdb-gluster_lv_vdo                              253:23   0   900G  0 lvm   /gluster_bricks/vdo
  ├─gluster_vg_sdb-gluster_lv_engine                               253:7    0   100G  0 lvm   /gluster_bricks/engine
  ├─gluster_vg_sdb-lvcache_cmeta                                   253:25   0    44M  0 lvm   
  │ └─gluster_vg_sdb-gluster_thinpool_sdb_tdata                    253:2    0  16.9T  0 lvm   
  │   └─gluster_vg_sdb-gluster_thinpool_sdb-tpool                  253:3    0  16.9T  0 lvm   
  │     ├─gluster_vg_sdb-gluster_thinpool_sdb                      253:19   0  16.9T  0 lvm   
  │     ├─gluster_vg_sdb-gluster_lv_data                           253:20   0    12T  0 lvm   /gluster_bricks/data
  │     ├─gluster_vg_sdb-gluster_lv_vmstore                        253:22   0     4T  0 lvm   /gluster_bricks/vmstore
  │     └─gluster_vg_sdb-gluster_lv_vdo                            253:23   0   900G  0 lvm   /gluster_bricks/vdo
  └─gluster_vg_sdb-gluster_thinpool_sdb_tdata_corig                253:26   0  16.9T  0 lvm   
    └─gluster_vg_sdb-gluster_thinpool_sdb_tdata                    253:2    0  16.9T  0 lvm   
      └─gluster_vg_sdb-gluster_thinpool_sdb-tpool                  253:3    0  16.9T  0 lvm   
        ├─gluster_vg_sdb-gluster_thinpool_sdb                      253:19   0  16.9T  0 lvm   
        ├─gluster_vg_sdb-gluster_lv_data                           253:20   0    12T  0 lvm   /gluster_bricks/data
        ├─gluster_vg_sdb-gluster_lv_vmstore                        253:22   0     4T  0 lvm   /gluster_bricks/vmstore
        └─gluster_vg_sdb-gluster_lv_vdo                            253:23   0   900G  0 lvm   /gluster_bricks/vdo

Host 2:
sdb                                                                  8:16   0    20T  0 disk  
└─vdo_sdb                                                          253:0    0 169.8T  0 vdo   
  ├─gluster_vg_sdb-gluster_thinpool_sdb_tmeta                      253:4    0  15.8G  0 lvm   
  │ └─gluster_vg_sdb-gluster_thinpool_sdb-tpool                    253:6    0  16.9T  0 lvm   
  │   ├─gluster_vg_sdb-gluster_thinpool_sdb                        253:19   0  16.9T  0 lvm   
  │   ├─gluster_vg_sdb-gluster_lv_data                             253:20   0    12T  0 lvm   /gluster_bricks/data
  │   ├─gluster_vg_sdb-gluster_lv_vmstore                          253:22   0     4T  0 lvm   /gluster_bricks/vmstore
  │   └─gluster_vg_sdb-gluster_lv_vdo                              253:23   0   900G  0 lvm   /gluster_bricks/vdo
  ├─gluster_vg_sdb-gluster_lv_engine                               253:7    0   100G  0 lvm   /gluster_bricks/engine
  ├─gluster_vg_sdb-lvcache_cmeta                                   253:25   0    44M  0 lvm   
  │ └─gluster_vg_sdb-gluster_thinpool_sdb_tdata                    253:5    0  16.9T  0 lvm   
  │   └─gluster_vg_sdb-gluster_thinpool_sdb-tpool                  253:6    0  16.9T  0 lvm   
  │     ├─gluster_vg_sdb-gluster_thinpool_sdb                      253:19   0  16.9T  0 lvm   
  │     ├─gluster_vg_sdb-gluster_lv_data                           253:20   0    12T  0 lvm   /gluster_bricks/data
  │     ├─gluster_vg_sdb-gluster_lv_vmstore                        253:22   0     4T  0 lvm   /gluster_bricks/vmstore
  │     └─gluster_vg_sdb-gluster_lv_vdo                            253:23   0   900G  0 lvm   /gluster_bricks/vdo
  └─gluster_vg_sdb-gluster_thinpool_sdb_tdata_corig                253:26   0  16.9T  0 lvm   
    └─gluster_vg_sdb-gluster_thinpool_sdb_tdata                    253:5    0  16.9T  0 lvm   
      └─gluster_vg_sdb-gluster_thinpool_sdb-tpool                  253:6    0  16.9T  0 lvm   
        ├─gluster_vg_sdb-gluster_thinpool_sdb                      253:19   0  16.9T  0 lvm   
        ├─gluster_vg_sdb-gluster_lv_data                           253:20   0    12T  0 lvm   /gluster_bricks/data
        ├─gluster_vg_sdb-gluster_lv_vmstore                        253:22   0     4T  0 lvm   /gluster_bricks/vmstore
        └─gluster_vg_sdb-gluster_lv_vdo                            253:23   0   900G  0 lvm   /gluster_bricks/vdo

Host 3:
sdb                                                                  8:16   0    20T  0 disk  
└─vdo_sdb                                                          253:0    0    50T  0 vdo   
  ├─gluster_vg_sdb-gluster_thinpool_sdb_tmeta                      253:4    0  15.8G  0 lvm   
  │ └─gluster_vg_sdb-gluster_thinpool_sdb-tpool                    253:6    0     5T  0 lvm   
  │   ├─gluster_vg_sdb-gluster_thinpool_sdb                        253:19   0     5T  0 lvm   
  │   ├─gluster_vg_sdb-gluster_lv_data                             253:20   0    24G  0 lvm   /gluster_bricks/data
  │   ├─gluster_vg_sdb-gluster_lv_vmstore                          253:22   0     4T  0 lvm   /gluster_bricks/vmstore
  │   └─gluster_vg_sdb-gluster_lv_vdo                              253:23   0   900G  0 lvm   /gluster_bricks/vdo
  ├─gluster_vg_sdb-gluster_lv_engine                               253:7    0   100G  0 lvm   /gluster_bricks/engine
  ├─gluster_vg_sdb-lvcache_cmeta                                   253:25   0    44M  0 lvm   
  │ └─gluster_vg_sdb-gluster_thinpool_sdb_tdata                    253:5    0     5T  0 lvm   
  │   └─gluster_vg_sdb-gluster_thinpool_sdb-tpool                  253:6    0     5T  0 lvm                       <-------- used for guaranteed free space
  │     ├─gluster_vg_sdb-gluster_thinpool_sdb                      253:19   0     5T  0 lvm   
  │     ├─gluster_vg_sdb-gluster_lv_data                           253:20   0    24G  0 lvm   /gluster_bricks/data
  │     ├─gluster_vg_sdb-gluster_lv_vmstore                        253:22   0     4T  0 lvm   /gluster_bricks/vmstore
  │     └─gluster_vg_sdb-gluster_lv_vdo                            253:23   0   900G  0 lvm   /gluster_bricks/vdo
  └─gluster_vg_sdb-gluster_thinpool_sdb_tdata_corig                253:26   0     5T  0 lvm   
    └─gluster_vg_sdb-gluster_thinpool_sdb_tdata                    253:5    0     5T  0 lvm   
      └─gluster_vg_sdb-gluster_thinpool_sdb-tpool                  253:6    0     5T  0 lvm   
        ├─gluster_vg_sdb-gluster_thinpool_sdb                      253:19   0     5T  0 lvm   
        ├─gluster_vg_sdb-gluster_lv_data                           253:20   0    24G  0 lvm   /gluster_bricks/data
        ├─gluster_vg_sdb-gluster_lv_vmstore                        253:22   0     4T  0 lvm   /gluster_bricks/vmstore
        └─gluster_vg_sdb-gluster_lv_vdo                            253:23   0   900G  0 lvm   /gluster_bricks/vdo

Comment 5 SATHEESARAN 2018-07-18 09:01:00 UTC
dependent bug is in MODIFIED state

Comment 6 bipin 2018-07-26 06:10:41 UTC
Verified the bug in ovirt-engine-4.2.5.2.

Steps:
=====
1.Create a arbiter replica volume on a VDO volume using cockpit
2.Once the HE deployment is completed navigate to storage domain
3.The guaranteed free space and free space should be relatively same