Bug 1821763

Summary: VDO volume creation fails with 'maxDiscardSize' option
Product: [Red Hat Storage] Red Hat Gluster Storage Reporter: SATHEESARAN <sasundar>
Component: rhhiAssignee: Gobinda Das <godas>
Status: CLOSED ERRATA QA Contact: SATHEESARAN <sasundar>
Severity: high Docs Contact:
Priority: unspecified    
Version: rhgs-3.5CC: bgurney, godas, jcall, rhs-bugs
Target Milestone: ---   
Target Release: RHHI-V 1.8   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: gluster-ansible-infra-1.0.4-8.el8rhgs Doc Type: Bug Fix
Doc Text:
The virtual disk optimization (VDO) Ansible module now supports the maxDiscardSize parameter and sets this parameter by default. As a result, VDO volumes created with this parameter no longer fail.
Story Points: ---
Clone Of:
: 1821764 (view as bug list) Environment:
rhhiv, rhel8
Last Closed: 2020-08-04 14:52:07 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: 1821764    
Bug Blocks: 1779977    

Description SATHEESARAN 2020-04-07 14:30:16 UTC
Description of problem:
-----------------------
VDO volume creation fails with 'maxDiscardSize' option set to 16M. This is because VDO ansible module doesn't provide that option while creating the VDO volume

Version-Release number of selected component (if applicable):
-------------------------------------------------------------
ansible-2.9.6
gluster-ansible-infra-1.0.4-7

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

Steps to Reproduce:
--------------------
1. Start RHHI-V deployment from cockpit, opting for VDO volume

Actual results:
----------------
VDO volume creation fails

Expected results:
------------------
VDO volume creation should be successful

Comment 1 SATHEESARAN 2020-04-08 05:26:20 UTC
VDO module - https://docs.ansible.com/ansible/latest/modules/vdo_module.html -  doesn't have an option 'maxDiscardSize' available for VDO volume creation.

So, to fix this one solution is to allow creation of VDO volume without, 'maxDiscardSize', modify the option later, then restart VDO volume.

The steps include:
1. Remove 'maxDiscardSize' from the existing VDO create options
2. Add a task to modify VDO option 'maxDiscardSize' to 16M for all VDO volumes
3. Stop all VDO volumes
4. Start all VDO volumes

Example ansible playbook:

- name: Set VDO maxDiscardSize as 16M
  command: "vdo modify -a --maxDiscardSize 16M"

- name: Restart all VDO volumes
  command: "vdo {{item}} -a"
  with_items:
  - stop
  - start

Comment 2 SATHEESARAN 2020-04-08 05:27:54 UTC
Hello Bryan,

Do you know, when will VDO ansible module support for VDO volume creation along with this option 'maxDiscardSize' ?

Comment 4 Bryan Gurney 2020-04-16 16:49:25 UTC
(In reply to SATHEESARAN from comment #2)
> Hello Bryan,
> 
> Do you know, when will VDO ansible module support for VDO volume creation
> along with this option 'maxDiscardSize' ?

This is going to take some time.  I'm focusing on Stratis now, and the recent move of all of the Ansible modules into Collections has complicated things.

I can try and give some pointers on a potential fix.

Comment 5 SATHEESARAN 2020-04-17 17:06:56 UTC
Tested with gluster-ansible-infra-1.0.4-8.el7rhgs with the following steps:

1. Start hyperconverged deployment from web console (cockpit)
2. Provide the proper values for host
3. Go with the default volumes
4. Enable 'Dedupe & compression' for the bricks
5. Complete the deployment

VDO creation is completed successfully and it has maxDiscardSize set to 16M

[root@ ]# dmsetup table | grep -i  discard
vdo_luks_sdc: 0 4194304000 vdo V2 /dev/disk/by-id/dm-uuid-CRYPT-LUKS2-0708c9c1e3024ff68aafd5633b56d14b-luks_sdc 52424704 4096 32768 16380 on auto vdo_luks_sdc maxDiscard 4096 ack 1 bio 4 bioRotationInterval 64 cpu 2 hash 1 logical 1 physical 1

[root@ ]# vdo status | grep -i 'discard size'
    Max discard size: 16M

Comment 9 errata-xmlrpc 2020-08-04 14:52:07 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 (RHHI for Virtualization 1.8 bug fix and enhancement update), 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-2020:3314