Bug 1856594

Summary: Failed to create VDO enabled volume with Day2 operation
Product: [Red Hat Storage] Red Hat Gluster Storage Reporter: SATHEESARAN <sasundar>
Component: rhhiAssignee: Gobinda Das <godas>
Status: CLOSED CURRENTRELEASE QA Contact: SATHEESARAN <sasundar>
Severity: high Docs Contact:
Priority: medium    
Version: rhgs-3.5CC: dwalveka, godas, pkesavap, rhs-bugs
Target Milestone: ---Keywords: ZStream
Target Release: RHHI-V 1.8.z Batch Update 2   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: gluster-ansible-infra-1.0.4-12 Doc Type: Bug Fix
Doc Text:
Cause: Vdo creation fails because the existing code restarts all VDO volume Consequence: Creation of gluster volume with VDO enabled , leads to failure Fix: Replaced task which restarts all VDO volumes with a task which restarts only specific VDO volumes Result: Day2 operation failure will not be seen w.r.t to vdo errors while creating VDO enabled gluster volumes
Story Points: ---
Clone Of:
: 1856595 (view as bug list) Environment:
Last Closed: 2020-12-01 06:58:32 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: 1856595    
Bug Blocks: 1785236    

Description SATHEESARAN 2020-07-14 03:14:00 UTC
Description of problem:
------------------------
Failure when creating VDO enabled gluster volume with day2 operation from web console. This is because the logic tries to restart all the VDO volumes and existing active VDO volumes can't be stopped.


Version-Release number of selected component (if applicable):
--------------------------------------------------------------
RHHI-V 1.8
RHGS 3.5.2
gluster-ansible-infra-1.0.4-11.el8rhgs

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


Steps to Reproduce:
--------------------
1. Complete RHHI-V deployment
2. From web console create new volume with VDO enabled

Actual results:
---------------
Ansible playbook fails to stop all the VDO volumes

Expected results:
-----------------
Ansible playbook logic should stop only the newly created VDO volumes and start them

Comment 2 SATHEESARAN 2020-07-14 03:27:36 UTC
The fix will be in the vdo_create.yml playbook under gluster-ansible-infra
 - '/etc/ansible/roles/gluster.infra/roles/backend_setup/tasks/vdo_create.yml'

Existing ansible logic that restarts VDO volume
<snip>
- name: Restart all VDO volumes
  command: "vdo {{item}} -a"
  with_items:
  - stop
  - start
</snip>
This logic restarts all the VDO volumes. This works well for deployment time, as there 
won't any pre-existing VDO volumes, but it when it comes to day2 operation, there could be
pre-existing VDO volume in the setup. so it is always safe to restart the VDO volume
in the inventory file.

The above code can be modified as:
<modification>
- name: Restart all VDO volumes
  shell: "vdo stop -n {{item.name}} && vdo start -n {{item.name}}"
  with_items: "{{ gluster_infra_vdo }}"
</modification>


So the workaround for this issue is to replace the task to restart all VDO volumes with 
the task to restart only the specific VDO volumes in the question

Comment 5 SATHEESARAN 2020-08-20 05:13:33 UTC
The dependent gluster-ansible bug is already ON_QA, moving this bug too

Comment 7 SATHEESARAN 2020-11-07 01:53:42 UTC
Tested with gluster-ansible-infra-1.0.4-15.el8rhgs

Using day2 operation from web console, the new volume can be created with VDO enabled on the bricks