Bug 1516135

Summary: When import fails, the import button should be accessible only after unmanage
Product: [Red Hat Storage] Red Hat Gluster Storage Reporter: Rochelle <rallan>
Component: web-admin-tendrl-node-agentAssignee: Neha Gupta <negupta>
Status: CLOSED ERRATA QA Contact: Filip Balák <fbalak>
Severity: high Docs Contact:
Priority: unspecified    
Version: rhgs-3.3CC: ccalhoun, fbalak, jefbrown, julim, mbukatov, nthomas, rghatvis, rhinduja, rhs-bugs, sankarshan, shtripat
Target Milestone: ---   
Target Release: RHGS 3.4.0   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: tendrl-ui-1.6.3-4.el7rhgs Doc Type: Bug Fix
Doc Text:
Previously, there was no way to unmanage a cluster which was partially imported due to tendrl-gluster-integration install failure on few nodes of the cluster. Despite the unsuccessful import, the cluster displayed status as being successfully imported and managed by Web Administration. This depiction of the cluster in the Web Administration interface was not correct as not all the peers of the cluster were well imported and reported in the interface. With this fix, now an import job would be marked as finished only if all the peers report tendrl-gluster-integration running on them and their first round of synchronization of data is done in the Web Administration environment. With the unmanage cluster functionality in place, any affected cluster can be unmanaged and the underlying issues can be fixed before re-importing the cluster in Web Administration environment. If import fails, the issues can be corrected in the underlying cluster and re-imported in the Web Administration environment.
Story Points: ---
Clone Of: Environment:
Last Closed: 2018-09-04 06:58:45 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: 1514442, 1564107    
Bug Blocks: 1502877, 1503134    
Attachments:
Description Flags
When import fails, the import button should be accessible
none
screenshot 1 (it's possible to run both import and unmanage)
none
screenshot 2 (it's possible to run both import, but with a warning) none

Description Rochelle 2017-11-22 07:02:51 UTC
Created attachment 1357259 [details]
When import fails, the import button should be accessible

Description of problem:
======================
When the cluster import fails, the import option that has been provided, is not enabled for re-importing the cluster (after fixing the issue) 


Version-Release number of selected component (if applicable):
=============================================================
tendrl-ui-1.5.4-4.el7rhgs.noarch

How reproducible:
=================
1/1


Actual results:
===============
Re-importing the cluster is not enabled


Expected results:
=================
Re-importing the cluster should be enabled

Comment 2 Martin Bukatovic 2017-11-22 09:12:50 UTC
This is part of larger problem which is being discussed in upstream here:

https://github.com/Tendrl/node-agent/issues/662

Comment 4 Martin Bukatovic 2017-11-22 09:19:08 UTC
Status of downstream build wrt upstream issue Tendrl/node-agent/issues/662, when
I reproduce this issue, I see that:

* ImportCluster task is shown as failed in Tasks page and Tasks Details page
  (as expected, and as previously observed in upstream)
* Cluster is marked with question mark icon, with "import failed" message shown
  for it, without an option to run the import again (import button is disabled)

[root@usm1-gl1 ~]# rpm -qa | grep tendrl | sort                                 
tendrl-collectd-selinux-1.5.3-2.el7rhgs.noarch                                  
tendrl-commons-1.5.4-3.el7rhgs.noarch                                           
tendrl-node-agent-1.5.4-3.el7rhgs.noarch                                        
tendrl-selinux-1.5.3-2.el7rhgs.noarch                                           
                                                                                
[root@usm1-gl1 ~]# rpm -qa | grep gluster | sort                                
glusterfs-3.8.4-52.el7rhgs.x86_64                                               
glusterfs-api-3.8.4-52.el7rhgs.x86_64                                           
glusterfs-cli-3.8.4-52.el7rhgs.x86_64                                           
glusterfs-client-xlators-3.8.4-52.el7rhgs.x86_64                                
glusterfs-fuse-3.8.4-52.el7rhgs.x86_64                                                                                                                                                                                                                                                                                       
glusterfs-geo-replication-3.8.4-52.el7rhgs.x86_64                                                                                                                                                                                                                                                                            
glusterfs-libs-3.8.4-52.el7rhgs.x86_64                                                                                                                                                                                                                                                                                       
glusterfs-rdma-3.8.4-52.el7rhgs.x86_64                                                                                                                                                                                                                                                                                       
glusterfs-server-3.8.4-52.el7rhgs.x86_64                                                                                                                                                                                                                                                                                     
gluster-nagios-addons-0.2.9-1.el7rhgs.x86_64                                                                                                                                                                                                                                                                                 
gluster-nagios-common-0.2.4-1.el7rhgs.noarch                                                                                                                                                                                                                                                                                 
libvirt-daemon-driver-storage-gluster-3.2.0-14.el7_4.3.x86_64                                                                                                                                                                                                                                                                
python-gluster-3.8.4-52.el7rhgs.noarch                                                                                                                                                                                                                                                                                       
vdsm-gluster-4.17.33-1.2.el7rhgs.noarch

Comment 5 Martin Bukatovic 2017-11-22 09:23:37 UTC
Moving component to node-agent, as ui can't show import button when the feature
is not present on purpose in the backend.

Comment 6 Rohan Kanade 2017-11-22 09:25:11 UTC
Tendrl will not allow retries for failed import. Users will need to re-install Tendrl and try import again. Although Tendrl does intend to support this use-case in a future release

More details on uninstall: https://github.com/Tendrl/documentation/wiki/Tendrl-release-v1.5.4-(install-guide)#uninstall-tendrl

Comment 10 Filip Balák 2018-05-21 09:42:05 UTC
* According to the specification (https://github.com/Tendrl/specifications/pull/255/files#diff-c5716c66b1f0e774bbfca74a2aa0b980R124) there should be triggered unmanage after import fails (automatically?). But there is currently triggered only Import again.
* In Import wizard is message:
`Import cluster previously failed with <job-id>. Be sure that all the issues have been corrected and the cluster has been unmanaged before proceeding.` which indicates that unmanage should be triggered by user.
* When unmanage fails the `Import` button on cluster list is inaccessible.

Is this expected behaviour?

Tested with:
tendrl-ui-1.6.3-2.el7rhgs.noarch

Comment 11 Shubhendu Tripathi 2018-05-21 12:22:11 UTC
Filip, currently its like that. If import fails, user needs to clean the errors on underlying storage nodes and then import the cluster back again.
When un-manage fails the un-manage should be allowed again for the cluster.

Comment 14 Martin Bukatovic 2018-05-31 16:14:26 UTC
Created attachment 1446327 [details]
screenshot 1 (it's possible to run both import and unmanage)

Comment 15 Martin Bukatovic 2018-05-31 16:15:07 UTC
Created attachment 1446328 [details]
screenshot 2 (it's possible to run both import, but with a warning)

Comment 17 Nishanth Thomas 2018-06-06 06:12:33 UTC
Ack. This looks good

Comment 19 Martin Bukatovic 2018-06-29 18:03:27 UTC
Retrying with:

tendrl-ansible-1.6.3-5.el7rhgs.noarch
tendrl-api-1.6.3-3.el7rhgs.noarch
tendrl-api-httpd-1.6.3-3.el7rhgs.noarch
tendrl-commons-1.6.3-7.el7rhgs.noarch
tendrl-grafana-plugins-1.6.3-5.el7rhgs.noarch
tendrl-grafana-selinux-1.5.4-2.el7rhgs.noarch
tendrl-monitoring-integration-1.6.3-5.el7rhgs.noarch
tendrl-node-agent-1.6.3-7.el7rhgs.noarch
tendrl-notifier-1.6.3-4.el7rhgs.noarch
tendrl-selinux-1.5.4-2.el7rhgs.noarch
tendrl-ui-1.6.3-4.el7rhgs.noarch

Performing scenario described in comment 16:

 * create a problem which makes import fail
 * run import
 * wait for the import to fail (breaking WA repourl on one storage machine)
 * checking that it's not possible to run import immediately again
 * fixing the problem (introduced in the 1st step)
 * run unmanage
 * run import
 * check that cluster is imported with success

But the unmanage failed, so I can't verify this. Will report and update
related BZs.

Until we can run unmanage in such easy scenario, we can't verify this BZ.

Comment 20 Martin Bukatovic 2018-06-29 19:32:54 UTC
During failed verification of this BZ, I reported:

 * bz 1596839
 * bz 1596820

and still have to debug and either report or update BZ for the failure of
cluster unamanage.

Comment 21 Filip Balák 2018-08-13 14:44:09 UTC
Scenario from Comment 16 works as expected. User can initiate cluster import via API after previous import failed and cluster was not unmanaged (BZ 1615418) but this BZ is about import button which is not available during that scenario. --> VERIFIED

Tested with:
tendrl-ansible-1.6.3-6.el7rhgs.noarch
tendrl-api-1.6.3-5.el7rhgs.noarch
tendrl-api-httpd-1.6.3-5.el7rhgs.noarch
tendrl-commons-1.6.3-11.el7rhgs.noarch
tendrl-grafana-plugins-1.6.3-8.el7rhgs.noarch
tendrl-grafana-selinux-1.5.4-2.el7rhgs.noarch
tendrl-monitoring-integration-1.6.3-8.el7rhgs.noarch
tendrl-node-agent-1.6.3-9.el7rhgs.noarch
tendrl-notifier-1.6.3-4.el7rhgs.noarch
tendrl-selinux-1.5.4-2.el7rhgs.noarch
tendrl-ui-1.6.3-9.el7rhgs.noarch

Comment 24 Shubhendu Tripathi 2018-09-04 02:53:24 UTC
The doc-text looks good

Comment 26 errata-xmlrpc 2018-09-04 06:58:45 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, 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/RHSA-2018:2616