Foreman Community Demo #109

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

Link to the livestream for our demo later

We go live soon!

Here is the much delayed transcript of last week’s demo.

I am making this a wiki so that you can clean up any of my mistakes.

Community Demo 109

Content View web UI updates @sajha

Samir demoed the addition of a cross-pages selection feature for adding repositories in the Foreman web UI.

You can also apply fiilters and your cross-page selections will be maintained.

Publish new button has been changed in the Foreman web UI.

Samir also mentioned how feedback has led them to rethink the location of the primary buttons. Previously, the primary buttons for each possible action was located in the upper-right of the web UI.

Samir also talked us through a bugfix. With the introduction of the new Content View UI, if you had added Errata to a filter, then removed the associated repository, the errata would also disappear. This has now been fixed and the Errata remain even if you remove the repository.

Host Details Page: Module Streams Updates @sajha

Filters have been added to the modules streams listing in the host details page. You have a range of options such as enabled and disabled, its installation status, etc.

Samir demoed how it is now possible to take actions from the module streams listing on the host details page. For example, you can select to enable, disable, and install module streams. Selecting this action will bring you to a jobs page where you can schedule the action.

Details tab on the host details page! @jeremylenz

A new tab has been added and is currently only available by enabling experimental lab.

At the moment, there is only one card. This will be extended in the near future.

Jeremy showed a mock up of everything that’s to come.

Let us know if there would be other cards that you would like to see on this tab!

Content view details card update @jeremylenz

They’ve added a kebab and with that you can change the lifecycle environment and Content View paths for your host.

Jeremy walked us through the workflow of changing a lifecycle environment and content view and explained how the lifecycle environment that you select loads the corresponding content views that have been published for that environment.

New Report Template @iballou

Ian demoed a new template.
Iterates over all of your hosts, looks at the “bound repositories” -what repositories your host can consume from.

Because the package count is using the ‘bound repositories’ - the report won’t just display what is available in the Library repo but the exact package count after filtering etc.

Ian demoed the generation of a report and an exported CSV of the hosts, the repositories they consume from, as well as the package counts.

Audit attribute descriptions @ezr-ondrej

Ondrej demoed a helpful command that he has added to foreman-rake audits. You can use the following command print out a full list of attributes with a description for each attribute:

foreman-rake audits:list_attributes

This can be useful if there are any terms that you do not understand.
At the moment, the descriptions of attributes are incomplete and dependent on future content from the documentation team.

per_page fix in taxonomies api call & reminder that per_page=all exists @MariaAga

per_page=all had not been working between organizations and location taxonomy.

But is now fixed and useful for anyone who wants to view all pages.

If you spot that per_page=all isn’t working somewhere, let Maria know!

Performance improvements with the move to httpd mpm_event module @wbclark

Historically, the Puppet Apache module has a default mods parameter
If set to true it adds a lot of modules by default.
It assumes that these are the most common Apache modules that people want to use with any service they want to deploy behind.
Not all are necessary to run Foreman/Katello.

There has been an effort effort to trim the list of Apache modules down to what is necessary and check are there any issues by enabling only the modules we need and checking, as well as allowing a mechanism so that users can enable extra modules if they want.

Technically, Foreman and Katello perform better with with Apache’s mpm_event but they hadn’t been because the particular Apache version had bugs with mpm_event that made it unsuitable even though it was expected to be more performant.

William demoed the existing load, the ratio of workers versus threads, and memory usage so that we could compare with what has now been added to nightly.

On nightly, there’s a much shorter list of Apache modules enabled by default.
If for any reason you want to enable other modules, you can go to apache:default_mods in the custom-hiera.yml file, you can pass in there any modules you want to add in YAML format.

On nightly, Foreman/Katello is now working with mpm_event
Now there are only three Apache workers with 37 threads.
Foreman/Katello is now working more efficiently, using less memory.
The threads are able to share memory.

In the new configuration, there are so many extra threads using less memory that there is an entire extra worker available. The minimum idle threads is set so that there is always an extra worker running. This means that there is a worker ready to handle new incoming requests while the original worker shuts down.

REX Smart Proxy feature rename and friends @aruzicka

Adam explained that there was a need for a syntax update regarding the use of SSH in remote execution.
Historically, remote execution was provided only by SSH. This meant that the term SSH ended up everywhere in project names, package names etc.

The provider inside REX will be renamed from ssh to script.
The ssh proxy feature will be renamed to script.
All mentions of ssh in the installer will be renamed to script.

REX Pull provide @aruzicka

Pull provider is available in nightly builds and is installable, but one has to know what they are doing while setting it up.
There are some manual steps that are needed
More improvments are coming.

Fixed: Adding host parameters clears the values of the prior line @Ron_Lavi

Ron demoed a fix for a very annoying bug that was reported throughout the community in the last few weeks, where if you added a host parameter, it cleared the value of the previous line.

Removal of reports deprecation warning @Ron_Lavi

Ron confirms that the migrating reports warning has been removed due to the fact that it is no longer deprecated as work did not complete on the new reports plugin because of low capacity.

A lot of work was done on the new reports plugin, and if anyone would like to help contribute to its completion, they are welcome to.

[feedback-needed] Foreman core new reports tab @Ron_Lavi

Ron also requested more feedback for the new reports web UI. Since the demo, this design has been finalised and you can see what they decided on here.

1 Like