The Kolab Weekly

This week in the Kolab universe … euh, I don’t know precisely. I was not in the office for most of the week, consulting a customer on-site, so I can only mention some things and might end up glancing over others;

Unified, Shorter Sprints

Our sprints are now unified, meaning that the desktop client, server and web team are in the same sprint. We feel this facilitates a better experience for the end-result of the software development projects involved.

The sprints are also shorter — this enforces a release early and often paradigm, and promotes participation in a very early feedback cycle, so that minor adjustments can be negotiated.

No retrospective this week

I’m working from home today, as I have not seen my family the past week — I have mentioned I was on-site with a customer.

This has been a significant interruption to my participation in the sprint, and has not allowed me to complete the merge window in time either.

The new Hub is used as a support platform

Not unlike before with the mailing lists, the new forum for Kolab is being used to report issues with Kolab.

I would like people to know that reporting issues on a mailing list or a forum only spawns a conversation about the bug. From where I’m sitting, they won’t get resolved and I go, “Yeah, that sucks.”

Issues need to be reported on our development platform. For your convenience, I have created a form to use to report bugs.

When things like Guam, certainly in Winterfell, do not work, the answer is to write better tests.

SELinux must not be enforcing

While our new processes encourage developers to get code reviewed — which I’m adhering to in this case, and therefore T992 is pending review, Kolab will require SELinux to not enforce any policy.

ClamAV might actually run

Another ticket for which the resolution is pending review is T997. This fix is supposed to test /usr/lib/systemd/system/clamd@.service for the needed [Install] section, and if it is not there, add it and write it out to /etc/systemd/system/clamd@.service, so that the systemctl enable and systemctl start commands succeed.

Why not just “dnf install kube”

I’ve enabled very early delivery for Kube, albeit it not yet be under continuous delivery. Read my previous blog post for details.

Bear in mind Kube does not yet perform anything useful. The development for it is at the stage where the resolutions to some of the biggest questions we can see rise on the horizon are being prototyped. That being said, it is fun to have something to look at (and functional software to show for is required for a useful retrospective).

We now know the complete build-time and run-time dependencies of Kube and can deliver those as would your favorite Linux distribution (if it weren’t for T1018). We can therefore, using continuous integration, red-flag new dependencies being introduced. We can work to further reduce dependencies if they simply make no sense. We can go upstream and talk about the release schedules for these few components we are left with, so that there KDE Frameworks libraries do not get bumped the version of for no reason simply because it is that time of the month.

Unit Testing to become Unit Testing

PyKolab is one of the most important components of Kolab, but it’s unit testing has failed for CentOS 7 Docker containers over the past. I’m working to resolve this by rewriting the way stuff’s tested, most importantly by ensuring that each individual test starts out in the desired state. There’s been some use of globals that needs to go away, and we need to guide testing by coverage (including garbage in testing).