← Back to team overview

maas-devel team mailing list archive

MAAS is now Python 3

 

Weighing in at a sprightly 152564 lines of diff.

>From now, if you wish to develop MAAS trunk you will need to be
running Xenial with ppa:maas-maintainers/experimental3. The latter's
packages are making their way into Xenial proper so that PPA will be
dropped in the fullness of time.

I will write about the experience and what we learned separately. This
message is just about getting everyone up and running with MAAS in
Python 3.

Existing branches must be fully cleaned (`make clean`) and rebuilt
after merging from trunk.

Dependencies also need to be updated (`make install-dependencies`).

Unit tests all pass, with the exception of those that require
node/npm. Node.js and/or npm have recently broken in Xenial or so it
seems. We decided to disable those tests for now so we could land, but
we'll reenable them as soon as nodejs/npm is fixed.

buildout is still a little finicky about using system packages, so you
may find that it downloads and builds psycopg2 even though the correct
version has already been installed by apt and is discoverable via
pkg_resources. Please file bugs if you notice buildout ignoring any
other system-installed dependencies.

MAAS depends on Python 3.5, will not run on any earlier version, and
there are no plans to make it. This means you can develop using any
feature that's in Python 3.5.

Finally: do not expect trunk MAAS to actually work In Real Life quite
yet. Getting the unit tests passing was the first and biggest step,
but I am certain we will have bugs related to this change. We're
working on finding those bugs as of now.

Have a good weekend everyone.

Gavin.


Follow ups