Hi Kefu, On Thu, Jul 4, 2019 at 5:37 AM kefu chai <tchaikov@gmail.com> wrote:
On Thu, Jul 4, 2019 at 1:43 AM Patrick Donnelly <pdonnell@redhat.com> wrote:
Not sure who to direct this to so asking here.
Varsha Rao has a PR [1] to add tox testing for the cephfs-shell as part of the build testing. Unfortunately it seems this isn't done as part of the jenkins build, probably because cephfs-shell is not an install target for most platforms due to dependency issues. cephfs-shell is currently only a valid target for Ubuntu 18.04+. I see that jenkins is using Ubuntu for the build [2] but I'm not immediately
we use whatever test slaves labeled with trusty or centos7, see https://github.com/ceph/ceph-build/blob/master/ceph-pull-requests/config/def.... in the "make check" run you referenced, the used slave was labeled "jessie stretch trusty-pbuilder x86_64 bionic huge rebootable xenial trusty amd64".
and it seems all of the trusty slaves are also labeled with xenial, aside from the arm64 ones.
I'm not sure if trusty/xenial will be a problem as cephfs-shell requires a recent version of cmd2, available on bionic.
sure which flavor. Maybe enabling cephfs-shell builds is just something that needs turned on the CMake flags for the jenkins build (-DWITH_CEPHFS_SHELL)?
i think, to test cephfs-shell with tox, in addition to https://github.com/ceph/ceph/pull/28239, we just need to
1. build ceph with -DWITH_PYTHON3=ON, as cephfs-shell is python3 only, and it uses cephfs's python binding. because both debian/control and ceph.spec.in require python3 development packages to be installed. so presumably, all trusty and centos7 slave nodes should be ready for building cephfs python3 binding, and for testing cephfs-shell. 2. add the runtime dependencies of cephfs-shell to debian/control and ceph.spec.in as part of the "make check" dependencies, please search "with make_check" in ceph.spec.in and search "# Make-Check" in debian/control for examples.
there are two places we can add the -DWITH_PYTHON3=ON option,
- https://github.com/ceph/ceph-build/blob/master/ceph-pull-requests/config/def... - https://github.com/ceph/ceph/blob/master/run-make-check.sh
i'd recommend to add this option in run-make-check.sh.
That helps a lot; thanks Kefu! I do wonder though if we need to add the cephfs-shell dependencies. If we're currently just doing code linting with flake8, is it really necessary? -- Patrick Donnelly, Ph.D. He / Him / His Senior Software Engineer Red Hat Sunnyvale, CA GPG: 19F28A586F808C2402351B93C3301A3E258DD79D