We just merged the bit py2->py3 conversion pull request to master. Most
tests are passing, but lots of stuff is going to break. Please look for
problems and send PRs or at least let us know.
There's an etherpad with a TODO list here:
https://pad.ceph.com/p/py3
If you need to base a branch or whatever on a non-broken py2 base, you the
last-py2 branch in ceph.git.
Big changes (Alfredo, please correct anything I get wrong here!)
- Master (and octopus) are python3 only. Mgr modules are all python 3.
The only (known) remaining py2/py3 script in ceph.git (that users will
see) is /usr/bin/cephadm, which is designed to be 2/3 agnostic and run on
either version.
- We're only producing python bindings for rados/rgw/rbd/cephfs for
python 3 now. That means no more python-rados; only python3-rados.
- Master/octopus are centos8-only. There will be no centos7 server
packages for octopus. Likewise, there will be no nautilus or mimic
packages for centos8. It is not possible/practical to port our py2
dependencies forward or py3 dependencies backwards. That means:
- package-based upgrades will be tested on ubuntu only
- centos7 users will need to either simultaneously upgarde distro+ceph
or migrate to a containerized ceph (either cephadm or
ceph-ansible-deployed containers).
- Teuthology is still py2. Any tests that run stuff out of qa/tasks on
the host (e.g., vstart-runner) need to run on ubuntu 18.04 (which has
working versions of both py2 and py3).
- ceph-container is switching to a centos8 base. We're dropping
ceph-iscsi and nfs-ganesha from the (master/wip) images until those builds
are available.
- Any other random tests we came across that need py2 (e.g., s3-tests)
are pinned to ubuntu test nodes for the time being. Lots of catch-up to
do here.
Yay!
Big thanks to Alfredo, David, Ken, and the rest of the team who have been
slaving away building packages for all of our py3 dependencies for
fedora and centos8! It was a lot of stuff:
https://copr.fedorainfracloud.org/coprs/ktdreyer/ceph-el8/packages/
sage