Foreman Community Demo #104

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!

2021 Format Change

We want to pilot a change to the format of the community demo. In the same event, we’d like to split the demos into two categories. We’d like to trial grouping demos that are of interest to Foreman users together, followed-by demos that are of interest to Foreman developers. Depending on which is best, I will either split the recording or add chapters etc, whichever makes most sense.

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
@ezr-ondrej 5 min Rails 6.1 & plugin maintenance RM#28570, RM#29991 3.2

This takes place in one week.
Sign up, please :slight_smile:

The last community demo of 2021 takes place this Thursday.
Sign up!

The demo is tomorrow.
Please sign up now!

There will be no livestream because of technical problems here!
I will share a meet link!


Here is the link to our meet

Foreman Community Demo #104 roundup

Automating Preparation for Convert2RHEL data

Leos demoed a new Ansible role that you can use to automate the process of preparing the data for converting Centos and Oracle Linux servers to RHEL. This prepares automates all of the preparation for the conversion. This role uploads the manifests, prepares the repositories, creates products, creates hostgroups to share the configuration across hosts, and sets up activation keys.

Leos showed us the composition of the Ansible role, the steps it progresses through and how you can skip any that are irrelevant to your deployment, for example, users might already have the relevant manifest that they want to use uploaded.

Once you run this Ansible role, everything is prepared for you to begin converting Centos and Oracle Linux hosts to RHEL.

Root password inheritance between hosts and hostgroups

When a host is provisioned in Foreman, a root password is set for the new host. The root password can be set in a number of places. It can be set on Administer > Settings, at a Host Group level, and also in an individual form for creating a host, under the operating system tab.

There was a problem in Foreman in which if the root password was set for a host and then the host was rebuild with a new host group with a different password, the new root password as specified on a host group level was not by the host. It maintained the previous root password.

Now, when you go to build a host in Foreman, you can see a note beside the root password that it is being inherited from a host group.

Interactive recommendations chart - Total Risk

Ron talks about a further extension to the host details page.

When you have a host that is fully synced with the Red Hat Cloud, you can get recommendations of how to fix that host.

Question for everyone: does the graph look clickable? The point of this graph is not only to display information but to be interactive. If you click on elements of the graph, it will bring you to the relevant part of the Insights tab.

On the Insights tab, you can search for the type of risk.

You can then select one, more, or all items, and then click Remediate. From there, you are brought to a job invocation page to initiate a remote execution job. Once you start the job, your hosts will be updated.

From the Insights tab, you can look at specific recommendations. You can read about these further on Red Hat Cloud page.

New host Errata - Filter by type & severity

On the brand new Errata page, a new drop-down list has been added with which you can now filter the list of Errata by type and severity.

The new Errata web UI has also been updated to facilitate the Select All action. It is now possible to select all errata and apply them using remote execution.

Repository sets

You can now see the repository sets that are available to each host. You can enable and disable the repositories.

If your host is subscribed to a particular Content View and Lifecycle environment, the default repository set is limited to the repositories that are specifically available to that host. However, you also have the option to show all.

As a user, I should be able to restrict a custom repository to RHEL 9

Justin demoes that within a Product, and you’re preparing to add repositories to that product, you now have the ability to restrict the repositories by operating system.

Justin demos an epel product that he has created that has two sets of repositories, one for rhel 8 and another for rhel 9.

Under Sync Settings, he uses the Restrict to Architecture list to include only RHEL 8 for his RHEL 8 repo, and RHEL 9 for his RHEL 9 repo.

OSTree repositories and content are synced to external smart proxies

Justin demoes a published Content View Version with an ostree repository added to the content view.

There’s a smart proxy that is assigned to the production environment.
He promotes the content view to the Production environment.
Justin shows how you can browse on your Katello server or Smart Proxy /pulp/content

After the Content View has been promoted, the OStree repository has now been synced to the Smart Proxy.

OSTree Content Upload via Hammer CLI

James demoed uploading OSTree content repositories via the Hammer CLI. There’s a parameter added to specify the OSTree repository name.

The versions are the hash sums of the OSTree commits.

OSTree Content View Publishing

Ian demoes adding OSTree repositories to an existing Content View.
He then publishes a Content View version with the OSTree repositories included.

Rails 6.1

Ondra talks through and hosts a bit of a discussion about it.