Green bubbles for python3-opsi

Green Bubbles for python3-opsi

This image on my screen created a huge smile on my face!

What does it mean?

The green color indicates that the packages could be installed and all unittests passed running with Python versions 3.5 and 3.6.

We now have a Python 3 compatible version of the library that opsi uses as far as our unittests go. There are still some tests that are being skipped but essential parts like file and mysql backends work. We also have a working BackendManager and it is possible to access the backends through it.

Not every part of the library is currently automatically tested and it is only realistic to say that there will be more things to port. However this is a very good starting point for further work!

What will follow?

The next step is creating a package that can be installed through apt / yum / zypper. I assume for some distributions this will also mean that we have to start packaging some of our dependencies.

If we have a package and therefore can easily install python3-opsi on a machine the next step is to start porting our applications. We have a range of commandline applications that all have to be ported to be running with Python 3. For most tools I assume only minor changes.

Probably the largest change will be opsiconfd. We do not only want to port it to Python 3, we are planning on switching our asynchronous framework from Twisted to Tornado. This means that a major rewrite is coming. For many opsi users this shouldn't come as a surprise. This has been on the table for some time and now it is finally happening.

What will change for users?

If everything works out as planned users will notice nothing after the change to Python 3.

Because we consider the change to Python 3 a major change in itself we plan on limiting changes to the necessary. There aren't currently any big plans on altering the (web) API so every application that makes use of it should work the same regardless what Python version is powering the service behind all that.

If you are using custom extensions or scripts there is a chance that these will have to be changed to suit the new library or Python version. For now most parts in OPSI (the Python module) stay as-is and can be used in the same way. With our eyes on the switch to Tornado there will be more changes and these could even radically change how things are done.

When will it be released?

There isn't a date on the horizon but once we have the impression that services and tools are running well there will be a release.