1. Headline Features
1.1. Improvements and additions to the new Host Details page
The new Host Details page is no longer experimental, although it is still not the default one. One can change Settings
→ New hosts details UI
to Yes to make it the default option. There are few new tabs added on this page,
1.1.1. Insights tab
The recommendations are available for the hosts in the Insights tab when using RHEL with a Red Hat cloud subscription. It is feasible to begin remediation for the suggested remedies (if any are available).
1.1.2. Ansible tab
It has the ability to manage Ansible roles and variables. The recurring jobs for the host can also be scheduled from the Ansible tab.
1.2. Descriptions for all of the provisioning templates
Over a hundred new descriptions have been added to provisioning templates, snippets, and scripts to assist users understand particular usage and use them in an effective manner.
1.3. New purge:puppet rake task
If you don’t intend to use the Puppet ENC functionality then this rake task can be used to purge Environments, Puppetclasses, Smartclass parameters and Config groups.
1.4. Cron job to clean old Audits
A new cron job has been introduced to purge the old Audits on a daily basis. The new Saved audits interval
setting allows you to specify the number of days you want to save Audits for.
2. Upgrade Warnings
2.1. Running Foreman on Ubuntu 18.04 dropped
Foreman 2.5 introduced support to run on Ubuntu 20.04. Foreman 3.0 deprecated support for running on Ubuntu 18.04 and Foreman 3.1 drops it. Users are encouraged to upgrade to Ubuntu 20.04 either on Foreman 2.5 or 3.0.
Note that this is only support to run Foreman and Foreman Proxy themselves on Ubuntu 18.04. Managing Ubuntu 18.04 systems remains supported. See the RFC for more information.
3. Deprecations
3.1. The :unattended
Setting has been deprecated
Historically Foreman has supported the :unattended
setting in settings.yaml
. Setting it to false
is barely tested and has seen various regressions because of that. This setting will be removed in the future and Foreman will behave as if it’s set to true
.
The host registration feature can be used to register hosts on Foreman for the sole purpose of an inventory. Refer to the removal RFC for more information.
3.2. Running Foreman on EL7
Foreman 2.1 introduced EL8 support and Katello 4.0 (on Foreman 2.4) followed. While it’s currently undecided when EL7 support will be dropped exactly, this is an early notice given the considerable number of EL7 deployments. For fresh installations, EL8 should considered the preferred target. Existing installations should start thinking about a migration plan.
Note that this is only support to run Foreman and Foreman Proxy themselves on EL7. Managing EL7 systems remains supported. See the RFC for more information.
4. Foreman 3.1.3
A full list of changes is available via Redmine
4.1. Foreman
4.1.1. JavaScript stack
-
Adding the host parameters clears the values of the prior line - #34747
4.1.2. Host registration
-
The registration database migration could fail when template is not available - #34661
4.1.3. Security
-
Settings defined by DSL are not properly encrypted - #34573
4.1.4. Inventory
-
The Submit button on a host form redirects to an invalid page - #34572
4.1.5. Web Interface
-
Add pagelet mountpoints for hosts list table - #34543
4.1.6. Templates
-
Ensure that the insights snippet is being called by honoring the value of host_registration_insights parameter - #34525
4.2. Installer
-
Installer does not restart foreman.service when changing Puma configuration - #34824
4.3. Packaging
4.3.1. Debian/Ubuntu
-
Updates oauth Gem installed by puppet-agent-oauth under Debian to a newer version (0.5.1 produces lots of warnings about URI.escape) - #34681
4.4. SELinux
4.4.1. Plugins
-
Syncing the git templates on RHEL8 raise SElinux errors - #34726
4.5. Smart Proxy
-
Set the MALLOC_ARENA_MAX variable to counter memory bloating in production environments - #34624
5. Foreman 3.1.2
A full list of changes is available via Redmine
5.1. Foreman
5.1.1. Organizations and Locations
-
Organization context fails to change in web UI - #34416
5.1.2. API
-
Change example for --order - #34381
5.1.4. Host creation
-
Host form redirect does not work for unmanaged host - #34371
5.1.5. Facts
-
Fix IPv6 support in rhsm fact facter - #34330
5.2. Installer
5.2.1. foreman-installer script
-
run foreman-rake upgrade:run only conditionally - #34440
5.2.2. Foreman modules
-
Dynflow doesnt properly come back if the DB is unavailable for a brief period of timet properly come back if the DB is unavailable for a brief period of time - #34394
-
Create the Pulp group as system group - #34379
-
Candlepin errors when using an encrypted key generated with genpkey or on a FIPS enabled machine - #34189
5.3. Smart Proxy
5.3.1. DHCP
-
DHCP error with wrong number of arguments for validate_supported_address - #34359
6. Foreman 3.1.1
A full list of changes is available via Redmine
6.1. Foreman
6.1.2. Templates
-
upgrade fails during db:seed with ActiveRecord::RecordNotDestroyed: Failed to destroy the record - #34299
-
More Anaconda kernel boot parameters without inst.' prefix template changesinst. prefix template changes prefix template changes - #34265
-
Puppet aio detection is broken in Foreman 3.1 provisioning templates, PR#8899 is full of typos - #34214
-
is_true? & is_false? template helpers - #34213
-
Include Tower extra vars feature when calling the API callback - #33942
6.1.5. Audit Log
-
Recent audits card in new host page is missing username - #34223
6.1.6. Packaging
-
Pin psych < 4 - #34212
6.1.8. Monitoring
-
Report disallowed metric labels as "other" - #34122
6.1.9. Facts
-
New OS created due to facts mismatch for operatingsystem for RHSM, Puppet and Ansible - #33981
6.2. Installer
6.2.1. Foreman modules
-
[Custom Certs] - Failed to install the custom certs on Katello 4.3, works on 4.1 - #34317
-
Seed may not be triggered after migration - #34308
-
support KEEP_CHANGELOG_LIMIT option with pulpcore - #34298
-
Katello 4.2 to 4.3 upgrade doesnt trigger apipie:cache:index, breaking some new hammer commandst trigger apipie:cache:index, breaking some new hammer commands - #34161
6.3. Smart Proxy
6.3.1. DNS
-
Windows DNSCMD no implicit conversion of nil into String - #34226
7. Foreman 3.1.0
A full list of changes is available via Redmine
7.1. Foreman
7.1.2. Templates
-
Rename enable-puppetlabs-puppetX-repo to enable-puppetofficial-puppetX-repo - #34088
-
Add current date macro - #33907
-
Job Invocation - demodulize resource type for permission - #33853
-
Package manager snippet - #33695
-
Remove CentOS 8 AppStream kickstart workaround - #33680
-
Optionally use ignoredisk in kickstart default partition template - #33666
-
Rename UNDI iPXE filename to end with zero - #33584
-
Unlocking a locked template does nothing - #33570
-
Prepare Kickstart for RHEL 9 provisioning - #33566
-
Provisioning of EL no longer writes to tty3 - #33426
-
Add support for all RHEL derivatives in Content Host Registration - #33408
-
service network restart on EL8 doesnt workt work - #33092
-
Provide a description for shipped provisioning templates - #33034
-
AutoYaST iPXE should support static networking - #32937
-
Resource template input for job templates - #32822
-
include repo support for puppet 7 in provisioning snippets - #32602
-
save_to_file() in templates cuts off last end of line - #32461
-
Add ksvalidator and grub2 script checks to jenkins suite - #31947
-
Extract Environment from TemplateCombination model - #31732
-
Add eject cdrom snippet and call it from preseed finish script - #31454
7.1.3. JavaScript stack
-
Webpack cant find loaders for plugins in productiont find loaders for plugins in production - #34086
-
Host details active tab not set correctly when tab name contains spaces - #33894
-
The new host detail page allows me to build the host even if I have view only permissions - #33872
-
Host details page needs some integration tests - #33833
-
foreman-develop-package-release fails after removing react-intl - #33800
-
Update pf4 to 4.162.2 - #33758
-
Rename the link to old UI of Host detail - #33742
-
Refactor ToastsList to use slice pattern - #33690
-
remove snapshot testing from pf4 bookmarks - #33675
-
update Audits and Models pages buttons to pf4 after searchbar styles changed to PF4 - #33635
-
Toast type in errorToast is incorrect - #33514
-
Use gray background only for overview tab on Host detail page - #33423
-
Simplify ForemanSwitcher - #33416
-
Slot&Fill reducer doesnt remove a fill from the store after unregisteringt remove a fill from the store after unregistering - #33405
-
Toast message is hidden - #33316
-
Fix Nightly React test failures - #33265
-
Add React error boundaries - #33026
-
Add confirmation modal service - #32880
-
Add PF4 Searchbar - #32750
-
Make tabs on new Host detail page routable - #32398
-
Add action items dropdown extension mechanism in host details page - #30981
-
Add PF4 icons in empty state - #30865
7.1.4. Web Interface
-
Audit cards 'All audits' link doesn’t filter the hosts All audits' link doesn’t filter the hostAll audits link doesn’t filter the host link doesnt filter the hostt filter the host - #34085
-
New Host detail page - small screen cant see build modalt see build modal - #33955
-
Host details tabs arent clickablet clickable - #33805
-
Add report and facts to host details kebab dropdown - #33714
-
Add build review modal in the new host details page - #33696
-
After creating new host group from help page, page doesnt redirect to main landing page.t redirect to main landing page. - #33637
-
Remove experimental host wizard page - #33621
-
"All audits" link in host details page doesnt workt work - #33617
-
Adding a banner for the experimental host details page - #33597
-
There should be buttons to link in between the old host page and the new host detail page - #33507
-
The new host detail page audits card gets misaligned - #33505
-
The new host detail page hostname should never be split to two lines - #33504
-
Mac Address label should have capital letters in the word MAC on the new host detail page - #33503
-
The host owner name should be expanded to the full width as it typically takes more than a one line - #33502
-
New host detail page MAC should remain on one line if theres a long host group next to its a long host group next to it - #33501
-
Experimental host page kebab menu buttons do nothing - #33491
-
Edit button in experimental host page doesnt workt work - #33490
-
Add setting for redirecting to the new host details page - #33484
-
"Login Page Footer Text" Blocking Login Button on Foreman UI - #33481
-
Use the new confirm modal in the host status clear - #33473
-
Host details page tabs re-render continuously - #33324
-
broken Documentation button in search for react pages - #33323
-
Add power options dropdown to details card - #33268
-
After creating new host group or Http proxy, page doesnt redirect to main landing page.t redirect to main landing page. - #33177
-
Host details tabs titles arent translatedt translated - #33151
-
Add console to the host details page - #32999
-
Add manageBookmarks to pf4 bookmarks - #32656
-
Move the host status page from foreman_wreckingball to core - #31638
-
The time ago creation line is not translated in the new host details page - #30984
7.1.5. Parameters
-
Cannot search by organization or location parameter - #34008
7.1.6. Host registration
-
Fix name & path to OS host_init_config template - #33979
-
In UI form show proxies that have enabled Registration and templates features only - #33697
-
Run subscription-manager clean' when force=truesubscription-manager clean when force=true when force=true - #33540
-
Use PF4 styling for warning in registration form - #33390
-
Make the registration form more compact - #33389
-
The katello-ca-consumer is not being removed when the force option is checked in the Advanced' tab under Hosts -> Register Host Advanced tab under Hosts -> Register Host tab under Hosts -> Register Host - #33305
-
Remove hard-coded link to documentation - #33215
-
Move katello_ca_consumer to registration template - #32678
7.1.7. Settings
-
Speed up settings index page - #33935
-
Foreman wont start with old settings in DB - #33861
-
Settings defined in settings.yaml do not take precedence in the new DSL - #33791
-
Setting DSL does not use the explicit initial values - #33740
-
SettingRegistry fails on older categories if setting table is not ready - #33706
-
Improve caching of SettingRegistry#load_values - #33640
-
Use new DSL to define Puppet settings - #33607
-
Use new DSL to define Provisioning settings - #33601
-
Use new DSL to define Notification settings - #33596
-
Use new DSL to define Email settings - #33595
-
Use new DSL to define Authentication settings - #33589
-
"OAuth map users" setting has a bad explanation - #33440
-
Settings search is broken in hammer - #33347
-
Mark Settings defined by DSL as special category in DB - #33280
-
Use new DSL to define General settings - #32893
-
Add custom validations to new setting DSL - #32403
-
Extract Puppet setting - #32064
-
Add more reliable way to detect Foreman CA certificate - #31049
-
Reorder settings - #29288
7.1.8. DHCP
-
Provide a meaningful report when a subnet has an invalid address - #33929
7.1.9. Organizations and Locations
-
Mismatch report fails with uninitialized constant Environment’uninitialized constant Environment - #33897
7.1.10. Monitoring
-
forget_status doesnt update the global host’s statet update the global hosts states state - #33882
7.1.12. BMC
-
bmc_credentials_accessible hides BMC information in host view - #33826
7.1.13. Statistics
-
Unused leftover methods in core - #33802
7.1.15. API
-
Drop non-standard compliant way of selecting api version - #33787
-
The default password in settings is not encoded - #33732
-
GraphQL response should return valid attribute values - #33647
-
please expose capabilities in the smart_proxies show API - #33611
-
Undefined method error when calling Api::V2::SmartProxiesController#import_puppetclasses - #33539
-
Host creation API "overwrite" parameter is not documented - #32541
-
Register query fields with custom resolvers - #32214
7.1.16. Performance
-
Drop Ruby pre-2.5 compatibility in Host#parse_ip_address - #33784
7.1.17. Facts
-
Ignore unstable legacy Facter facts - #33778
-
RHSM IPv6 fact is not being parsed for foreman hosts. - #33776
-
Cloned viewer role cannot view facts - #33656
-
Reduce allocations in FactImporter#update_facts - #33639
-
Add fact parser registry - #33419
-
foreman-rake facts:clean fails with foreign key constraint violation - #30028
-
Ansible Windows network facts fail to import - #23936
7.1.21. Packaging
-
Make dynflow-sidekiq@\* services part of foreman.service - #33723
7.1.27. TFTP
-
TFTP Unable to download Flatcar OS - #33469
7.1.28. Compute resources - VMware
-
Compute Resource cannot list the VMs if any VMs in the datacenter has config.instanceUuid set to ' - #33396
-
Compute profile references wrong datacenter path after changing datacenter name - #32792
-
app/models/concerns/orchestration/compute.rb:93 rescue ends up with error (ArgumentError): too few arguments - #32273
7.1.29. Authentication
-
Appropriate error message to be shown when creating authsource with same name as existing authsource.
7.1.30. Compute resources - oVirt
-
Foreman error on retrieving networks/vnics from oVirt if description contains non ascii characters - #32908
7.1.31. Proxy gateway
-
Drop unwanted URI parsing from NetHttpExtension - #32837
7.1.32. Compute resources
-
Associate a VM via API to a compute resource - #32769
7.1.33. Smart Proxy
-
Add information about proxy status - #32727
7.1.34. Internationalization
-
[Foreman 2.3] [zh_CN/ja_JP] Localized string broken into two separate lines, at <Administer - Locations page>, at <Administer - Organizations page> and at <Infrastructure - Domains>. - #31338
7.1.35. Trends
-
Remove statistics & trends API endpoints - #30504
7.1.36. Compute resources - libvirt
-
Libvirt connection leaks - #14854
7.2. Installer
-
disable registration module on smart proxies by default - #33864
-
Drop content type settings from katello module - #33830
-
Add host_reports to the installer - #33760
-
For Katello scenario, do not deploy Puppet by default - #33337
-
Foreman client certificates should be used to set up qpid queues - #33233
-
potential memory leak in puma
7.2.1. Foreman modules
-
Allow registration through content proxy via port 443 - #33863
-
Foreman Proxy Templates feature only listens to https by default - #33808
-
Mark host where the installer is running as smart-proxy when deploying smart-proxy - #33790
-
Mark host where the installer is running as foreman when deploying foreman - #33789
-
Support Pulp 3.15 - #33766
-
Support OSTree & Python content enablement - #33751
-
workaround for pulpcore-content PostgreSQL connection issue - #33744
-
need to generate private db key for pulpcore 3.15 - #33733
-
dynflow workers started before redis - #33511
-
Use OpenSSL Ruby to ensure Apache certificate bundle is in the proper format on FIPS machines - #33431
-
Candlepin.conf refers to incorrect job schedule options - #33321
-
Refer to FQDN instead of "Foreman server" in SmartProxy registration error messages - #33320
7.3. Packaging
7.3.1. RPMs
-
drop obsolete plugin from RPM packaging: digitalocean - #33880
-
drop obsolete plugin from RPM packaging: xen - #33879
-
katello-change-hostname should conditionally mention updating puppet-foreman-server-url - #33743
-
change hostname suggests dropped parameter foreman-proxy-content-parent-fqdn - #33719
-
Hostname change script should suggest new --puppet-server-foreman-url - #33580
Appendix A: Foreman Contributors
We’d like to thank the following people who contributed to the Foreman 3.1 release:
Adam Cecile, Adam Ruzicka, Adi Abramovich, Alexander Olofsson, Amir Fefer, Amit Upadhye, Andrew Teixeira, Anna Vitova, Antoine Beaupré, Avi Sharvit, Bernhard Suttner, Birkir Freyr, Chris Roberts, Dave Thomas, Dominik Matoulek, Eric D. Helms, Evgeni Golov, Ewoud Kohl van Wijngaarden, Gordon Bleux, Jeremy Lenz, John Mitsch, Jonathon Turel, Justin Sherrill, Kamil Szubrycht, Leos Stejskal, Lukáš Zapletal, Magnus Toneby, Marcel Kühlhorn, Marek Hulán, Maria Agaphontzev, Melanie Corr, Nacho Barrientos, Nadja Heitmann, Oleh Fedorenko, Ondřej Ezr, Ondřej Pražák, Patrick Creech, Rahul Bajaj, Romuald Conty, Ron Lavi, Samir Jha, Shimon Shtein, Shira Maximov, Tim Meusel, Tomer Brisker, Trent Anderson, William Clark, Yifat Makias, amtilghman, andrewgdewar, maccelf, rafaelguerra01
As well as all users who helped test releases, report bugs and provide feedback on the project.