Actions
Bug #44683
closednautilus: mgr/dashboard: "make check" fails in run-tox-mgr-dashboard: "HomeTest.test_home_default_lang: 'Status 404 Not Found does not match 200'"
% Done:
0%
Source:
Tags:
Backport:
Regression:
No
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
Pull request ID:
Crash signature (v1):
Crash signature (v2):
Description
Recently, nautilus branch has started to show failures in make check
, specifically in the run-tox-mgr-dashboard
test (see this PR or this other one):
=================================== FAILURES =================================== _______________________ HomeTest.test_home_default_lang ________________________ self = <dashboard.tests.test_home.HomeTest testMethod=test_home_default_lang> def test_home_default_lang(self): self._get('/') > self.assertStatus(200) tests/test_home.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../../../../build/dashboard/py27-cov/local/lib/python2.7/site-packages/cheroot/test/webtest.py:392: in assertStatus self._handlewebError(msg) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <dashboard.tests.test_home.HomeTest testMethod=test_home_default_lang> msg = 'Status 404 Not Found does not match 200' def _handlewebError(self, msg): print('') print(' ERROR: %s' % msg) if not self.interactive: > raise self.failureException(msg) E AssertionError: Status 404 Not Found does not match 200 ../../../../build/dashboard/py27-cov/local/lib/python2.7/site-packages/cheroot/test/webtest.py:325: AssertionError ---------------------------- Captured stderr setup ----------------------------- INFO:cherrypy.error:[19/Mar/2020:12:39:18] ENGINE Listening for SIGUSR1. INFO:cherrypy.error:[19/Mar/2020:12:39:18] ENGINE Listening for SIGTERM. INFO:cherrypy.error:[19/Mar/2020:12:39:18] ENGINE Listening for SIGHUP. INFO:cherrypy.test.helper:Python version used to run this test script: 2.7.17 INFO:cherrypy.test.helper:CherryPy version: 13.1.0 INFO:cherrypy.test.helper:HTTP server version: HTTP/1.1 INFO:cherrypy.test.helper:PID: 32024 INFO:dashboard:Initializing controller: HomeController -> / DEBUG:dashboard:Mapped [/{path:.*}] to HomeController:__call__ restricted to GET INFO:cherrypy.error:[19/Mar/2020:12:39:18] ENGINE Bus STARTING INFO:cherrypy.error:[19/Mar/2020:12:39:18] ENGINE Serving on http://127.0.0.1:54583 INFO:cherrypy.error:[19/Mar/2020:12:39:18] ENGINE Bus STARTED ------------------------------ Captured log setup ------------------------------ _cplogging.py 223 INFO [19/Mar/2020:12:39:18] ENGINE Listening for SIGUSR1. _cplogging.py 223 INFO [19/Mar/2020:12:39:18] ENGINE Listening for SIGTERM. _cplogging.py 223 INFO [19/Mar/2020:12:39:18] ENGINE Listening for SIGHUP. helper.py 201 INFO Python version used to run this test script: 2.7.17 helper.py 202 INFO CherryPy version: 13.1.0 helper.py 207 INFO HTTP server version: HTTP/1.1 helper.py 208 INFO PID: 32024 __init__.py 592 INFO Initializing controller: HomeController -> / __init__.py 327 DEBUG Mapped [/{path:.*}] to HomeController:__call__ restricted to GET _cplogging.py 223 INFO [19/Mar/2020:12:39:18] ENGINE Bus STARTING _cplogging.py 223 INFO [19/Mar/2020:12:39:18] ENGINE Serving on http://127.0.0.1:54583 _cplogging.py 223 INFO [19/Mar/2020:12:39:18] ENGINE Bus STARTED ----------------------------- Captured stdout call ----------------------------- ERROR: Status 404 Not Found does not match 200 ----------------------------- Captured stderr call ----------------------------- DEBUG:dashboard:frontend language from headers: [u'en-us'] DEBUG:dashboard:Languages '[u'en-us']' not available, falling back to en-US DEBUG:dashboard:serving static content: /home/jenkins-build/build/workspace/ceph-pull-requests/src/pybind/mgr/dashboard/frontend/dist/en-US/index.html INFO:cherrypy.access.140390063683792:127.0.0.1 - - [19/Mar/2020:12:39:18] "GET / HTTP/1.1" 404 513 "" "" ------------------------------ Captured log call ------------------------------- home.py 99 DEBUG frontend language from headers: [u'en-us'] home.py 81 DEBUG Languages '[u'en-us']' not available, falling back to en-US home.py 108 DEBUG serving static content: /home/jenkins-build/build/workspace/ceph-pull-requests/src/pybind/mgr/dashboard/frontend/dist/en-US/index.html _cplogging.py 310 INFO 127.0.0.1 - - [19/Mar/2020:12:39:18] "GET / HTTP/1.1" 404 513 "" "" ___________________________ HomeTest.test_home_en_us ___________________________ self = <dashboard.tests.test_home.HomeTest testMethod=test_home_en_us> def test_home_en_us(self): self._get('/', headers=[('Accept-Language', 'en-US')]) > self.assertStatus(200) tests/test_home.py:29: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../../../../build/dashboard/py27-cov/local/lib/python2.7/site-packages/cheroot/test/webtest.py:392: in assertStatus self._handlewebError(msg) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <dashboard.tests.test_home.HomeTest testMethod=test_home_en_us> msg = 'Status 404 Not Found does not match 200' def _handlewebError(self, msg): print('') print(' ERROR: %s' % msg) if not self.interactive: > raise self.failureException(msg) E AssertionError: Status 404 Not Found does not match 200 ../../../../build/dashboard/py27-cov/local/lib/python2.7/site-packages/cheroot/test/webtest.py:325: AssertionError ----------------------------- Captured stdout call ----------------------------- ERROR: Status 404 Not Found does not match 200 ----------------------------- Captured stderr call ----------------------------- DEBUG:dashboard:language preference: [('en-us', 1.0)] DEBUG:dashboard:frontend language from headers: ['en-us'] DEBUG:dashboard:Languages '['en-us']' not available, falling back to en-US DEBUG:dashboard:serving static content: /home/jenkins-build/build/workspace/ceph-pull-requests/src/pybind/mgr/dashboard/frontend/dist/en-US/index.html INFO:cherrypy.access.140390063683792:127.0.0.1 - - [19/Mar/2020:12:39:19] "GET / HTTP/1.1" 404 513 "" "" ------------------------------ Captured log call ------------------------------- home.py 71 DEBUG language preference: [('en-us', 1.0)] home.py 99 DEBUG frontend language from headers: ['en-us'] home.py 81 DEBUG Languages '['en-us']' not available, falling back to en-US home.py 108 DEBUG serving static content: /home/jenkins-build/build/workspace/ceph-pull-requests/src/pybind/mgr/dashboard/frontend/dist/en-US/index.html _cplogging.py 310 INFO 127.0.0.1 - - [19/Mar/2020:12:39:19] "GET / HTTP/1.1" 404 513 "" "" ____________________ HomeTest.test_home_non_supported_lang _____________________ self = <dashboard.tests.test_home.HomeTest testMethod=test_home_non_supported_lang> def test_home_non_supported_lang(self): self._get('/', headers=[('Accept-Language', 'NO-NO')]) > self.assertStatus(200) tests/test_home.py:35: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../../../../build/dashboard/py27-cov/local/lib/python2.7/site-packages/cheroot/test/webtest.py:392: in assertStatus self._handlewebError(msg) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <dashboard.tests.test_home.HomeTest testMethod=test_home_non_supported_lang> msg = 'Status 404 Not Found does not match 200' def _handlewebError(self, msg): print('') print(' ERROR: %s' % msg) if not self.interactive: > raise self.failureException(msg) E AssertionError: Status 404 Not Found does not match 200 ../../../../build/dashboard/py27-cov/local/lib/python2.7/site-packages/cheroot/test/webtest.py:325: AssertionError ----------------------------- Captured stdout call ----------------------------- ERROR: Status 404 Not Found does not match 200 ----------------------------- Captured stderr call ----------------------------- DEBUG:dashboard:language preference: [('no-no', 1.0)] DEBUG:dashboard:frontend language from headers: ['no-no'] DEBUG:dashboard:Languages '['no-no']' not available, falling back to en-US DEBUG:dashboard:serving static content: /home/jenkins-build/build/workspace/ceph-pull-requests/src/pybind/mgr/dashboard/frontend/dist/en-US/index.html INFO:cherrypy.access.140390063683792:127.0.0.1 - - [19/Mar/2020:12:39:19] "GET / HTTP/1.1" 404 513 "" "" ------------------------------ Captured log call ------------------------------- home.py 71 DEBUG language preference: [('no-no', 1.0)] home.py 99 DEBUG frontend language from headers: ['no-no'] home.py 81 DEBUG Languages '['no-no']' not available, falling back to en-US home.py 108 DEBUG serving static content: /home/jenkins-build/build/workspace/ceph-pull-requests/src/pybind/mgr/dashboard/frontend/dist/en-US/index.html _cplogging.py 310 INFO 127.0.0.1 - - [19/Mar/2020:12:39:19] "GET / HTTP/1.1" 404 513 "" "" ==================== 3 failed, 274 passed in 70.55 seconds =====================
Surprisingly, this failure only happens on builder nodes of type "braggi", which features more powerful setup (David Galloway confirmed), but not in master/octopus or with other builders (like ubuntu or centos ones).
This unit test basically has a hard dependency on the filesystem (this has been fixed in master/octopus) and that might be cause for this. Why only in 'braggi' nodes? No clue yet.
Actions