New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Python 3 compatibility of Ceph CLI #9702
Conversation
Signed-off-by: Oleh Prypin <oleh@pryp.in>
Signed-off-by: Oleh Prypin <oleh@pryp.in>
Signed-off-by: Oleh Prypin <oleh@pryp.in>
Signed-off-by: Oleh Prypin <oleh@pryp.in>
What happened to the check? I don't see what went wrong from the output. |
The check failure is unrelated - it's one that snuck in recently and appears in the bot sometimes but has eluded manual reproduction so far. |
The changes look good, nice and straightforward. Pushed to wip-ceph-argparse-py3 and will run that through the rados suite once it's built. |
Don't merge yet, I've discovered other needed changes when porting the |
alright, sounds like a good idea to make a larger pr since the ceph_argparse tests don't cover as much as the cli tests do |
I continued in this pull request. This QA suite finished successfully for me, ran like this (from src): $ PATH="$PATH:$(readlink -f .)" PYTHON=python3 ../qa/workunits/cephtool/test.sh --asok-does-not-need-root This needs a fresh vstart environment It doesn't work from just the default environment, because it also needs rados and cephfs bindings built for Python 3 specifically (I put their .py/.so files right inside pybind but there is probably a better way). |
Signed-off-by: Oleh Prypin <oleh@pryp.in>
Signed-off-by: Oleh Prypin <oleh@pryp.in>
lgtm, as discussed on irc we can merge this now since it doesn't break python 2, and fix any remaining python3 issues once we get python3 integration tests working |
This replaces tabs with whitespace, fixes syntax and builtins (most controversial change would be
.iteritems()
->.items()
but should be fine).There was also one bug with the validity check that was undetected on Python 2.
Compatibility down to Python 2.6 remains.