Authors:

Feature pages are design documents that developers have created while collaborating on oVirt.

Most of them are outdated, but provide historical design context.

They are not user documentation and should not be treated as such.

Documentation is available here.

Vdsm python3 compatibility

Summary

Python 3 is already 5 years old and the pioneering distributions such as Arch Linux have been running with it as default Python interpreter for quite some time. Soon the turn will come for Fedora, which is one of the community supported distributions of oVirt.

The goal of this page is to drive VDSM and it’s components to become a single codebase that supports:

  • Python-2.6 (Could probably be eventually dropped when we make the next major version).
  • Python-2.7
  • Python-3.3+

Instigator

  • Name: Antoni Segura Puimedon (APuimedo)
  • Email: apuimedo aT redhat.com

To help us achieve that, this page will keep links to some useful resources and a list of things ported and to port.

Useful resources

Status (Feel free to add components/dependencies that should be ported)

Name Dependency Component Description Completion
lib/vdsm 0 1 vdsm’s own library No
vdsm/netconf 0 1 vdsm’s network configurator package No
vdsm/storage 0 1 vdsm’s storage package No
vdsm 0 1 vdsm’s main code No
lib/vdsm/tool 0 1 vdsm’s utilities (mainly for command line) No
vdsClient 0 1 vdsm’s command line client No
python-ethtool 1 0 vdsm’s network dependency for setting/retrieving netlink and ioctl information. Patch submitted upstream (apuimedo)
python-nose 1 0 vdsm’s testing dependency. Yes
python-pep8 1 0 vdsm’s formatting checks build-dependency. Yes
python-pthreading 1 0 vdsm’s better threading. Yes (not necessary in Python3)
python-cpopen 1 0 vdsm’s better popen. Yes (not necessary in Python3)
python-inotify 1 0 - Has to be investigated
python-netaddr 1 0 - Has to be investigated
python-dmidecode 1 0 - Has to be investigated
python-argparse 1 0   Part of Python standard library since 3.2
libvirt bindings 1 0 vdsm’s libvirt wrapper dependency. Latest libvirt-python GIT version builds wrappers for both.
python-inotify 1 0 - Yes