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

Bug 1547820

Summary: update gdeploy VDO volume section with required options
Product: [oVirt] cockpit-ovirt Reporter: SATHEESARAN <sasundar>
Component: GdeployAssignee: Gobinda Das <godas>
Status: CLOSED CURRENTRELEASE QA Contact: bipin <bshetty>
Severity: high Docs Contact:
Priority: high    
Version: 0.11.7CC: bugs, lveyde, rhs-bugs, sabose
Target Milestone: ovirt-4.2.2Flags: sasundar: ovirt-4.2?
sabose: blocker?
sasundar: planning_ack?
sabose: devel_ack+
sasundar: testing_ack+
Target Release: 0.11.15   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: cockpit-ovirt-0.11.15-0.1 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: 1547819 Environment:
Last Closed: 2018-04-18 12:26:22 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: 1547819    

Description SATHEESARAN 2018-02-22 03:10:38 UTC
+++ This bug was initially created as a clone of Bug #1547819 +++

Description of problem:
-----------------------
There are few options those needs to be added to VDO volume section.
Below are the list:
 - writepolicy=sync
 - emulate512=enabled
 - slabsize=<value>G
 - ignore_vdo_errors=no

Version-Release number of selected component (if applicable):
-------------------------------------------------------------
cockpit-ovirt-dashboard-0.11.11

How reproducible:
-----------------
Always

Steps to Reproduce:
-------------------
1. Start RHHI installation with cockpit, selecting 'Hosted Engine with Gluster'
2. Investigate the generated gdeploy config file for VDO section

Actual results:
---------------
Few of the parameters required for VDO volume creation missing

Expected results:
-----------------
All the required parameters for VDO volume creation should be available

Additional info:
----------------
1. writepolicy=sync 
gdeploy by default sets the writepolicy to 'sync', but its good idea to have this parameter explicitly mentioned in the config file, so that user could get an idea about this write policy and that it could be changes as per the requirement
Implementation: This is already implemented in gdeploy, generated gdeploy config file should have it

2. emulate512=enabled
This is required for VDSM
Implementation: This is already implemented in gdeploy, generated gdeploy config file should have it

3. slabsize=<value>G
Default slabsize is 2G, but the max slab size is 32G. There could be only 8096 slabs in a VDO volume. So if we have physical device more than 16T storage space, then this parameter value should increased about 2G, but not sure what's the effect on increasing the value. Need to discuss the same with SME

Implementation: This is already implemented in gdeploy, generated gdeploy config file should have it

4.ignore_vdo_errors=no
gdeploy should halt exection, when VDO volume creation fails.

Implementation: This is  **not** implemented in gdeploy, BZ 1547814

Comment 1 SATHEESARAN 2018-03-06 08:14:18 UTC
Here are the few more inputs from Dennis Keefe

1. slabsize can be set to 32GB if the physical storage space is few TBs.
Otherwise, we can go ignore this param in the gdeploy config file.

<input_from_DennisKeefe>

In most cases using a small slab size is done when creating smaller VDO volumes and or physical space
is limited.  If you are going to have 20TB of storage then set the slab size to 32GB.  Even if the physical 
storage for a single VDO volume is a few TB, set the slabsize to 32GB. 

</input_from_DennisKeefe>

2. writepolicy should be set to 'auto'

<input_from_DennisKeefe>

The latest version of VDO has an auto option, which will select the correct
mode based on the storage below VDO.  Only set VDO to sync mode if the 
underlying storage does not have a write back cache.  My recommendation would
be to used the new auto default. 

</input_from_DennisKeefe>

3. readcache is enabled, with cachesize set to 20MB

<input_from_DennisKeefe>

My recommendation is to:
* Enable the read cache
* Set the read cache to 20M - This will help when reading blocks for faster read verify 
of duplicates and compressed blocks.

</input_from_DennisKeefe>

4. block map cache size should be initially set to 128MB and increased when required.

<input_from_DennisKeefe>

* Block map cache default size is 128MB.  This can be adjusted later if it is needed. 
I'll follow up with how to identify whether more block map cache is needed.

</input_from_DennisKeefe>

Based on the inputs about the gdeploy configuration will look like 
if the physical storage is few TBs ( say 2TB )

[vdo]
names=vdovol_sdb
devices=sdb
logicalsize=<computed as 10 x physical size of disk sdb>
# slabsize is set to 32GB for few TBs too
slabsize=32GB
blockmapcachesize=128MB
readcache=enabled
readcachesize=20MB
emulate512=enabled
writepolicy=auto
ignore_vdo_errors=no

Comment 2 SATHEESARAN 2018-03-06 08:39:38 UTC
(In reply to SATHEESARAN from comment #1)
> 
> [vdo]
> names=vdovol_sdb
> devices=sdb
> logicalsize=<computed as 10 x physical size of disk sdb>
> # slabsize is set to 32GB for few TBs too
> slabsize=32GB
> blockmapcachesize=128MB
> readcache=enabled
> readcachesize=20MB
> emulate512=enabled
> writepolicy=auto
> ignore_vdo_errors=no

There was small correction to the size arguments
Corrected conf file is below:

[vdo]
action=create
names=vdovol_sdb
devices=sdb
logicalsize=200T
slabsize=32G
blockmapcachesize=128M
readcache=enabled
readcachesize=20M
emulate512=enabled
writepolicy=sync
ignore_vdo_errors=no

Comment 3 bipin 2018-04-17 11:27:22 UTC
Verified the bug in the below component version's successfully.

Component versions's:
gdeploy-2.0.2-23.el7rhgs.noarch
cockpit-ovirt-dashboard-0.11.20-1.el7ev.noarch

Steps:
1. Install VDO 
2. Go to the cockpit UI and check the compression and deduplication tab.
3. Proceed to the review tab.
4. Check if the below VDO parameters are available in the gdeploy conf file generated

Output:

[vdo1:10.70.45.29]
action=create
devices=sdb
names=vdo_sdb
logicalsize=200000G
blockmapcachesize=128M
readcache=enabled
readcachesize=20M
emulate512=enabled
writepolicy=sync
ignore_vdo_errors=no
slabsize=32G

Comment 4 Sandro Bonazzola 2018-04-18 12:26:22 UTC
This bugzilla is included in oVirt 4.2.2 release, published on March 28th 2018.

Since the problem described in this bug report should be
resolved in oVirt 4.2.2 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.