Skip to content

v0.56.0

Compare
Choose a tag to compare
@github-actions github-actions released this 24 Jan 17:28
· 198 commits to main since this release

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'

  • 0e4a1c5 Add sonobuoy modes command
  • f105e68 Add conformance-lite mode

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

  • 90dd4c1 Add e2e command for dry-run help
  • 7af4fe2 Support KUBE_TEST_REPO

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 level
  • namespaceAdmin 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 name sonobuoy. For instance, --plugin-env sonobuoy.KEY=val.
  • 9ba34dc Modify entrypoint for getting e2e test images

    • Fixed a bug which caused sonobuoy images to fail for Kubernetes v1.22+
  • 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 of sonobuoy 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.
  • 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.

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