v0.56.0
Overview
This release found a surprisingly large amount of new features and improvements including:
The common theme in these features is that they are about making what you might already do, better:
- Cut down on CI time with the new
--mode=conformance-lite
option - Better understand and plan which tests and tags to run with
sonobuoy e2e
without having to launch a single pod - Gather API data and logs from the CLI without launching pods
- Run Sonobuoy with reduced permissions more easily and reliably (
--aggregator-permissions
)
See details for these and other improvements below.
New Features
Sonobuoy Modes and 'conformance-lite'
Sonobuoy has a new command sonobuoy modes
which lists the what each of the various --mode
options means for the E2E plugin.
This allows users to choose the appropriate mode without even having to navigate to the web documentation.
Instead, sonobuoy modes
shows the the name of the mode, its purpose, and its focus/skip/parallel values.
A new option for --mode
was added: conformance-lite
which runs the fastest tests from the conformance suite (~80%) in parallel.
This allows running of hundreds of tests in just minutes which can cut down CI and debugging times.
E2E Improvements: Built in E2E Dry-run and Airgapped Simplification
We still get numerous questions regarding what tests from the E2E conformance suite can/should be run or what tags are available.
Built into the conformance tests is a "dry-run" feature which allows you to try out regular expressions and filter the tests without running them.
However, doing this still requires you launch Sonobuoy and e2e pods, gather results, and inspect them.
The new sonobuoy e2e
command will allow you to try out focus/skip values and immediately get the resulting test list.
Not only that, but by editing the output --mode
, you can print only the test tags with or without their respective frequency counts.
Sonobuoy Queries from the CLI
- 5577b2d Refactor query logic and add to CLI
Sonobuoy gathers lots of data from the API in order to aid in debugging.
If you want that information without bothering with launching any pods at all, just run sonobuoy query
.
All the query logic has been extracted and made available on the CLI for faster, easier access.
More Permissions Options For Sonobuoy
- a4ca834 Add namespaced permissions with cluster read
The --aggregator-permissions
options have expanded to include:
clusterRead
which is namespace admin permissions with added read-only permissions at the cluster levelnamespaceAdmin
which has no cluster permissions, only namespaced ones- the default
clusterAdmin
In most cases the default is a good choice, but in production clusters where access is more carefully monitored, the other options may be a better fit.
Improvements and Bug Fixes
-
aea30a0 Adjust progress messages to allow for appending data
- Plugins can now report progress updates in more piecemeal fashion and the aggregator will combine the results. This fixes a bug where the e2e plugin couldn't report progress when in parallel mode. The fix will be in Sonobuoy, but the upstream fix will get put into releases going forward.
-
94b6f18 Allow setting aggregator env vars via CLI
- Sonobuoy now allows you to set environment variables on the aggregator from the CLI via the existing
--plugin-env
flag using the reserved plugin namesonobuoy
. For instance,--plugin-env sonobuoy.KEY=val
.
- Sonobuoy now allows you to set environment variables on the aggregator from the CLI via the existing
-
9ba34dc Modify entrypoint for getting e2e test images
- Fixed a bug which caused
sonobuoy images
to fail for Kubernetes v1.22+
- Fixed a bug which caused
-
c7c47dc Roles and bindings should have namespace label for deltion
- Fixed a bug which caused cluster roles and bindings to not be deleted.
Modified the behavior ofsonobuoy delete --all
to include deleting all cluster roles related to any Sonobuoy run, regardless of namespace.
Added back a "namespace" label for ClusterRoles and ClusterRoleBindings in order to properly associate them with their Sonobuoy run.
- Fixed a bug which caused cluster roles and bindings to not be deleted.
-
ec3df49 Continue with run even if unable to query nodes
- Fixed a bug which caused the new
--aggregator-permissions=namespaceAdmin
option to fail due to the inability to query cluster nodes.
- Fixed a bug which caused the new
Complete Changelog
- 0665cd3 Add docs for v0.56.0 and bump version
- 7c8e495 Fix calculation for appending failures
- aea30a0 Adjust progress messages to allow for appending data
- f105e68 Add conformance-lite mode
- 5bec08c Add test lists for recent k8s versions
- 90dd4c1 Add e2e command for dry-run help
- 7871297 added aggregator permissions doc
- d831a21 Add POC doc for upcoming feature
- 94b6f18 Allow setting aggregator env vars via CLI
- 928b7b4 Fix spacing for headers in strategy doc
- a265fc0 Add strategy doc
- d98b1fe New document for sonobuoy query
- 0e4a1c5 Add sonobuoy modes command
- 7af4fe2 Support KUBE_TEST_REPO
- a4ca834 Add namespaced permissions with cluster read
- ec3df49 Continue with run even if unable to query nodes
- b47d982 Adjust cluster suggestions for starting with Sonobuoy
- 85b1f22 Add docs for result type gojson
- e679e44 Add links to top of plugins page
- 5577b2d Refactor query logic and add to CLI
- c7c47dc Roles and bindings should have namespace label for deltion
- 9ba34dc Modify entrypoint for getting e2e test images
- ae75211 Remove template and convert to code
- 9506d94 Fix template for namespaced permissions