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.
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.
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.
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.
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.
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.
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.
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.
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.