Bug 1856594 - Failed to create VDO enabled volume with Day2 operation
Summary: Failed to create VDO enabled volume with Day2 operation
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Red Hat Gluster Storage
Classification: Red Hat Storage
Component: rhhi
Version: rhgs-3.5
Hardware: x86_64
OS: Linux
medium
high
Target Milestone: ---
: RHHI-V 1.8.z Batch Update 2
Assignee: Gobinda Das
QA Contact: SATHEESARAN
URL:
Whiteboard:
Depends On: 1856595
Blocks: RHHI-V_1.8_Release_Notes
TreeView+ depends on / blocked
 
Reported: 2020-07-14 03:14 UTC by SATHEESARAN
Modified: 2020-12-01 06:58 UTC (History)
4 users (show)

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
Clone Of:
: 1856595 (view as bug list)
Environment:
Last Closed: 2020-12-01 06:58:32 UTC
Embargoed:


Attachments (Terms of Use)

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


Note You need to log in before you can comment on or make changes to this bug.