- Dependency upgrades
- Upgrade Kubernetes dependencies to 1.27.x
- Errors collecting JSON path metrics are now properly reported
- Trials no longer fail if pods from old deployment revisions are OOMKilled or unschedulable. Now trials will check only pods from the active revision of a Deployment for these conditions. This requires new permissions (see below).
- RBAC generation now adds
getpermissions for ReplicaSets if an experiment works with a Deployment. You might need to regenerate experiment permissions by running
stormforge rbac /path/to/experiment.yaml.
- Upgraded Kubernetes libraries from 0.25.6 to 0.26.3
- The built-in Prometheus properly scrapes KSM container resource requests
- Stop attempts to add application and scenario labels to experiments during migration
- Built with Go 1.19
- Upgraded kube-state-metrics from 1.9.8 to 2.7.0
- Improved metric templating to work with non-PromQL queries
- Fixed a panic when omitting
scalarfrom PromQL queries
The version of kube-state-metrics (KSM) has been upgraded from 1.x to 2.x; this allows the built-in Prometheus setup task to run on ARM platforms. As a result of the upgrade, some PromQL queries may need to be updated to account for changes in metric names (e.g.
Launch from the left navigation
Launch or switch between Optimize Pro and Optimize Live from the left navigation rather than from the tabs within an application. This update takes you to your experiments faster.
- The Helm chart now supports the creation of an image pull secret for the controller service account.
- Support for applications and scenarios.
- Generated experiments now reference the correct service account for setup tasks.
- Included embedded object metadata fields in the CRD schema for compatibility with strict validation
- Restored missing field descriptions in the API reference
- ARM v8 support
- Upgraded Kubernetes libraries to 0.25.5
- Upgraded Controller Runtime to 0.13.1
- The controller image and Helm chart are now distributed via
- Kubernetes resource names have changed to include “pro”
- Trusted trial jobs can now get a
- Setup tasks must have a name
- The manager exits when it receives an authorized error
- The JSON logging format has changed and levels are now configurable
- Installation no longer includes default RBAC
- Polling for UI triggered experiment runs will be removed in the next release
setuptoolsimage has been removed. Setup tasks must have an image or Helm chart.
- Trial finalizers are cleaned up when setup tasks are no valid
- All trial job pods must be terminated for a trial to complete
Previous versions of Optimize Pro included a dedicated CLI. Starting with v3, the StormForge CLI is distributed (and must be upgraded) separately from the Optimize Pro controller running in your cluster. You can run
stormforge check version to ensure you
are running the most up-to-date CLI. You can check what version of Optimize Pro is running in your cluster by running
stormforge check optimize-pro.
If you are upgrading from version 2.x, you must fully uninstall the v2 controller before installing the v3 controller (due to changes in the resource names). To uninstall, run
stormforge uninstall optimize-pro (or
stormforge reset for older versions of the CLI). Note that uninstalling will remove the Experiment CRD, causing all experiments in the cluster to be deleted: Be sure to back up the experiment manifests outside the cluster before uninstalling. (Your trial data is stored on the StormForge servers and need not be backed up.)
When upgrading Optimize Pro, be sure to upgrade your StormForge CLI and run the
stormforge fix command to update your experiment manifests. You should also run
stormforge check experiment to ensure there are no known issues with your experiments.
Previous versions of Optimize Pro included cluster-wide permissions to modify common resources (such as deployments). Starting in v3, these cluster roles are not included by default. After running
stormforge fix over your experiment manifests, run the
stormforge rbac command to generate the necessary roles and bindings for running your experiment.
- When you click a trial, we now add categorical data to the chart and drawer
- Experiments with constant parameters are validated
- Reduced the number of requested scopes during authorization exchanges
- Trial job init containers now get the trial assignment environment variables
- The FAILURE_REASON environment variable is set on setup delete jobs
- Upgraded the version of kubectl used by setup tasks to 1.17.17
- Upgraded the version of Prometheus used by default to 2.36.0