The document summarizes changes to Foreman, Hammer, and related projects over the last year, including:
- Dropping support for older operating systems and Puppet versions
- Upgrades to Ruby, Rails, and other backend technologies
- Improvements to the frontend using React and other JavaScript libraries
- Expanded support for UEFI, IPv6, templates, and remote execution
- Events like cfgmgmtcamp for the Foreman community
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
The Last Year In Foreman - Michael Moll
1. Questions Core Changes Hammer Changes Plugin Changes Community Events Thanks!
The Last Year In Foreman
Michael Moll <mmoll@mmoll.at>
Foreman Birthday Party
27th July 2017
1 / 18
2. Questions Core Changes Hammer Changes Plugin Changes Community Events Thanks!
Questions
Who does not use Foreman, yet?
Who does not use Puppet?
Anybody still using Puppet <4?
Who is already using Puppet 5?
2 / 18
3. Questions Core Changes Hammer Changes Plugin Changes Community Events Thanks!
Puppet Support
Puppet 3 support fading out
1.15 installer last to support 3.x
Foreman and proxy still support it
Aggressive upstream deprecation policy
Puppet 5 support coming with 1.16
First version, so might be still rough
3 / 18
4. Questions Core Changes Hammer Changes Plugin Changes Community Events Thanks!
Operating System Support
EL 6 based OSes desupported with 1.13
Unofficial 1.13.2 RPMs available from Katello repositories
Fedora 24 builds dropped with 1.16
Only 2% of Foreman server installs on Fedora
Unclear if Fedora 26 builds will be established
Debian/stretch (hopefully) supported with 1.16
Dependency on PuppetLabs’ packages in some areas
Puppet master 4.x (not Puppetserver) not supported by Proxy
Ubuntu/trusty builds dropped with 1.16
Debian/jessie will probably be desupported with 1.17
ARM64 builds available for Debian based OSes again
ODroid C2 or ROCK64 are nice all-in-one demo boxes
4 / 18
5. Questions Core Changes Hammer Changes Plugin Changes Community Events Thanks!
Backend
Ruby 2.0 support dropped after 1.15
Rails 5.0 as option in 1.16, 4.2 still used
1.17 will switch to Rails 5.0
This will require Ruby >=2.3 (technically 2.2.2)
Updates to plugins are probably needed
Beginning of deeper integration of foreman-tasks into core
Dynflow as backend for ActiveJob
5 / 18
6. Questions Core Changes Hammer Changes Plugin Changes Community Events Thanks!
Frontend - Under The Hood
Further usage of React
Functional programming principles
More predictable and testable code
More stable Frontend experience
Introduction of Redux
Usage of npm and webpack for frontend assets
beginnings of support for plugins
Node.js with ES6 & Babel
changes to development setups
changes to the production packaging
6 / 18
7. Questions Core Changes Hammer Changes Plugin Changes Community Events Thanks!
Frontend - Visible Changes
Further usage of Patternfly as UI library
Notification drawer
Power status in host list
New VMware storage UI
(some) UX improvements
Future project: vertical navigation
7 / 18
8. Questions Core Changes Hammer Changes Plugin Changes Community Events Thanks!
IPv6
Supported (selection)
IPv6 addresses and subnets
DNS orchestration (AAAA and PTR DNS records)
IPv6 address assignment on cloud compute resources
TFTP orchestration
TODO items:
DHCPv6
IPv6 (only) PXE
8 / 18
9. Questions Core Changes Hammer Changes Plugin Changes Community Events Thanks!
UEFI support
support for different PXE bootloaders
support for GRUB2 as PXE bootloader
bootloader difficulties:
RH vs. Debian vs. Ubuntu
signed vs. unsigned
GRUB2 versions
non-x86 architectures
standard set of bootloader binaries
introduction of foreman-bootloaders-redhat RPM
9 / 18
10. Questions Core Changes Hammer Changes Plugin Changes Community Events Thanks!
Template changes
Template locking
All templates that are coming with Foreman will be locked by default
These will be updated automatically with every update
Templates are extendable
Job templates for remote execution plugin
foreman_templates plugin enhancements
API added
Import/Export templates from/to the filesystem
Lots of smaller changes
10 / 18
11. Questions Core Changes Hammer Changes Plugin Changes Community Events Thanks!
Other changes
custom.yaml Hiera configuration for the installer
CSV export of tables (only host table in the UI for now)
Import hosts from compute resources
SSH public keys deployment per user
MS Windows DHCP proxy uses native API calls now
SSHFP DNS entries (probably not in 1.16)
new plugins
11 / 18
12. Questions Core Changes Hammer Changes Plugin Changes Community Events Thanks!
Hammer
Session based login
Log in once and stay authenticated for n minutes
Groundwork for OAuth (or similar token based) login methods
Tighter SSL verification by default
Lots of small changes
12 / 18
13. Questions Core Changes Hammer Changes Plugin Changes Community Events Thanks!
Discovery
UEFI support
New provisioning wizard with quick create action
Image updates (hardware support)
Future work
UX improvements
better internal integration
more integration tests to prevent breakage
13 / 18
14. Questions Core Changes Hammer Changes Plugin Changes Community Events Thanks!
Remote Execution
Settings for using specific node interface IPs or FQDN
Integration with core templates
Kerberos authentication (i.e. FreeIPA)
Future: asynchronous ssh provider
14 / 18
15. Questions Core Changes Hammer Changes Plugin Changes Community Events Thanks!
Ansible
Better support for hostgroups
Import roles and run playbooks from smart proxy
Ansible roles run after a host is provisioned
foreman_ansible_inventory went under the theforeman umbrella
15 / 18
16. Questions Core Changes Hammer Changes Plugin Changes Community Events Thanks!
cfgmgmtcamp
European conference triple:
FOSDEM (Brussels)
cfgmgmtcamp & Foreman Construction Day (Gent)
devconf.cz (Brno)
16 / 18
17. Questions Core Changes Hammer Changes Plugin Changes Community Events Thanks!
more events
Birthday Parties
PuppetConf
Red Hat Summit
Meetups
...
17 / 18