Project

General

Profile

Bug #42187

mgr/dashboard: dashboard test fails due to adaptation of iscsi response

Added by Patrick Seidensal over 1 year ago. Updated about 1 year ago.

Status:
Resolved
Priority:
Urgent
Assignee:
Category:
dashboard/qa
Target version:
-
% Done:

0%

Source:
Tags:
Backport:
nautilus
Regression:
No
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
Pull request ID:
Crash signature:

Description

Tests in master currently fail for the dashboard test due to an adaptation of response structure of ceph.

https://jenkins.ceph.com/job/ceph-pull-requests/35471/consoleFull#43191147197fa9a7a-7d42-44ad-9e67-a27db6b3fb12
https://github.com/ceph/ceph/pull/30217

Another PR affected:

https://github.com/ceph/ceph/pull/30736

run-tox-mgr-dashboard fails with

self = <dashboard.tests.test_iscsi.IscsiTest testMethod=test_add_client_to_group>
msg = "expected body:\n{'info': {'num_sessions': 0}, 'target_iqn': 'iqn.2003-01.com.redhat.iscsi-gw:iscsi-igw13', 'target_co...ssword': None, u'password': None, u'user': None}, u'luns': [], u'client_iqn': u'iqn.1994-05.com.redhat:rh7-client3'}]}" 

    def _handlewebError(self, msg):
        print('')
        print('    ERROR: %s' % msg)

        if not self.interactive:
>           raise self.failureException(msg)
E           AssertionError: expected body:
E           {'info': {'num_sessions': 0}, 'target_iqn': 'iqn.2003-01.com.redhat.iscsi-gw:iscsi-igw13', 'target_controls': {}, 'auth': {'mutual_user': '', 'mutual_password': '', 'password': '', 'user': ''}, 'portals': [{'host': 'node2', 'ip': '10.0.2.15'}, {'host': 'node2', 'ip': '192.168.100.202'}, {'host': 'node3', 'ip': '192.168.100.203'}], 'groups': [{'members': ['iqn.1994-05.com.redhat:rh7-client2', 'iqn.1994-05.com.redhat:rh7-client3'], 'disks': [{'image': 'lun2', 'pool': 'rbd'}], 'group_id': 'mygroup'}], 'acl_enabled': True, 'disks': [{'image': 'lun1', 'pool': 'rbd', 'controls': {'max_data_area_mb': 128}, 'backstore': 'user:rbd'}, {'image': 'lun2', 'pool': 'rbd', 'controls': {'max_data_area_mb': 128}, 'backstore': 'user:rbd'}], 'clients': [{'info': {'state': {}, 'alias': '', 'ip_address': []}, 'auth': {'mutual_user': 'myiscsiusername2', 'mutual_password': 'myiscsipassword2', 'password': 'myiscsipassword1', 'user': 'myiscsiusername1'}, 'luns': [{'image': 'lun1', 'pool': 'rbd'}], 'client_iqn': 'iqn.1994-05.com.redhat:rh7-client'}, {'info': {'state': {}, 'alias': '', 'ip_address': []}, 'auth': {'mutual_user': 'myiscsiusername4', 'mutual_password': 'myiscsipassword4', 'password': 'myiscsipassword3', 'user': 'myiscsiusername3'}, 'luns': [], 'client_iqn': 'iqn.1994-05.com.redhat:rh7-client2'}, {'info': {'state': {}, 'alias': '', 'ip_address': []}, 'auth': {'mutual_password': None, 'mutual_user': None, 'user': None, 'password': None}, 'luns': [], 'client_iqn': 'iqn.1994-05.com.redhat:rh7-client3'}]}
E           
E           actual body:
E           {u'target_iqn': u'iqn.2003-01.com.redhat.iscsi-gw:iscsi-igw13', u'target_controls': {}, u'auth': {u'mutual_user': u'', u'mutual_password': u'', u'password': u'', u'user': u''}, u'portals': [{u'host': u'node2', u'ip': u'10.0.2.15'}, {u'host': u'node2', u'ip': u'192.168.100.202'}, {u'host': u'node3', u'ip': u'192.168.100.203'}], u'groups': [{u'members': [u'iqn.1994-05.com.redhat:rh7-client2', u'iqn.1994-05.com.redhat:rh7-client3'], u'disks': [{u'image': u'lun2', u'pool': u'rbd'}], u'group_id': u'mygroup'}], u'acl_enabled': True, u'disks': [{u'image': u'lun1', u'pool': u'rbd', u'controls': {u'max_data_area_mb': 128}, u'backstore': u'user:rbd'}, {u'image': u'lun2', u'pool': u'rbd', u'controls': {u'max_data_area_mb': 128}, u'backstore': u'user:rbd'}], u'clients': [{u'auth': {u'mutual_user': u'myiscsiusername2', u'mutual_password': u'myiscsipassword2', u'password': u'myiscsipassword1', u'user': u'myiscsiusername1'}, u'luns': [{u'image': u'lun1', u'pool': u'rbd'}], u'client_iqn': u'iqn.1994-05.com.redhat:rh7-client'}, {u'auth': {u'mutual_user': u'myiscsiusername4', u'mutual_password': u'myiscsipassword4', u'password': u'myiscsipassword3', u'user': u'myiscsiusername3'}, u'luns': [], u'client_iqn': u'iqn.1994-05.com.redhat:rh7-client2'}, {u'auth': {u'mutual_user': None, u'mutual_password': None, u'password': None, u'user': None}, u'luns': [], u'client_iqn': u'iqn.1994-05.com.redhat:rh7-client3'}]}

.tox/py27/local/lib/python2.7/site-packages/cheroot/test/webtest.py:251: AssertionError
In [10]: one = {'auth': {'mutual_user': '', 'password': '', 'user': '', 'mutual_password': ''}, 'target_controls': {}, 'target_iqn': 'iqn.2003-01.com.redhat.iscsi-gw:iscsi-igw13', 'acl_enab
    ...: led': True, 'groups': [{'group_id': 'mygroup', 'disks': [{'pool': 'rbd', 'image': 'lun2'}], 'members': ['iqn.1994-05.com.redhat:rh7-client2', 'iqn.1994-05.com.redhat:rh7-client3']}
    ...: ], 'portals': [{'host': 'node2', 'ip': '10.0.2.15'}, {'host': 'node2', 'ip': '192.168.100.202'}, {'host': 'node3', 'ip': '192.168.100.203'}], 'info': {'num_sessions': 0}, 'clients'
    ...: : [{'auth': {'mutual_user': 'myiscsiusername2', 'password': 'myiscsipassword1', 'user': 'myiscsiusername1', 'mutual_password': 'myiscsipassword2'}, 'info': {'alias': '', 'state': {
    ...: }, 'ip_address': []}, 'client_iqn': 'iqn.1994-05.com.redhat:rh7-client', 'luns': [{'pool': 'rbd', 'image': 'lun1'}]}, {'auth': {'mutual_user': 'myiscsiusername4', 'password': 'myis
    ...: csipassword3', 'user': 'myiscsiusername3', 'mutual_password': 'myiscsipassword4'}, 'info': {'alias': '', 'state': {}, 'ip_address': []}, 'client_iqn': 'iqn.1994-05.com.redhat:rh7-c
    ...: lient2', 'luns': []}, {'auth': {'mutual_user': None, 'password': None, 'mutual_password': None, 'user': None}, 'info': {'alias': '', 'state': {}, 'ip_address': []}, 'client_iqn': '
    ...: iqn.1994-05.com.redhat:rh7-client3', 'luns': []}], 'disks': [{'image': 'lun1', 'backstore': 'user:rbd', 'pool': 'rbd', 'controls': {'max_data_area_mb': 128}}, {'image': 'lun2', 'ba
    ...: ckstore': 'user:rbd', 'pool': 'rbd', 'controls': {'max_data_area_mb': 128}}]}

In [11]: two = {u'auth': {u'mutual_user': u'', u'password': u'', u'user': u'', u'mutual_password': u''}, u'target_controls': {}, u'target_iqn': u'iqn.2003-01.com.redhat.iscsi-gw:iscsi-igw13
    ...: ', u'acl_enabled': True, u'groups': [{u'group_id': u'mygroup', u'disks': [{u'pool': u'rbd', u'image': u'lun2'}], u'members': [u'iqn.1994-05.com.redhat:rh7-client2', u'iqn.1994-05.c
    ...: om.redhat:rh7-client3']}], u'portals': [{u'host': u'node2', u'ip': u'10.0.2.15'}, {u'host': u'node2', u'ip': u'192.168.100.202'}, {u'host': u'node3', u'ip': u'192.168.100.203'}], u
    ...: 'clients': [{u'auth': {u'mutual_user': u'myiscsiusername2', u'password': u'myiscsipassword1', u'user': u'myiscsiusername1', u'mutual_password': u'myiscsipassword2'}, u'client_iqn':
    ...:  u'iqn.1994-05.com.redhat:rh7-client', u'luns': [{u'pool': u'rbd', u'image': u'lun1'}]}, {u'auth': {u'mutual_user': u'myiscsiusername4', u'password': u'myiscsipassword3', u'user': 
    ...: u'myiscsiusername3', u'mutual_password': u'myiscsipassword4'}, u'client_iqn': u'iqn.1994-05.com.redhat:rh7-client2', u'luns': []}, {u'auth': {u'mutual_user': None, u'password': Non
    ...: e, u'user': None, u'mutual_password': None}, u'client_iqn': u'iqn.1994-05.com.redhat:rh7-client3', u'luns': []}], u'disks': [{u'image': u'lun1', u'backstore': u'user:rbd', u'pool':
    ...:  u'rbd', u'controls': {u'max_data_area_mb': 128}}, {u'image': u'lun2', u'backstore': u'user:rbd', u'pool': u'rbd', u'controls': {u'max_data_area_mb': 128}}]}

In [12]: one.keys()
Out[12]: dict_keys(['auth', 'target_controls', 'target_iqn', 'acl_enabled', 'groups', 'portals', 'info', 'clients', 'disks'])

In [13]: two.keys()
Out[13]: dict_keys(['auth', 'target_controls', 'target_iqn', 'acl_enabled', 'groups', 'portals', 'clients', 'disks'])

In [14]: 

mgr-dashboard-frontend-unittests fails with

  ● CephfsTabsComponent › handling of id change › should not subscribe to an new interval for the same selection

    Timeout - Async callback was not invoked within the 5000ms timeout specified by jest.setTimeout.Error: Timeout - Async callback was not invoked within the 5000ms timeout specified by jest.setTimeout.

      at mapper (node_modules/jest-jasmine2/build/queueRunner.js:25:45)

consoleText - Jenkins output (594 KB) Patrick Seidensal, 10/06/2019 02:20 PM


Related issues

Related to mgr - Bug #42077: mgr-dashboard-frontend-unittests fails Resolved 09/27/2019
Duplicated by mgr - Bug #42063: dashboard/iscsi: _update_iscsi_target fails in run-tox-mgr-dashboard Duplicate 09/26/2019
Copied to mgr - Backport #42730: nautilus: mgr/dashboard: dashboard test fails due to adaptation of iscsi response Resolved

History

#1 Updated by Patrick Seidensal over 1 year ago

  • Description updated (diff)

#2 Updated by Patrick Seidensal over 1 year ago

  • Assignee set to Ricardo Marques

#3 Updated by Kefu Chai over 1 year ago

  • Related to Bug #42077: mgr-dashboard-frontend-unittests fails added

#4 Updated by Kefu Chai over 1 year ago

  • Related to Bug #42063: dashboard/iscsi: _update_iscsi_target fails in run-tox-mgr-dashboard added

#5 Updated by Patrick Seidensal over 1 year ago

  • Description updated (diff)

#7 Updated by Ricardo Marques over 1 year ago

Assigning to Ricardo Dias because this is a bug in the `TaskManager`.

In summary, this is happening because controllers are returning from POST/PUT before the `TaskManager` updates the list of `executing_tasks` and `finished_tasks`.

#8 Updated by Ricardo Marques over 1 year ago

  • Assignee changed from Ricardo Marques to Ricardo Dias

#9 Updated by Ricardo Dias over 1 year ago

  • Pull request ID set to 30747

#10 Updated by Ricardo Marques over 1 year ago

  • Status changed from New to Fix Under Review

#11 Updated by Ricardo Marques over 1 year ago

  • Priority changed from High to Urgent

#12 Updated by Ricardo Marques over 1 year ago

  • Related to deleted (Bug #42063: dashboard/iscsi: _update_iscsi_target fails in run-tox-mgr-dashboard)

#13 Updated by Ricardo Marques over 1 year ago

  • Duplicated by Bug #42063: dashboard/iscsi: _update_iscsi_target fails in run-tox-mgr-dashboard added

#14 Updated by Stephan Müller over 1 year ago

Hi, tested the cephfs-tab-suite in multiple scenarios.
Only the suite, all suites whole, with and without DEV on my local system and inside docker. Also ran the script without any failures.

I can't say at this point why the test inside the suite was failing :/

#15 Updated by Ricardo Marques over 1 year ago

  • Backport set to nautilus

#16 Updated by Patrick Seidensal over 1 year ago

I got this error in my PR about adding smartctl data as an details tab of a host, tested locally. It hasn't been rebased for at least a week. Theoretically, this problem should be unrelated to that PR.

  ● CephfsTabsComponent › handling of id change › should not subscribe to an new interval for the same selection                                                                            

    Timeout - Async callback was not invoked within the 5000ms timeout specified by jest.setTimeout.Error: Timeout - Async callback was not invoked within the 5000ms timeout specified by jest.setTimeout.

      at mapper (node_modules/jest-jasmine2/build/queueRunner.js:25:45)

I just ran the whole suite by calling our `run-frontend-unit-tests.sh` script when this issue appeared. When I only ran the CephfsTabsComponent test, it passed. Running the tests using my IDE passed as well as calling `npx jest` did.

I then ran `run-frontend-unit-tests.sh` again, and it failed again with the same error.

This is definitely a recurring issue, although maybe not always reproducible. I also remembered to have seen it earlier, too.

#17 Updated by Kefu Chai over 1 year ago

  • Status changed from Fix Under Review to Resolved

#18 Updated by Ricardo Marques about 1 year ago

  • Status changed from Resolved to Pending Backport

#19 Updated by Ricardo Marques about 1 year ago

  • Copied to Backport #42730: nautilus: mgr/dashboard: dashboard test fails due to adaptation of iscsi response added

#20 Updated by Nathan Cutler about 1 year ago

  • Status changed from Pending Backport to Resolved

While running with --resolve-parent, the script "backport-create-issue" noticed that all backports of this issue are in status "Resolved" or "Rejected".

Also available in: Atom PDF