Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.

Bug 1596523

Summary: Guaranteed free space implementation differs between replica and arbiter volumes
Product: [oVirt] ovirt-engine Reporter: bipin <bshetty>
Component: Frontend.WebAdminAssignee: Denis Chaplygin <dchaplyg>
Status: CLOSED CURRENTRELEASE QA Contact: bipin <bshetty>
Severity: high Docs Contact:
Priority: high    
Version: futureCC: bugs, lsvaty, lveyde, rhs-bugs, sabose, sankarshan, sasundar, starfall
Target Milestone: ovirt-4.2.5Flags: sabose: ovirt-4.2?
sabose: blocker?
bshetty: planning_ack?
rule-engine: devel_ack+
sasundar: testing_ack+
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: ovirt-engine-4.2.5.2 Doc Type: Bug Fix
Doc Text:
Cause: Arbiter brick was treated as a data brick. Consequence: Volume physical size was calculated incorrectly Fix: Arbiter was excluded from the guaranteed size calculations. Result: Only data nodes participate in the calculations right now, so results are correct.
Story Points: ---
Clone Of: 1596520 Environment:
Last Closed: 2018-07-31 15:31:08 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: Gluster RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1596520    
Attachments:
Description Flags
Screenshot1
none
Cockpit_UI_Verified none

Description bipin 2018-06-29 07:45:05 UTC
+++ This bug was initially created as a clone of Bug #1596520 +++

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

--- Additional comment from Red Hat Bugzilla Rules Engine on 2018-06-29 03:41:28 EDT ---

This bug is automatically being proposed for the current release of Red Hat Hyperconverged Infrastructure (RHHI) under active development, by setting the release flag 'rhhi‑2.0' to '?'. 

If this bug should be proposed for a different release, please manually change the proposed release flag.

Comment 1 bipin 2018-06-29 07:55:58 UTC
Created attachment 1455450 [details]
Screenshot1

Comment 2 bipin 2018-07-26 06:08:55 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

Attaching the screenshot

Comment 3 bipin 2018-07-26 06:09:39 UTC
Created attachment 1470592 [details]
Cockpit_UI_Verified

Comment 4 Sandro Bonazzola 2018-07-31 15:31:08 UTC
This bugzilla is included in oVirt 4.2.5 release, published on July 30th 2018.

Since the problem described in this bug report should be
resolved in oVirt 4.2.5 release, it has been closed with a resolution of CURRENT RELEASE.

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

Comment 5 starfall 2019-03-08 15:37:33 UTC
I'm running into the exact same problem here with the gluster arbiter is being created on 2nd host, while the arbiter LV is created on the 3rd host. This is on the latest version of ovirt.

ovirt-host.x86_64 - 4.3.1-1.el7

This happened during the original hyperconverged HE ansible deploy as well as during subsequent gluster volume creation from cockpit. VDO was not used in this deployment.

Configuration of the volume in ovirt-engine HE UI -

nde1:/gluster_bricks/data1/data1
nde2:/gluster_bricks/data1/data1 (Arbiter)
nde3:/gluster_bricks/data1/data1

lsblk output:

nde1:

  └─md101                                                          9:101  0 431.8G  0 raid1 
    ├─gluster_vg_md101-gluster_lv_engine                         253:2    0    80G  0 lvm   /gluster_bricks/engine
    ├─gluster_vg_md101-gluster_thinpool_gluster_vg_md101_tmeta   253:3    0     4M  0 lvm   
    │ └─gluster_vg_md101-gluster_thinpool_gluster_vg_md101-tpool 253:5    0 351.8G  0 lvm   
    │   ├─gluster_vg_md101-gluster_thinpool_gluster_vg_md101     253:6    0 351.8G  0 lvm   
    │   └─gluster_vg_md101-gluster_lv_data1                      253:7    0   330G  0 lvm   /gluster_bricks/data1
    └─gluster_vg_md101-gluster_thinpool_gluster_vg_md101_tdata   253:4    0 351.8G  0 lvm   
      └─gluster_vg_md101-gluster_thinpool_gluster_vg_md101-tpool 253:5    0 351.8G  0 lvm   
        ├─gluster_vg_md101-gluster_thinpool_gluster_vg_md101     253:6    0 351.8G  0 lvm   
        └─gluster_vg_md101-gluster_lv_data1                      253:7    0   330G  0 lvm   /gluster_bricks/data1

nde2:

  └─md101                                                          9:101  0 431.8G  0 raid1 
    ├─gluster_vg_md101-gluster_lv_engine                         253:2    0    80G  0 lvm   /gluster_bricks/engine
    ├─gluster_vg_md101-gluster_thinpool_gluster_vg_md101_tmeta   253:3    0     4M  0 lvm   
    │ └─gluster_vg_md101-gluster_thinpool_gluster_vg_md101-tpool 253:5    0 351.8G  0 lvm   
    │   ├─gluster_vg_md101-gluster_thinpool_gluster_vg_md101     253:6    0 351.8G  0 lvm   
    │   └─gluster_vg_md101-gluster_lv_data1                      253:7    0   330G  0 lvm   /gluster_bricks/data1
    └─gluster_vg_md101-gluster_thinpool_gluster_vg_md101_tdata   253:4    0 351.8G  0 lvm   
      └─gluster_vg_md101-gluster_thinpool_gluster_vg_md101-tpool 253:5    0 351.8G  0 lvm   
        ├─gluster_vg_md101-gluster_thinpool_gluster_vg_md101     253:6    0 351.8G  0 lvm   
        └─gluster_vg_md101-gluster_lv_data1                      253:7    0   330G  0 lvm   /gluster_bricks/data1

nde3:

  └─md101                                                          9:101  0 431.8G  0 raid1 
    ├─gluster_vg_md101-gluster_lv_engine                         253:2    0    80G  0 lvm   /gluster_bricks/engine
    ├─gluster_vg_md101-gluster_thinpool_gluster_vg_md101_tmeta   253:3    0     4M  0 lvm   
    │ └─gluster_vg_md101-gluster_thinpool_gluster_vg_md101-tpool 253:5    0 351.8G  0 lvm   
    │   ├─gluster_vg_md101-gluster_thinpool_gluster_vg_md101     253:6    0 351.8G  0 lvm   
    │   └─gluster_vg_md101-gluster_lv_data1                      253:7    0    20G  0 lvm   /gluster_bricks/data1
    └─gluster_vg_md101-gluster_thinpool_gluster_vg_md101_tdata   253:4    0 351.8G  0 lvm   
      └─gluster_vg_md101-gluster_thinpool_gluster_vg_md101-tpool 253:5    0 351.8G  0 lvm   
        ├─gluster_vg_md101-gluster_thinpool_gluster_vg_md101     253:6    0 351.8G  0 lvm   
        └─gluster_vg_md101-gluster_lv_data1                      253:7    0    20G  0 lvm   /gluster_bricks/data1