Foreman Community Demo #111

Every few weeks we host a Community Demo to showcase new & interesting developments from the Foreman community. We encourage participation from any member of the community (although you do need a Google account), so if you’ve been working on something cool, please do come show it off.

This post is a wiki, so if you have something to show, add yourself to this table!

Expected In

We’ve added a new column to indicate the release in which community members might expect the feature that is being demoed to appear. This column should be taken as a guide rather than gospel. Unforeseen circumstances might drag a feature out a release or two. The best way to know for sure what is in a release is to check out the release announcement! :slight_smile:

If you have any feedback about the change to the format, feel free to comment here :slight_smile:

Depending on where it would be a better fit, please add yourself to one of the following tables:

Foreman user-focused demos

Foreman developer-focused demos

Speaker Time Topic Redmine issue Expected in version
1 Like

The demo is tomorrow… can you please sign up ?

Link to the livestream tomorrow: Foreman Community Demo #110 - YouTube

If you want to join the conversation, you can do so here:

We go live in just over an hour with the demo!

Here is a written summary of the demo.

This is a wiki page, so if I have misrepresented anything, please update it.

If you have any questions or comments related to any of the demos, please feel free to ask questions below or open a new thread here to provide feedback. Many of the items demoed here come from user feedback that has now been implemented to improve the overall user experience.

Traces UI improvements @jeremylenz

Jeremy demoed a UX improvement to enabling Traces on the host details page

Traces help sys administrators identify applications that need to be restarted after system patching.

If you navigated to the Traces tab and then clicked enable traces, this installs the katello-host-tools-tracer package. The usability issue arose when you closed the dialog box, and would be confronted with the same message telling you to enable traces even though you had just enabled them. This caused user confusion and a usability study was conducted to improve this.

Jeremy demoed the result, which replaces the old UI with a loading interface where you can watch the process of the enablement action.

You also now get a toast notification that lingers until traces are enabled.

After traces are enabled, the traces are pulled into the web UI. This is achieved through a remote execution job that checks at regular intervals until it can report that it is complete

As a result of this, Jeremy realised that there are several places where this can be of benefit, for example, in the content tab, there are several remote execution jobs that run. He demoed removing a package that now has a toast displaying the message that the removal is in progress, so that users can better orient themselves.

Revert “Component content view” to “Content view” @sajha

Samir talked about the confusion that the introduction of Component Content View caused. The Katello team had introduced this term to represent a content view that contains only repositories. As opposed to a composite content view that contains several other content views.

They reverted this change and have returned to the name Content View. They’ve added tool tips to clarify what exactly a Content View is to avoid any possible confusion.

While component content view has been removed from the web UI, it still lingers on in the hammer CLI and also the API but this will be removed at a later stage.

Index software vendor for installed packages @sajha

Samir also demoed an update to the Content tab of the host details page. Now, you can filter installed packages by vendor.
To do this, navigate to the Content tab, then the Packages sub-tab, and from the search filter options, select vendor.

Alternate Content Sources UI @sajha

The update to the alternate content sources UI lives under Lab

Samir also talked about an update to the Alternate Content Sources web UI. This update is currently only available under Lab Features.

You can now refresh Alternate Content Sources from the web UI.

Alternate Content Sources have also been added for Audits.
If you navigate to the Audits page, you can refresh and find audit records related to the creating and updating of alternate content sources.

UI changes to Any Organization and Any Location @nofaralfasi

Organization and location context can cause a lot of confusion to users unfamiliar with Foreman. @maximiliankolb even created a separate Foreman guide to introduce and explain organizations and locations in a contained way to aid understanding in this area.

To further improve understanding of the importance of getting the context right, Nofar demoed changes to the way Any Organization and Any Location titles are rendered in the web UI in order to emphasis their special status and importance. Restrictions have also been added to prevent users from creating organizations and locations with the name Any Organization and Any Location. Even if you add a name that slightly resembles these names, there are visual indications to ensure a separation of a label you create and the original defaults.

At the moment, this feature only works for versions of Foreman set to English language.

Please let us know what you think and if you would like to see this validation in other languages.

Creating a host directly from a host group @nofaralfasi

Nofar also demoed another new feature that you can use to create a host from a host group.
If you navigate to the Host Groups page, from the Actions list on a host group, you can now select create host. When you select host, it opens a create host form with all the values prepopulated based on the host group.

This will be available from Foreman 3.4 onwards.

REX preflight checks and improved logging @aruzicka

In remote execution, net/ssh served its use cases for a long time, but it had some minor usability issues. It had cryptic error messages, no observability from the outside. Everything happened within a single process unless you exposed something explicity.

The main reason for moving away from this method was because net/ssh required pinning to an extremely old version of net/ssh.
Remote execution using net/ssh started to be difficult because new operating systems stopped older cyphers from being used.

The move away from this started with the change to system ssh in Foreman 3.1
This had s ome advantages, which included gaining the ability to run REX jobs on machines running on FIPS mode.
However, there were even more cryptic error messages and only slightly better observability from outside.

This change also broke some things.

Before with net/ssh, you could provide a passphrase and password. We lost hte ability to do this.

Authentication errors were reduced to vague error messages that gave no indication of the problem - a terrible user experience especially for those new to remote execution. The underlying theme is that it was hard to know what it was doing and why. It was hard to reproduce on its own. Users were trying to patch to try and diagnose what was going on.

Now, preflight checks have been added.
This includes a small script that exits successfully when you run it.
Before we run the job, the preflight script runs and can help diagnose issues.

Adam demoed how you can use the preflight error output combined with the logs to analyse and narrow down the possible issues.

On the debug log level, the exact commands that have been run are now printed to help you isolate the stage where the error occurred.
You can look at the log, copy the commands out and through trial and error, isolate the issue.

The ability to use password and key passphrase has also been restored.

If you have a key protected by a passphrase, we check for this before we try to run it. If there’s no passphrase, it won’t be usable. We tried to generate more sound error messages based on these checks that point to what has been tried when the failure occurs.

New HW properties card @cintrix84

As part of the work to improve the new host details page, Chris talked about an additional card that can be found in the “Details” tab.

This Hardware card displays information about the operating system, provisioning method, as well as available disks, sockets etc. If information is not available to Foreman, the field is hidden.

1 Like