CFEngine 3.15 LTS beta released

Posted by:

18 Sep 2019

Today we are happy to announce the general availability of CFEngine 3.15.0 beta.

CFEngine 3.15 is our upcoming LTS (Long Term Support) release. The main focus of this release has been the new Federated Reporting feature. It also contains a lot of performance work and stability improvements.

You can download CFEngine 3.15 LTS beta here.

Beta program

CFEngine 3.15 is a beta release that is not generally supported, however, the quality is good and interesting new features are available. So, in order for all the new features to be of the best quality, we make it available to you to test already now. We appreciate all the feedback we can get on this beta release. If you test it, you can provide any and all feedback through a quick survey here. We are eagerly awaiting your feedback. You can also email us, or contact us through our webpage.

Feel free to read through the changelogs, and the release announcement to get a feel for it, and provide us with whatever feedback you have.

Notable changes in CFEngine 3.15.0 beta

A more in-depth description of what has changed in 3.15.0 beta can be found in the 3.15 changelogs.

Supported platforms

We recently conducted a Platform Survey (contribute here), and continuously analyze the download numbers to see what platforms are still being widely used and if some platforms are no longer as relevant to our users as they once were. We want to support as many platforms as possible, and try to keep all changes and new features compatible both with all supported and unsupported platforms. But maintaining support involves both a long term commitment as well as investments in HW, SW and time. For the 3.15 LTS series we, therefore, suggest dropping the support for the following platforms.

For the Enterprise Hub, we will drop support for

  • Ubuntu 14.04
  • Debian 7
  • RHEL 6

For the agent, we propose to drop the following platforms:

  • CentOS/RHEL 5
  • Debian 7

If you need continued support, please let us know, so we can discuss potential solutions or change our plans. We will add support for RHEL 8 and improve support for CoreOS. More information on the CFEngine 3.15 supported platforms page.

RHEL 8 support

We are happy to introduce proper support for Red Hat Enterprise Linux 8 already now. We worked with the Red Hat team and made sure that the SELinux settings make sense for CFEngine so that they will play well together. CentOS 8 is scheduled to be released during September, and we will make sure this also works well with CFEngine before the final release of CFEngine 3.15 LTS.

CoreOS support

While CFEngine has supported CoreOS for a while, we are now introducing a new and improved workflow. By packaging CFEngine as a file system image, we make it easier to install CFEngine onto the base operating system and maintain the CFEngine instance in CoreOS over time.

Mission Portal Performance

In 3.15 we bring a large set of performance improvements to the Mission Portal UI. The structure of many queries have been improved, as well as the loading of many of the default widgets. We have updated and refactored much of the underlying framework code, to make the dashboards a lot more responsive.

This will benefit all the users of the CFEngine Mission Portal. We have been doing extensive scale testing, as well as working with customers to identify bottlenecks and improve workflows. This means a lot, from the smaller architectures of only a few hundred hosts all the way to the largest ones that will use Mission Portal’s new Federated Reporting mode.

Federated Reporting

We introduced a preview of Federated Reporting in the previous non-LTS release, 3.14. Based on customer feedback, this has been improved and is now available in the CFEngine 3.15 LTS beta. This is a major new feature in CFEngine that will make consolidated reporting and management of a large scale infrastructure much simpler than it is today.

The size of the infrastructure under management with CFEngine vary from the quite small to the very large, and is commonly in the 10’s of thousands of servers and above. We keep providing and improving the best tools for this particular market Managing a quarter of a million servers with only one CFEngine policy writer, or managing around a million servers using CFEngine with a very minimal team of around 5-6 people are use cases that show the capability of CFEngine today.

We are working to ensure Mission Portal scales to their needs, and that they can fully utilize our reporting and inventory capabilities across the entire infrastructure, through a Single Pane of Glass.

The documentation (available here) will easily help you understand how to set it up and get started. If anything is unclear, please do not hesitate to get in touch with us, and we will explain it, as well as improve the documentation. You can also read more about this feature in the CFEngine 3.14 release blog post.

Stability and performance

As a Long Term Support release, we see stability as one of the main features. CFEngine is trusted by the community and our customers alike. In CFEngine 3.15 we are focusing on the code quality and stability of the product. We are working on tooling to better support issues relating to our state databases. Tools like the very helpful cf-check will make it easier to mitigate issues concerning state databases, as well as improve the ability of support to get to the root cause of issues more easily.

We continue to improve the score of CFEngine with the LGTM code quality database, to make sure the great quality stays high.

Timeline

We are eager to get the final version of this release into the hands of our customers. We are aiming for a release of the final version of CFEngine 3.15.0 LTS to happen during Q4 2019.

As always, our LTS releases are supported for 3 years. If you require a longer support timeframe, please get in touch with us, to discuss your options.

Improve CFEngine

Do you want to help improve CFEngine? Are you intrigued by how CFEngine achieves everything, what is going on under the hood? If you want to contribute features or fixes to the next set of releases we would warmly welcome that! The window for features is not closed for 3.15 yet, so don’t hesitate. We appreciate help with fixing potential bugs in the beta, improving the performance if there are any identified issues, or generally implementations of suggestions moving forward.

If you want to start contributing but are unsure how:

– Send documentation updates as pull requests to cfengine/documentation.
– Search for issues labeled easy that are good candidates for new contributors to cfengine/core.

You can also read through our contribution guidelines before you get started.

Nils Christian Roscher-Nielsen