Bug 1418567

Summary: Throw proper error/warning message, when removing the gluster geo-rep session associated with remote sync setup gluster data domain
Product: [oVirt] ovirt-engine Reporter: SATHEESARAN <sasundar>
Component: BLL.GlusterAssignee: Sahina Bose <sabose>
Status: CLOSED CURRENTRELEASE QA Contact: SATHEESARAN <sasundar>
Severity: medium Docs Contact:
Priority: medium    
Version: 4.1.0CC: bugs
Target Milestone: ovirt-4.1.1Flags: rule-engine: ovirt-4.1+
rule-engine: planning_ack+
rule-engine: devel_ack+
sasundar: testing_ack+
Target Release: 4.1.1.3   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2017-04-21 09:39:54 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: 1277939    
Attachments:
Description Flags
Confirmation dialog to remove gluster geo-rep session
none
Another dialog that keep appearing none

Description SATHEESARAN 2017-02-02 06:18:17 UTC
Description of problem:
-----------------------
While trying to remove the gluster geo-rep session, associated with remote data sync setup of gluster data domain, from RHV UI, the operation fails. but the dialog to remove the geo-rep session re-appears, and never completes successfully.

There should be proper error messages from the geo-rep remove dialog, which could hint the user to understand there is a gluster data-domain remote sync setup schedule, which prevents removing this geo-rep session

Version-Release number of selected component (if applicable):
-------------------------------------------------------------
oVirt Engine Version: 4.1.0.3-0.0.

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

Steps to Reproduce:
-------------------
1. Create a virt+gluster capable cluster and add three nodes to the cluster
2. Create a replica 3 volume & optimize the volume for virt store
3. Setup the geo-rep session from this volume to slave
4. Create gluster data domain using this gluster volume ( managed in the same cluster )
5. Set up the remote data sync for this gluster data domain
6. Try removing the geo-rep session by selecting the volume by clicking the 'volumes' tab

Actual results:
---------------
The following events are seen in sequence :
1. First comes the confirmation dialog confirming the remove action on geo-rep session. 
2. On clicking ok, another dialog pops-up, just saying 'ENGINE', with force remove checkbox
3. Clicking just 'OK' or with 'force remove' checked does nothing, and again shows up the same dialog

Expected results:
-----------------
If the geo-rep session is associated with the remote data sync setup of gluster data domain, then the proper reasoning should be thrown, when the user tries to remove that geo-rep session

Comment 1 SATHEESARAN 2017-02-02 06:19:12 UTC
Created attachment 1246994 [details]
Confirmation dialog to remove gluster geo-rep session

Comment 2 SATHEESARAN 2017-02-02 06:20:55 UTC
Created attachment 1246995 [details]
Another dialog that keep appearing

This is the error dialog that opens saying just "ENGINE" and keeps appearing when clicked 'ok' or choosing 'force remove' + 'ok'

Comment 3 SATHEESARAN 2017-02-02 06:22:29 UTC
The following snip is the logs that happened while trying to remove gluster geo-rep session that is associated with remote data sync setup of gluster data domain

<snip>

2017-02-01 13:42:48,131Z INFO  [org.ovirt.engine.core.vdsbroker.gluster.GlusterVolumesListVDSCommand] (DefaultQuartzScheduler4) [1f65a9c8] FINISH, GlusterVolumesListVDSCommand, return: {198179b3-2c64-4b11-81b0-5fa5d0c0d2d2=org.ovirt.engine.core.common.businessentities.gluster.GlusterVolumeEntity@7caca02a, d8080997-d6bc-479b-ac8f-d8bab1c7b39a=org.ovirt.engine.core.common.businessentities.gluster.GlusterVolumeEntity@2b16a17f, 01ffe705-0262-4f5f-9d0c-7a1855120cd8=org.ovirt.engine.core.common.businessentities.gluster.GlusterVolumeEntity@140870c4, 09cafacd-9fd9-4645-888b-c7535af13c1e=org.ovirt.engine.core.common.businessentities.gluster.GlusterVolumeEntity@c0fde26b}, log id: 1e84db83
2017-02-01 13:42:53,161Z INFO  [org.ovirt.engine.core.vdsbroker.gluster.GlusterServersListVDSCommand] (DefaultQuartzScheduler3) [1f65a9c8] START, GlusterServersListVDSCommand(HostName = host2, VdsIdVDSCommandParametersBase:{runAsync='true', hostId='152c11a4-6363-4988-a388-0338c2f4046a'}), log id: 638f8c8a
2017-02-01 13:42:54,452Z INFO  [org.ovirt.engine.core.vdsbroker.gluster.GlusterServersListVDSCommand] (DefaultQuartzScheduler3) [1f65a9c8] FINISH, GlusterServersListVDSCommand, return: [10.70.36.77/23:CONNECTED, zod-nic2.lab.eng.blr.redhat.com:CONNECTED, 10.70.36.78:CONNECTED], log id: 638f8c8a
2017-02-01 13:42:54,464Z INFO  [org.ovirt.engine.core.vdsbroker.gluster.GlusterVolumesListVDSCommand] (DefaultQuartzScheduler3) [1f65a9c8] START, GlusterVolumesListVDSCommand(HostName = host2, GlusterVolumesListVDSParameters:{runAsync='true', hostId='152c11a4-6363-4988-a388-0338c2f4046a'}), log id: 37bd27c9
2017-02-01 13:42:55,661Z INFO  [org.ovirt.engine.core.vdsbroker.gluster.GlusterVolumesListVDSCommand] (DefaultQuartzScheduler3) [1f65a9c8] FINISH, GlusterVolumesListVDSCommand, return: {198179b3-2c64-4b11-81b0-5fa5d0c0d2d2=org.ovirt.engine.core.common.businessentities.gluster.GlusterVolumeEntity@7caca02a, d8080997-d6bc-479b-ac8f-d8bab1c7b39a=org.ovirt.engine.core.common.businessentities.gluster.GlusterVolumeEntity@2b16a17f, 01ffe705-0262-4f5f-9d0c-7a1855120cd8=org.ovirt.engine.core.common.businessentities.gluster.GlusterVolumeEntity@140870c4, 09cafacd-9fd9-4645-888b-c7535af13c1e=org.ovirt.engine.core.common.businessentities.gluster.GlusterVolumeEntity@c0fde26b}, log id: 37bd27c9
2017-02-01 13:42:59,471Z WARN  [org.ovirt.engine.core.dal.job.ExecutionMessageDirector] (default task-21) [86ec01da-ba28-484b-854a-3375b7efeadc] The message key 'DeleteGeoRepSession' is missing from 'bundles/ExecutionMessages'
2017-02-01 13:42:59,484Z INFO  [org.ovirt.engine.core.bll.gluster.DeleteGeoRepSessionCommand] (default task-21) [86ec01da-ba28-484b-854a-3375b7efeadc] Lock Acquired to object 'EngineLock:{exclusiveLocks='[363d2a8f-d03e-4972-98e1-5aa978f1006e=<GLUSTER_GEOREP, ACTION_TYPE_FAILED_GEOREP_SESSION_LOCKED>]', sharedLocks='null'}'
2017-02-01 13:42:59,484Z WARN  [org.ovirt.engine.core.bll.gluster.DeleteGeoRepSessionCommand] (default task-21) [86ec01da-ba28-484b-854a-3375b7efeadc] Validation of action 'DeleteGeoRepSession' failed for user admin@internal-authz. Reasons: VAR__ACTION__REMOVE,VAR__TYPE__GLUSTER_GEOREP_SESSION,$volumeName data,$cluster Default,ACTION_TYPE_FAILED_GEOREP_SESSION_USED_IN_STORAGE_SYNC
2017-02-01 13:42:59,485Z INFO  [org.ovirt.engine.core.bll.gluster.DeleteGeoRepSessionCommand] (default task-21) [86ec01da-ba28-484b-854a-3375b7efeadc] Lock freed to object 'EngineLock:{exclusiveLocks='[363d2a8f-d03e-4972-98e1-5aa978f1006e=<GLUSTER_GEOREP, ACTION_TYPE_FAILED_GEOREP_SESSION_LOCKED>]', sharedLocks='null'}'
2017-02-01 13:43:00,690Z INFO  [org.ovirt.engine.core.vdsbroker.gluster.GlusterServersListVDSCommand] (DefaultQuartzScheduler5) [] START, GlusterServersListVDSCommand(HostName = host2, VdsIdVDSCommandParametersBase:{runAsync='true', hostId='152c11a4-6363-4988-a388-0338c2f4046a'}), log id: bc1b19e
2017-02-01 13:43:01,978Z INFO  [org.ovirt.engine.core.vdsbroker.gluster.GlusterServersListVDSCommand] (DefaultQuartzScheduler5) [] FINISH, GlusterServersListVDSCommand, return: [10.70.36.77/23:CONNECTED, zod-nic2.lab.eng.blr.redhat.com:CONNECTED, 10.70.36.78:CONNECTED], log id: bc1b19e
2017-02-01 13:43:01,989Z INFO  [org.ovirt.engine.core.vdsbroker.gluster.GlusterVolumesListVDSCommand] (DefaultQuartzScheduler5) [] START, GlusterVolumesListVDSCommand(HostName = host2, GlusterVolumesListVDSParameters:{runAsync='true', hostId='152c11a4-6363-4988-a388-0338c2f4046a'}), log id: 1c6bf62
2017-02-01 13:43:03,188Z INFO  [org.ovirt.engine.core.vdsbroker.gluster.GlusterVolumesListVDSCommand] (DefaultQuartzScheduler5) [] FINISH, GlusterVolumesListVDSCommand, return: {198179b3-2c64-4b11-81b0-5fa5d0c0d2d2=org.ovirt.engine.core.common.businessentities.gluster.GlusterVolumeEntity@7caca02a, d8080997-d6bc-479b-ac8f-d8bab1c7b39a=org.ovirt.engine.core.common.businessentities.gluster.GlusterVolumeEntity@2b16a17f, 01ffe705-0262-4f5f-9d0c-7a1855120cd8=org.ovirt.engine.core.common.businessentities.gluster.GlusterVolumeEntity@140870c4, 09cafacd-9fd9-4645-888b-c7535af13c1e=org.ovirt.engine.core.common.businessentities.gluster.GlusterVolumeEntity@c0fde26b}, log id: 1c6bf62
2017-02-01 13:43:05,374Z WARN  [org.ovirt.engine.core.dal.job.ExecutionMessageDirector] (default task-37) [436286a3-64c0-420b-9eff-b3f3ae9fdbb6] The message key 'DeleteGeoRepSession' is missing from 'bundles/ExecutionMessages'
2017-02-01 13:43:05,385Z INFO  [org.ovirt.engine.core.bll.gluster.DeleteGeoRepSessionCommand] (default task-37) [436286a3-64c0-420b-9eff-b3f3ae9fdbb6] Lock Acquired to object 'EngineLock:{exclusiveLocks='[363d2a8f-d03e-4972-98e1-5aa978f1006e=<GLUSTER_GEOREP, ACTION_TYPE_FAILED_GEOREP_SESSION_LOCKED>]', sharedLocks='null'}'
2017-02-01 13:43:05,386Z WARN  [org.ovirt.engine.core.bll.gluster.DeleteGeoRepSessionCommand] (default task-37) [436286a3-64c0-420b-9eff-b3f3ae9fdbb6] Validation of action 'DeleteGeoRepSession' failed for user admin@internal-authz. Reasons: VAR__ACTION__REMOVE,VAR__TYPE__GLUSTER_GEOREP_SESSION,$volumeName data,$cluster Default,ACTION_TYPE_FAILED_GEOREP_SESSION_USED_IN_STORAGE_SYNC
2017-02-01 13:43:05,386Z INFO  [org.ovirt.engine.core.bll.gluster.DeleteGeoRepSessionCommand] (default task-37) [436286a3-64c0-420b-9eff-b3f3ae9fdbb6] Lock freed to object 'EngineLock:{exclusiveLocks='[363d2a8f-d03e-4972-98e1-5aa978f1006e=<GLUSTER_GEOREP, ACTION_TYPE_FAILED_GEOREP_SESSION_LOCKED>]', sharedLocks='null'}'
2017-02-01 13:43:08,218Z INFO  [org.ovirt.engine.core.vdsbroker.gluster.GlusterServersListVDSCommand] (DefaultQuartzScheduler7) [1f65a9c8] START, GlusterServersListVDSCommand(HostName = host2, VdsIdVDSCommandParametersBase:{runAsync='true', hostId='152c11a4-6363-4988-a388-0338c2f4046a'}), log id: 778bc68e
2017-02-01 13:43:08,434Z WARN  [org.ovirt.engine.core.dal.job.ExecutionMessageDirector] (default task-64) [e1941a70-87bd-4136-81fa-361038ba829b] The message key 'DeleteGeoRepSession' is missing from 'bundles/ExecutionMessages'
2017-02-01 13:43:08,444Z INFO  [org.ovirt.engine.core.bll.gluster.DeleteGeoRepSessionCommand] (default task-64) [e1941a70-87bd-4136-81fa-361038ba829b] Lock Acquired to object 'EngineLock:{exclusiveLocks='[363d2a8f-d03e-4972-98e1-5aa978f1006e=<GLUSTER_GEOREP, ACTION_TYPE_FAILED_GEOREP_SESSION_LOCKED>]', sharedLocks='null'}'
2017-02-01 13:43:08,445Z WARN  [org.ovirt.engine.core.bll.gluster.DeleteGeoRepSessionCommand] (default task-64) [e1941a70-87bd-4136-81fa-361038ba829b] Validation of action 'DeleteGeoRepSession' failed for user admin@internal-authz. Reasons: VAR__ACTION__REMOVE,VAR__TYPE__GLUSTER_GEOREP_SESSION,$volumeName data,$cluster Default,ACTION_TYPE_FAILED_GEOREP_SESSION_USED_IN_STORAGE_SYNC
2017-02-01 13:43:08,445Z INFO  [org.ovirt.engine.core.bll.gluster.DeleteGeoRepSessionCommand] (default task-64) [e1941a70-87bd-4136-81fa-361038ba829b] Lock freed to object 'EngineLock:{exclusiveLocks='[363d2a8f-d03e-4972-98e1-5aa978f1006e=<GLUSTER_GEOREP, ACTION_TYPE_FAILED_GEOREP_SESSION_LOCKED>]', sharedLocks='null'}'
2017-02-01 13:43:09,505Z INFO  [org.ovirt.engine.core.vdsbroker.gluster.GlusterServersListVDSCommand] (DefaultQuartzScheduler7) [1f65a9c8] FINISH, GlusterServersListVDSCommand, return: [10.70.36.77/23:CONNECTED, zod-nic2.lab.eng.blr.redhat.com:CONNECTED, 10.70.36.78:CONNECTED], log id: 778bc68e
2017-02-01 13:43:09,516Z INFO  [org.ovirt.engine.core.vdsbroker.gluster.GlusterVolumesListVDSCommand] (DefaultQuartzScheduler7) [1f65a9c8] START, GlusterVolumesListVDSCommand(HostName = host2, GlusterVolumesListVDSParameters:{runAsync='true', hostId='152c11a4-6363-4988-a388-0338c2f4046a'}), log id: 31ecfb0c
2017-02-01 13:43:10,716Z INFO  [org.ovirt.engine.core.vdsbroker.gluster.GlusterVolumesListVDSCommand] (DefaultQuartzScheduler7) [1f65a9c8] FINISH, GlusterVolumesListVDSCommand, return: {198179b3-2c64-4b11-81b0-5fa5d0c0d2d2=org.ovirt.engine.core.common.businessentities.gluster.GlusterVolumeEntity@7caca02a, d8080997-d6bc-479b-ac8f-d8bab1c7b39a=org.ovirt.engine.core.common.businessentities.gluster.GlusterVolumeEntity@2b16a17f, 01ffe705-0262-4f5f-9d0c-7a1855120cd8=org.ovirt.engine.core.common.businessentities.gluster.GlusterVolumeEntity@140870c4, 09cafacd-9fd9-4645-888b-c7535af13c1e=org.ovirt.engine.core.common.businessentities.gluster.GlusterVolumeEntity@c0fde26b}, log id: 31ecfb0c

</snip>

Comment 4 SATHEESARAN 2017-02-02 06:24:52 UTC
When I removed the 'Remote Data Sync Setup' associated with gluster geo-rep session, then I could remove the gluster geo-rep session successfully

Comment 5 Sahina Bose 2017-02-08 12:29:25 UTC
This seems like an error in displaying message, as the code does return ACTION_TYPE_FAILED_GEOREP_SESSION_USED_IN_STORAGE_SYNC.

Comment 6 SATHEESARAN 2017-03-29 11:09:18 UTC
Tested with RHV 4.1.1-5. When trying to remove the gluster geo-rep session from RHV UI, there is a proper warning that explains the association of geo-rep session with glusterfs data domain