Foreman 3.0 crams Puppet ENC into plugin, takes steps towards better UX

Foreman 3.0

Server lifecycle management project Foreman recently saw its third major release, which provides users with a couple of changes that should align the tool somewhat closer with their actual workflow. 

Amongst the main features of version 3.0 is a still experimental reimagining of the UI’s host detail page. Instead of admins having to click through tabs to get more information about a given host, those details are now readily available on the main host page, along with a central indicator of its status and the usual audit and job data. Users interested in this kind of display can activate the new host page by setting the “Show Experimental Labs” setting in the generic administration settings to yes and selecting “New Details Page” from the host’s dropdown action button. 

A couple of things — such as the edit button and the menu next to it — still don’t work as intended, and having the option to customise the page would make the new UI even more useful, but it surely is a good first step towards making the page more user-friendly. The Foreman team also promised to get rid of the malfunctions mentioned in version 3.0.1 and asked for additional feedback on the new details page, so users have a good chance of getting their submitted issues fixed quickly if they start testing soon.

Another major change in 3.0 is the extraction of the Puppet external node classification (ENC) functionality into its own plugin. This is especially noteworthy, since Foreman was initially developed as an ENC for Puppet, before being extended to work with Ansible, Chef, and other tools as well, but also not too surprising given that the top Foreman contributors work for Ansible purveyor Red Hat. The new plugin is by default installed on upgrades and fresh installs, though this is about to change with v3.1. 

While it feels like Puppet is being moved to the sidelines, Ansible, Chef, Salt, and Subscription Manager get drawn in a bit more, since the Foreman team has decided to move the fact parsers for those tools into the core of the software. Like that, facts (information about things like the machine a tool runs on, its OS and networking) from these projects can be uploaded to Foreman without the associated plugin installed. According to the documentation, this move is going to make Foreman easier to extend and faster in the long run.

To give organisations working with CentOS 8 the chance to use Kerberos authentication, the installer in v3.0 now deploys mod_auth_gssapi instead of mod_auth_kerb when setting the foreman-ipa-authentication option to true. This is also hoped to make things easier for Debian and Ubuntu users. 

Other helpful bits and pieces included in the release are a user notification once a report has been generated, and a merge-option for variables of type “yaml”. Users should be aware however that Foreman 3.0 deprecated support for running on Ubuntu 18.04, so the new version might not always be an option, and that Debian packages are now signed with a new key. For old templates it’s also important to know that macros host_param_true? and host_param_false? changed the meaning of the default_value parameter. More information can be found in the release notes.