Skip to content

v0.6.0

Compare
Choose a tag to compare
@dthomson25 dthomson25 released this 17 Nov 21:16
· 17 commits to release-v0.6 since this release

Quick Start

kubectl create namespace argo-rollouts
kubectl apply -n argo-rollouts -f https://raw.githubusercontent.com/argoproj/argo-rollouts/v0.6.0/manifests/install.yaml

Important Notices

  • The pause functionality was reworked in the v0.6 release. Previously, the .spec.paused field was used by the controller to pause rollouts. However, this was an issue for users who wanted to manually pause the rollout since the controller assumed it was the only entity that set the field. In v0.6, the controller will add a pause condition to the .status.pauseCondition to pause a controller instead of setting spec.paused. The pause condition has a start time and a reason explaining why it paused. This allows users to set the spec.paused field manually and let the controller respect that pause. The v0.6 controller has a migration function to convert pre v0.6 rollouts to the new pause condition. The migration function will be removed in a future release.
  • In pre-v0.6 versions, the BlueGreen strategy would have the preview service point at no ReplicaSets if the new ReplicaSet was receiving traffic from the active service. V0.6 changes that behavior to make the preview service always point at the latest ReplicaSet

Changes since v0.5.0

General

  • Update k8s library dependencies to v1.16 (##192)

Rollouts

Enhancements

  • Add Rollout Context to reconciliation loop (##205)
  • Refactor pausing (##211)
  • Allow User pause (##216)
  • Stop progress while paused (##193)
  • Add pause condition migration (##229)
  • Add abort functionality (##224)
  • Rollout analysis plumbing (##183)
  • Add AnalysisStep for Rollouts (##188)
  • Add background analysis runs for rollouts (##196)
  • Clean up old Background AnalysisRuns (##246)
  • Clean up Experiments and AnalysisRuns (##197)
  • Add initial Experiment Step (##165)
  • Make specifying replicas/duration optional in the experiment step (##241)
  • Terminate experiments from previous steps (##280)
  • Add Analysis to RolloutExperimentStep (##238)
  • Fix TimeOut check to consider experiment/analysis steps (##278)
  • Pause a rollout upon inconclusive experiment (##256)
  • Abort a rollout upon a failed experiment (##256)
  • Add create AnalysisRun action in clusterrole (##231)

Bug Fixes

  • Fix nil ptr for newRS (##233)
  • Fix Rollout transformer config (##247)
  • Always point preview service at the newRS (##217)
  • Make active service required (##235)
  • Reset ProgressDeadline on retry (##282)
  • Ignore old running rs for RolloutCompleted status (##218)
  • Remove scale down annot after scaling down (##187)
  • Renames golang field names for blueGreen/canary to eliminate two API violations (##206)

Experiments

Check out the Experiment Docs for more information.

Enhancements

  • Refactor experiments to use a context object (##208)
  • Allow selectors to be overwritten when starting experiments (##249)
  • Simplify experiment replicaset names (##274)
  • Integrate Experiments with Analysis (##210)

Bug Fixes

  • Fix experiment enqueue logic (##239)
  • Annotate instead of label experiment names in replicasets (##262)
  • Fix issue where a replicaset name collision could cause hot loop (##236)

Analysis

Check out the Analysis Docs for more information.

Enhancements

  • AnalysisRun AnalysisTemplate Spec (##166)
  • Initial analysis controller implementation (##168)
  • Integrate analysis controller with provider interfaces (##171)
  • Add metric knob for maxInconclusive (##181)
  • Simplify provider interfaces to set error messages (##189)
  • Implement ResumeAt logic (##232)
  • Define explict args in AnalysisTemplates and simplify AnalysisRun spec (##283)
  • Use a duration string instead of int to represent duration (##286)
  • Truncate measurements when greater than default (10) (##191)
  • Add counter for consecutiveError (##191)

Prometheus Provider

  • Add initial provider and Prometheus implementation (##170)
  • Rename prometheus.server to address to better reflect API client interface (##207)
  • Treat NaN as inconclusive on Prometheus provider (##275)

Job Provider

  • Implement job-based metric provider (##186)
  • Job metric argument substitution. Simplify metric provider interface (##268)

Kayenta Provider

  • Initialize check in for kayenta metric provider ##284

Kubectl Plugin

Check out the kubectl plugin docs for more information.

Enhancements

  • Implement argo rollouts kubectl plugin (##195)
  • Introduce kubectl argo rollout list rollouts command (##204)
  • Introduce kubectl argo rollout list experiments command (##267)
  • Introduce kubectl argo rollout set image command (##251)
  • Introduce kubectl argo rollout get command (##230)
  • Introduce kubectl argo rollout promote command (##277)
  • Add ability to kubectl argo rollouts set image *=myrepo/myimage (##290)
  • Add get/retry experiment commands. Support experiment retries (##263)
  • Show running jobs as part of analysis runs (##278)
  • Surface experiment images to CLI (##274)