Optimize Pro (deprecated)
Optimize Pro has been deprecated.
But you can check out Optimize Live:
- Sign up for a free 30-day trial
- Try Optimize Live in our view-access sandbox - click Enter Sandbox. No installation required.
Version 3.2.5
Changed
- Dependency updates
Removed
- Pulling scenario data for experiment generation using Git or HTTP URLs is no longer supported
Version 3.2.4
Changed
- Dependency upgrades
Version 3.2.3
Changed
- Dependency upgrades
Version 3.2.2
Changed
- Dependency upgrades
Version 3.2.1
Changed
- Upgrade Kubernetes dependencies to 1.27.x
Fixed
- Errors collecting JSON path metrics are now properly reported
Version 3.2.0
Fixed
- 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).
Changed
- RBAC generation now adds
get
permissions for ReplicaSets if an experiment works with a Deployment. You might need to regenerate experiment permissions by runningstormforge rbac /path/to/experiment.yaml
.
Version 3.1.2
Changed
- Upgraded Kubernetes libraries from 0.25.6 to 0.26.3
Fixed
- The built-in Prometheus properly scrapes KSM container resource requests
- Stop attempts to add application and scenario labels to experiments during migration
Version 3.1.1
Changed
- 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
- Fixed a panic when omitting
scalar
from PromQL queries
Important
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. kube_pod_container_resource_requests_cpu_cores
became kube_pod_container_resource_requests{resource="cpu"}
).
UI enhancements
-
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.
Version 3.1.0
Added
- The Helm chart now supports the creation of an image pull secret for the controller service account.
Removed
- Support for applications and scenarios.
Fixed
- Generated experiments now reference the correct service account for setup tasks.
Version 3.0.1
Fixed
- Included embedded object metadata fields in the CRD schema for compatibility with strict validation
- Restored missing field descriptions in the API reference
Version 3.0.0
Added
- ARM v8 support
Changed
- Upgraded Kubernetes libraries to 0.25.5
- Upgraded Controller Runtime to 0.13.1
- The controller image and Helm chart are now distributed via
registry.stormforge.io
- Kubernetes resource names have changed to include “pro”
- Trusted trial jobs can now get a
STORMFORGE_TOKEN
- 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
Deprecated
- Polling for UI triggered experiment runs will be removed in the next release
Removed
- The
setuptools
image has been removed. Setup tasks must have an image or Helm chart.
Fixed
- Trial finalizers are cleaned up when setup tasks are no valid
- All trial job pods must be terminated for a trial to complete
Upgrading
CLI
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
.
From v2
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.)
Experiment Manifests
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.
RBAC Changes
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.
UI enhancements
- When you click a trial, we now add categorical data to the chart and drawer
Version 2.1.1
- Experiments with constant parameters are validated
- Reduced the number of requested scopes during authorization exchanges
Version 2.1.0
- 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