hi Casey, On Sat, Apr 23, 2022 at 2:04 AM Casey Bodley <cbodley@xxxxxxxxxx> wrote: > > i'm seeing a lot of these failures on PR checks lately: > > > from nose.tools import eq_ as eq > E ModuleNotFoundError: No module named 'nose' > > tasks/rgw_multi/tests.py:18: ModuleNotFoundError > ----------------------------- Captured stdout call ----------------------------- > > (example from https://jenkins.ceph.com/job/ceph-pull-requests/94129/consoleFull#1181206387c19247c4-fcb7-4c61-9a5d-7e2b9731c678) > > these errors are coming from rgw multisite test cases, which > 'run-tox-qa' appears to be linting? we haven't made any interesting > changes to the tests, so i'm not sure whether something changed in the > lab, or if it's just the regular kind of python breakage. does anyone > know what's up with the missing 'nose'? > my guess is that this regression is introduced by https://github.com/ceph/teuthology/pull/1743/files#diff-4d7c51b1efe9043e44439a949dfd92e5827321b34082903477fd04876edb7552L146. before this change, the teuthology python package had been preparing the "nose" for the tests. after the overhaul of python packaging, nose was somehow dropped in https://github.com/ceph/teuthology/pull/1743/commits/21372fd9b2b87bb6417929f10097fba7db9cdca9. i failed to find the explanation in the commit message though. if we should follow the protocol of "hey, teuthology! please prepare the test dependencies for us, as we are imported by you, and are relying on you to get us settled before we start doing our business", we need to add "nose" to the options.extras_require section in teuthology/setup.cfg. IMHO, we should follow this protocol unless we develop another way to prepare the deps for these innocent tests. just created https://github.com/ceph/teuthology/pull/1749 to address this issue. > separately, it seems a bit silly for 'make check' to be doing anything > with our crusty old python tests. i don't think anyone's concerned > about code quality there, only that the tests run and pass in > teuthology. is there a way to disable these checks under > qa/tasks/rgw_multi/? this change was introduced back when we were migrating the tests from python2 to python3. Thomas kindly helped to create https://github.com/ceph/ceph/pull/32129 in hope to ensure that we are python3 compatible and don't break the compatibility by adding this guard as part of "make check" run. i agree that we don't need to keep the same standard of code quality there as the one we are trying to keep under src/, but it probably still makes sense to have a minimal check for qa/ by running the python interpreter against them? > > _______________________________________________ > Dev mailing list -- dev@xxxxxxx > To unsubscribe send an email to dev-leave@xxxxxxx -- Regards Kefu Chai _______________________________________________ Dev mailing list -- dev@xxxxxxx To unsubscribe send an email to dev-leave@xxxxxxx