Releases: beaker-project/beaker
beaker-29.1
What's Changed
- Fix invalid escape sequences on Python 3.12 in client code by @mh21 in #212
- Refactor error message handling by @StykMartin in #213
- Changelog for Release 29.1 by @StykMartin in #214
Full Changelog: beaker-29.0...beaker-29.1
beaker-29.0
What's Changed
- Preparation for Release 29 by @StykMartin in #191
- New CI pipeline for Integration Tests
- Various test fixes
- Reintroducing RHEL 7 build pipeline
- Docs fixes
- Build fixes
- Release 29 schema lock
- Custom bootloaders by @p3ck
- Rework PyPI dist release pipeline by @StykMartin in #198
- Remove cgi dependency from Client by @mdujava in #195
- Use GitHub Archive as a source for tarball by @StykMartin in #199
- Update -n parameter in %setup macro by @StykMartin in #201
- Release Notes 29 by @StykMartin in #203
- Build production RPMs as part of the release pipeline by @StykMartin in #204
Full Changelog: beaker-28.3...beaker-29.0
Beaker 28.3
What's Changed
- Fix: onerror is not supported on <=rhel7.3 by @mdujava in #143
- [git] modules: use https instead of git by @adiosnb in #149
- Enable build on CentOS Stream 9 by @StykMartin in #152
- Release 28.3 by @StykMartin in #153
New Contributors
Full Changelog: beaker-28.2...beaker-28.3
Beaker 28.2
Beaker 28.2
Bug fixes
-
Replace deprecated kernel options for newer distros.
Contributed by @renanrodrigo - GitHub PR #90 -
Get console logs raises exception for guest recipes.
Contributed by @cbouchar - GitHub PR #86
Beaker 28.1
Beaker 28.1
Bug fixes
-
Beaker client now works with Python 3.9. Deprecated python functions were removed.
Contributed by @xhernandez - GitHub PR #75 -
Beaker server no longer generates kickstart with
install
kickstart command for RHEL6+.
Contributed by @StykMartin - GitHub PR #76 -
When provisioning a RHEL 9 machine, the root user can use SSH to log in to the machine, using a password or key.
Contributed by @StykMartin - GitHub PR #79 -
Beaker server no longer requires qpid package by default.
Contributed by @StykMartin - GitHub PR #80
Beaker 28 LTS
Beaker 28 LTS
Beaker 28 uses Restraint as the default test harness for all OS releases, iPXE support, enhanced installation failure detection, and some other features.
Restraint as the default harness for all distributions
Restraint is now the default test harness, for all recipes. This means RHEL 5+, all currently supported Fedora releases and Fedora Rawhide.
Support for Beah remains. You can select it by using harness=beah in the kickstart metadata of your recipes. However, now it is necessary to add install_task_requires to kickstart metadata if you would like to populate the packages section.
Contributed by @StykMartin - GitHub PR #46
Support <kickstart/>
without a template
By default XML tag is used to add extra kickstart command to a predefined template. We noticed that it may not suit all users; therefore, we added support to define your own kickstart under . You can enable this feature with no_ks_template in your metadata.
Kickstart defined by will use our Jinja2 template mechanism, therefore it is highly recommended to combine it with our snippets. Especially with clear_netboot (Removes PXE files).
Warning: This feature bypasses common safeguards that might have been put in place by Beaker instance administrators and might render some systems unbootable if used incorrectly. Use with care.
For example
<job retention_tag="scratch">
<recipe whiteboard="" role="None" ks_meta="no_ks_template" kernel_options="" kernel_options_post="">
<kickstart>
{% snippet 'clear_netboot' %}
</kickstart>
...
</job>
Contributed by @StykMartin - Bugzilla Issue #1831885
iPXE support
iPXE is a NIC boot ROM that can be flashed into devices, chain loaded from other boot agents, run as a UEFI executable, booted from physical media, etc.
In addition to extending boot support to protocols beyond TFTP, iPXE also includes powerful scripting support. This adds support for devices booting into the Beaker environment using that scripting support.
The behavior here is largely modeled after PXELINUX, however, note that iPXE does not start fetching files with patterns based on device MAC address, IP address, or any of that when it loads, nor does it fetch a default file.
Contributed by @awilliam and @StykMartin - Bugzilla Issue #1788796
Enhanced installation failure detection
Previously, we relied on output from the console to detect installation failures. This may not work for several reasons.
- The machine is not attached to the console server.
- Error strings are always changing and Beaker is unaware of new error.
- Reservesys Workflow completely ignores installation failures.
Now, we use a combination of approaches mentioned above and %onerror section. If the installer hits a fatal error and %onerror section is executed we abort installation automatically.
This is supported on RHEL7+ and all Fedora. However, it can be disabled by disable_onerror defined in kickstart metadata.
Contributed by @StykMartin - GitHub PR #15
Multi-console log support
In conjunction with an external console logging system (such as conserver), Beaker also supports the automatic capture of the console logs for the duration of provisioning and execution of a recipe.
We decided to extend this support. Previously, Beaker was reading the only output of file defined by FQDN for a given system.
With multi-console support, you can get output from multiple consoles. The only requirement is that name of the file has to start with FQDN-.
For example, the following files will be logged as console files:
- CONSOLE_LOGS/test.example.com -> console.log
- CONSOLE_LOGS/test.example.com-bmc -> console-bmc.log
- CONSOLE_LOGS/test.example.com-serial2 -> console-serial2.log
Contribued by @jvillal-amp - GitHub PR #11
Bug fixes
A number of bug fixes are also included in this release:
-
BZ#1600587: Beaker CSV Export is now working properly with bigger number of systems and excluded families.
Contributed by @StykMartin -
BZ#1851464: Beaker is now properly handling XML element type when it is used in Job XML.
Contributed by @StykMartin -
BZ#1803555: Multiple definitions of harness kickstart metadata are handled properly. All packages are installed by YUM/DNF.
Contributed by @StykMartin -
BZ#1796851: Size for kickstart was extended. From previous 65535 characters to 16777215. When new size limit is breached job is automatically aborted to keep sane state in Beaker Scheduler.
Contributed by @StykMartin -
BZ#1711063: New documentation introduced for disabling default kernel cmdline options.
Contributed by @cbouchar -
GH #58: User is now able to control skip_if_unavailable for Task Repo.
Value can be set via skip_taskrepo kickstart metadata. Default value is 0.
Contributed by @StykMartin -
GH #48: Password is now hidden by default in power management settings. However, it can be revealed if necessary.
Contributed by @StykMartin -
GH #36: Extended support for system-modify cli command. Now system-modify can modify any power management settings.
Contributed by @jvillal-amp -
GH #28: Removed issue with beaker-expire-distros --remove-all where error appears instead of removing all distributions.
Contributed by @StykMartin -
GH #24: beaker-import is now able to keep previously defined kernel_options, kernel_options_post, and ks_meta.
Contributed by @jvillal-amp -
GH #19: Authentication cookies are persistent now.
Contributed by @jvillal-amp -
GH #17: Alternative Harness API was extended. Now, Beaker supports power commands via API.
Contributed by @StykMartin
Beaker 27.4
We have 2 RFEs covered and 1 issue:
- Users can use new ks_meta called ks_keyword which allows users to change kickstart variable on kernel cmdline.
- New command to erase task from Beaker's task library
- Fix for corrupted installation in RHVH.
Beaker 27.3
- Replaced python-gevent used in beaker-proxy. Now we are running on a newer version.
- Sockets in beaker-proxy are closed immediately after the request is finished. This is no longer handled by OS.
- Beaker-proxy is now more asynchronous. Reduced the number of blocking operations to ensure that we can run it in parallel.
- Updated default kickstart to enable Fedora 32 provisioning.
Beaker 27.2
- Added support to remove OpenStack Keystone Trust even when OpenStack integration is disabled.
- Beaker-client is now using
distribution/check-install
task for all OS distributions. This is a replacement fordistribution/install
.
Beaker 27.1
- Fixed status code for task status update endpoint. Instead of returning 500 endpoint will return 409 in case status is already updated.
- Updated default Apache configuration for deployment.
- Added new option 'no_networks' to ks_meta. This option can be useful when the user already defines IP stack on kernel options.
- Added support for enabling/disabling firstboot in kickstart.
- Improved proxy logging in Lab Controllers. All traffic is captured in logs instead of XMLRPC only.
- Improved kernel panic detection.
https://beaker-project.org/docs/whats-new/release-27.html#beaker-27-1