Foreman Community Demo #103

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

Looks like I will be hosting the demo. The Google Meet link is:

In case I won’t show up, just start without me :slight_smile:



I would like to build a test environment for install Debian 11 desktop VM’s using foreman. Could any one please share the setup guide/documents for this.

Thanks in advance,

Can you please create your own topic @Prasanth - this is a thread to organise our demo.
Please open a new topic under support category!

This demo takes place tomorrow.
Please sign up!

This takes place in a few hours, with special guest host @lzap at the helm.
It’s not too late to sign up!

1 Like

Amir called he might not get to his laptop on time, anyone is able to show his changes instead?

I was able to set Foreman up and I can show Amir’s work if he won’t make it. No problems. See you in 20 minutes!

1 Like

Presenters, please join me at

See you there. The session will be recorded, but not streamed.

I am late, but better late than never. I mentioned in a previous post Improvements to the Community Demo that I wanted to include summaries after the demos. Here is the first attempt at that.

I have timestamped the demos both on YouTube and in this thread, and here is a roundup of the demo.

I am also going to make this page a wiki, as I am sure that there are times when some points will need to be clarified by someone who knows better, so feel free to step in.

Demo 103 Roundup


Updates to the new host details page.

There is a new Build button that, when clicked, reveals a new modal dialog box for managing host builds.
A BMC card has also been added to the host details page. From there, you can open a dialog box that provides options for power management within the host details page.

Host Details Page - New PF4 Searchbar

This demos starts with a summary of the challenges to introducing the Patternfly 4 Searchbar when many of the components of the Foreman web UI were still bootstrap.
The introduction of the Patternfly 4 Searchbar in the Foreman web UI provides a more modern search experience.

Host details page - Insights tab.

If you have RHEL systems and a Red Hat cloud subscription, you can add your RH-cloud credentials and then use the Insights tab to view information about your hosts that comes from Red Hat Insights and remediate issues found on the hosts.
From the Insights page in Foreman, you can trigger an Insights sync to pull all this data into the host details page. This tab also has a search bar so that you can filter the lists of hosts.
You can review the information, select specific hosts and remediate from the Foreman web UI.
From this Insights tab, when you click Remediate for a selection of hosts, you are redirected to the Job Invocations page.
However, there are plans to improve the job invocation experience in future releases.

Ron also demoed how to sync Insights to Foreman and upload to Red Hat Inventory.

Ansible tab on the host details page

There is a new Ansible tab on the host details page.
It has a number of sub-tabs that you can use to view and manage Ansible configuration settings for host management.
In the roles sub-tab, you can view the roles that are assigned to a particular host.
If you click Edit Roles, a dialog box opens and from there you can add and remove, as well as change the order of the roles as they apply to the host.
You can also view roles that are inherited from a hostgroup.
In the Variables sub-tab, you can find all of the variables that come from the assigned roles. You can also see the value that has been assigned to each variable. As well as this, you can also update the variable values from here.

You can schedule a recurring job from this tab also.

New Cron job for audit cleanup in Foreman

Audits page in Foreman gives admins a quick overview of all of the changes that happened in Foreman. However, this quickly becomes noisy on larger Foreman deployments. This problem is solved by the Audits cleanup task but up until now, you had to perform it manually or define your own cronjob rule. Foreman now comes with defined rule to perform this task. To use this rule, all you need is to define amount of days of audits you want to store at Administer -> General -> Saved Audit Interval . This is best solution for because everybody has different needs and there is no “right” default amount of audits to store. This settings comes with empty value by default so your audits are retained indefinitely. You can also still perform this task in manual manner but we recommend use it with ‘days’ parameter.

Katello: UI for listing generic content units at repository level + removal

As part of an ongoing effort to make it easier to add different content types in Katello, there has been a lot of work around adding generic content types. With this update, the information about generic content types is automatically included in their repositories. You can expand the content type to view the packages, and manage the content.

Katello OSTree Content Support

This demo gave an overview of what OSTree Content support is currently available.
The demo included creating an OSTree product. This is again building on the work done around adding generic content types.
OSTree content is synched from a URL (Pulp fixtures URL) to a Product in Katello.
In the actual release, Katello should also have the changes in the previous demo so that as the content syncs, the content type OSTree and the count should appear.

Katello: Ansible collections UI

In much the same way you have seen earlier demos of adding generic content types to Katello, this demo showed how you can view and manage Ansible content with Katello.

CV names in alert when trying to delete repo

If you wanted to delete a repository that was part of a Content View, you received an error that the repository was part of a Content View. If you wanted to proceed with deleting the repository, that meant figuring out which Content View to contain the repository before you could proceed. With this update, the exact Content Views that contain the repository are displayed as part of the message. As well as
this, the delete action is a force delete, which means you can just proceed and delete what you want.

Content View organization selection

Content Views have the requirement to be part of an organization by default.
If you try to navigate to a Content View without having first selected an organization, with this change you get redirected to the organization selector where you must select an organization first.

Saving Bookmarks of search criteria for Content Views.

There’s a new Bookmark icon beside the Content View search bar that if you click displays previously saved search criteria and also a button that allows you to quickly save Content View searches for future use.

Bugfix for UI highlighting when building search criteria

Previously, when you were building search criteria in the Content View search bar and using arrows to move through different options offered by autocomplete, there was no UI highlighting to correspond with the search item as you interacted with it. This might have caused disorientation for some users. With this fix, whichever item you are moving through is highlighted to make it clear which item you are selecting.

Apache configuration changes for content proxy

(This is a hard one for @mcorr to get right - feel free to add to this @wbclark )

The desired end-state is to allow for host registration through content proxy via port 443 to have a unified method of registering regardless of whether registration is to a smart proxy or Katello.
This demo discussed the many challenges to having smart proxies register hosts over port 8443.
With the changes implemented:

  • The complete reverse proxy still exists on 8443 by default.
  • A new Apache configuration for virtual host on port 443 sends RHSM traffic to Katello primary server.
  • In the future, the 8443 reverse proxy will be disabled by default. You should re-configure your content hosts to use 443 instead for subscription access via a content proxy.

The demo gives a full overview of the updates to the Apache configuration.


Fantastic summary of my demo, @mcorr … thank you! I added a single bullet point about preparing for the future when 443 only is the default. I’ll expand on that a bit further below:

Reconfiguring content hosts which register through a content proxy can be achieved by re-installing the bootstrap RPM on those content hosts (it will update the configuration of /etc/rhsm/rhsm.conf) or by executing

# sed -i.8443 's/^port = 8443/port = 443/g' /etc/rhsm/rhsm.conf

Whether updating the bootstrap RPM or editing rhsm.conf, it is recommended to use remote execution / ansible to parallelize.

In the future when 8443 proxying is disabled on content proxies, content hosts that have not had their configuration updated will be unable to update their subscriptions or access content requiring a subscription until they are reconfigured to use 443.

When 8443 is disabled, users who rely on the full proxying of / via 8443 for other purposes such as accessing the primary server (API, WebUI, hammer) within a datacenter that only has access via the content proxy, will be able to enable this feature on 443 using the installer option --foreman-proxy-content-reverse-proxy-port 443

1 Like