Project

General

Profile

Bug #37385

Updated by Lenz Grimmer over 5 years ago

After few challenges getting Ceph compiled on F29 with Python 3, I've managed (with the help of few patches from the team) to succeed. 
 Tests fail though: 


 <pre> 
 

  19/162 Test     #6: run-tox-mgr-dashboard ...................***Failed    119.62 sec 
 py3-cov create: /home/ykaul/github/ceph/build/py3-cov 
 py3-cov installdeps: -r/home/ykaul/github/ceph/src/pybind/mgr/dashboard/requirements.txt, -r/home/ykaul/github/ceph/src/pybind/mgr/dashboard/requirements-py3.txt 
 py3-cov installed: asn1crypto==0.24.0,astroid==1.6.1,attrs==17.4.0,backports.functools-lru-cache==1.4,bcrypt==3.1.4,certifi==2018.10.15,cffi==1.11.5,chardet==3.0.4,cheroot==6.0.0,CherryPy==13.1.0,configparser==3.5.0,coverage==4.4.2,cryptography==2.4.2,defusedxml==0.5.0,enum34==1.1.6,funcsigs==1.0.2,idna==2.7,isodate==0.6.0,isort==4.2.15,lazy-object-proxy==1.3.1,lxml==4.2.5,mccabe==0.6.1,mock==2.0.0,more-itertools==4.1.0,pbr==3.1.1,pkgconfig==1.4.0,pluggy==0.6.0,portend==2.2,py==1.5.2,pycodestyle==2.3.1,pycparser==2.18,PyJWT==1.6.4,pylint==1.8.2,pyOpenSSL==17.5.0,pytest==3.3.2,pytest-cov==2.5.1,pytest-faulthandler==1.0.1,python3-saml==1.4.1,pytz==2017.3,repoze.lru==0.7,requests==2.20.0,Routes==2.4.1,singledispatch==3.4.0.3,six==1.11.0,tempora==1.10,tox==2.9.1,urllib3==1.24.1,virtualenv==15.1.0,Werkzeug==0.14.1,wrapt==1.10.11,xmlsec==1.3.3 
 py3-cov runtests: PYTHONHASHSEED='4218570714' 
 py3-cov runtests: commands[0] | coverage erase 
 py3-cov runtests: commands[1] | /home/ykaul/github/ceph/build/py3-cov/bin/py.test --cov=. --cov-report= --junitxml=junit.py3-cov.xml --doctest-modules controllers/rbd.py services/ tests/ tools.py 
 ============================= test session starts ============================== 
 platform linux -- Python 3.7.1, pytest-3.3.2, py-1.5.2, pluggy-0.6.0 
 rootdir: /home/ykaul/github/ceph/src/pybind/mgr/dashboard, inifile: 
 plugins: faulthandler-1.0.1, cov-2.5.1 
 collected 178 items 

 controllers/rbd.py ..                                                      [    1%] 
 services/ceph_service.py .                                                 [    1%] 
 services/rgw_client.py .                                                   [    2%] 
 tests/test_access_control.py ........................................... [ 26%] 
 ......                                                                     [ 29%] 
 tests/test_api_auditing.py ........                                        [ 34%] 
 tests/test_controllers.py ....................                             [ 45%] 
 tests/test_erasure_code_profile.py ....                                    [ 47%] 
 tests/test_exceptions.py ............                                      [ 54%] 
 tests/test_grafana.py ....                                                 [ 56%] 
 tests/test_notification.py ....                                            [ 58%] 
 tests/test_rbd_mirroring.py ....                                           [ 61%] 
 tests/test_rest_client.py ........                                         [ 65%] 
 tests/test_rest_tasks.py ........                                          [ 70%] 
 tests/test_rgw_client.py ..                                                [ 71%] 
 tests/test_settings.py ..............                                      [ 79%] 
 tests/test_sso.py .....                                                    [ 82%] 
 tests/test_task.py ...............                                         [ 90%] 
 tests/test_tcmu_iscsi.py ...                                               [ 92%] 
 tests/test_tools.py ............                                           [ 98%] 
 tools.py ..                                                                [100%] 

  generated xml file: /home/ykaul/github/ceph/src/pybind/mgr/dashboard/junit.py3-cov.xml  


 ========================= 178 passed in 41.39 seconds ========================== 
 py3-cov runtests: commands[2] | coverage combine /home/ykaul/github/ceph/src/pybind/mgr/dashboard/.coverage.py3-cov 
 py3-cov runtests: commands[3] | coverage report 
 Name                                     Stmts     Miss    Cover 
 ---------------------------------------------------------- 
 awsauth.py                                  80       58      28% 
 controllers/__init__.py                    475      106      78% 
 controllers/auth.py                         51       51       0% 
 controllers/cephfs.py                      140      140       0% 
 controllers/cluster_configuration.py        36       36       0% 
 controllers/dashboard.py                    82       82       0% 
 controllers/docs.py                        124      124       0% 
 controllers/erasure_code_profile.py         38        8      79% 
 controllers/grafana.py                      61       10      84% 
 controllers/host.py                          8        8       0% 
 controllers/logging.py                       7        7       0% 
 controllers/monitor.py                      24       24       0% 
 controllers/osd.py                         101      101       0% 
 controllers/perf_counters.py                48       48       0% 
 controllers/pool.py                         98       98       0% 
 controllers/rbd.py                         306      207      32% 
 controllers/rbd_mirroring.py               159       47      70% 
 controllers/rgw.py                         157      157       0% 
 controllers/role.py                         76       76       0% 
 controllers/saml2.py                        71       71       0% 
 controllers/settings.py                     36        4      89% 
 controllers/summary.py                      39        5      87% 
 controllers/task.py                          8        0     100% 
 controllers/tcmu_iscsi.py                    8        0     100% 
 controllers/user.py                         68       68       0% 
 exceptions.py                               53        3      94% 
 module.py                                  230      230       0% 
 rest_client.py                             259      167      36% 
 security.py                                 31        0     100% 
 services/__init__.py                         1        0     100% 
 services/access_control.py                 419       39      91% 
 services/auth.py                           123       84      32% 
 services/ceph_service.py                   156       93      40% 
 services/exception.py                       82       30      63% 
 services/rgw_client.py                     146       63      57% 
 services/sso.py                            136       23      83% 
 services/tcmu_service.py                    57        9      84% 
 settings.py                                 96       26      73% 
 tools.py                                   488       34      93% 
 ---------------------------------------------------------- 
 TOTAL                                     4578     2337      49% 
 py3-cov runtests: commands[4] | coverage xml 
 py3-lint create: /home/ykaul/github/ceph/build/py3-lint 
 py3-lint installdeps: -r/home/ykaul/github/ceph/src/pybind/mgr/dashboard/requirements.txt, -r/home/ykaul/github/ceph/src/pybind/mgr/dashboard/requirements-py3.txt 
 py3-lint installed: asn1crypto==0.24.0,astroid==1.6.1,attrs==17.4.0,backports.functools-lru-cache==1.4,bcrypt==3.1.4,certifi==2018.10.15,cffi==1.11.5,chardet==3.0.4,cheroot==6.0.0,CherryPy==13.1.0,configparser==3.5.0,coverage==4.4.2,cryptography==2.4.2,defusedxml==0.5.0,enum34==1.1.6,funcsigs==1.0.2,idna==2.7,isodate==0.6.0,isort==4.2.15,lazy-object-proxy==1.3.1,lxml==4.2.5,mccabe==0.6.1,mock==2.0.0,more-itertools==4.1.0,pbr==3.1.1,pkgconfig==1.4.0,pluggy==0.6.0,portend==2.2,py==1.5.2,pycodestyle==2.3.1,pycparser==2.18,PyJWT==1.6.4,pylint==1.8.2,pyOpenSSL==17.5.0,pytest==3.3.2,pytest-cov==2.5.1,pytest-faulthandler==1.0.1,python3-saml==1.4.1,pytz==2017.3,repoze.lru==0.7,requests==2.20.0,Routes==2.4.1,singledispatch==3.4.0.3,six==1.11.0,tempora==1.10,tox==2.9.1,urllib3==1.24.1,virtualenv==15.1.0,Werkzeug==0.14.1,wrapt==1.10.11,xmlsec==1.3.3 
 py3-lint runtests: PYTHONHASHSEED='4218570714' 
 py3-lint runtests: commands[0] | pylint --rcfile=.pylintrc --jobs=5 . module.py tools.py controllers tests services exceptions.py 
 Using config file /home/ykaul/github/ceph/src/pybind/mgr/dashboard/.pylintrc 
 Traceback (most recent call last): 
   File "/home/ykaul/github/ceph/build/py3-lint/lib/python3.7/site-packages/astroid/decorators.py", line 85, in wrapped 
     res = next(generator) 
 StopIteration 

 During handling of the above exception, another exception occurred: 

 Traceback (most recent call last): 
   File "/home/ykaul/github/ceph/build/py3-lint/lib/python3.7/site-packages/astroid/decorators.py", line 100, in wrapped 
     raise StopIteration 
 StopIteration 

 The above exception was the direct cause of the following exception: 

 Traceback (most recent call last): 
   File "/home/ykaul/github/ceph/build/py3-lint/lib/python3.7/site-packages/pylint/lint.py", line 942, in get_ast 
     return MANAGER.ast_from_file(filepath, modname, source=True) 
   File "/home/ykaul/github/ceph/build/py3-lint/lib/python3.7/site-packages/astroid/manager.py", line 80, in ast_from_file 
     return AstroidBuilder(self).file_build(filepath, modname) 
   File "/home/ykaul/github/ceph/build/py3-lint/lib/python3.7/site-packages/astroid/builder.py", line 153, in file_build 
     return self._post_build(module, encoding) 
   File "/home/ykaul/github/ceph/build/py3-lint/lib/python3.7/site-packages/astroid/builder.py", line 173, in _post_build 
     self.delayed_assattr(delayed) 
   File "/home/ykaul/github/ceph/build/py3-lint/lib/python3.7/site-packages/astroid/builder.py", line 232, in delayed_assattr 
     for inferred in node.expr.infer(): 
   File "/home/ykaul/github/ceph/build/py3-lint/lib/python3.7/site-packages/astroid/decorators.py", line 85, in wrapped 
     res = next(generator) 
   File "/home/ykaul/github/ceph/build/py3-lint/lib/python3.7/site-packages/astroid/bases.py", line 95, in _infer_stmts 
     for inferred in stmt.infer(context=context): 
   File "/home/ykaul/github/ceph/build/py3-lint/lib/python3.7/site-packages/astroid/context.py", line 40, in cache_generator 
     for result in generator: 
   File "/home/ykaul/github/ceph/build/py3-lint/lib/python3.7/site-packages/astroid/decorators.py", line 82, in wrapped 
     generator = _func(node, context, **kwargs) 
   File "/home/ykaul/github/ceph/build/py3-lint/lib/python3.7/site-packages/astroid/inference.py", line 763, in infer_assign 
     stmts = list(self.assigned_stmts(context=context)) 
   File "/home/ykaul/github/ceph/build/py3-lint/lib/python3.7/site-packages/astroid/protocols.py", line 304, in _arguments_infer_argname 
     is_metaclass = isinstance(cls, nodes.ClassDef) and cls.type == 'metaclass' 
   File "/home/ykaul/github/ceph/build/py3-lint/lib/python3.7/site-packages/astroid/scoped_nodes.py", line 1650, in _class_type 
     if _is_metaclass(klass): 
   File "/home/ykaul/github/ceph/build/py3-lint/lib/python3.7/site-packages/astroid/scoped_nodes.py", line 1619, in _is_metaclass 
     for baseobj in base.infer(): 
 RuntimeError: generator raised StopIteration 
 Traceback (most recent call last): 
   File "/home/ykaul/github/ceph/build/py3-lint/lib/python3.7/site-packages/astroid/decorators.py", line 85, in wrapped 
     res = next(generator) 
 StopIteration 

 During handling of the above exception, another exception occurred: 

 Traceback (most recent call last): 
   File "/home/ykaul/github/ceph/build/py3-lint/lib/python3.7/site-packages/astroid/decorators.py", line 100, in wrapped 
     raise StopIteration 
 StopIteration 
 </pre> 

Back