Documentation ¶
Index ¶
- func ArrayMeasurement(run *v1alpha1.AnalysisRun, metricName string) []v1alpha1.Measurement
- func BackgroundLabels(podHash, instanceID string) map[string]string
- func BuildArgumentsForRolloutAnalysisRun(args []v1alpha1.AnalysisRunArgument, stableRS, newRS *appsv1.ReplicaSet, ...) ([]v1alpha1.Argument, error)
- func CreateWithCollisionCounter(logCtx *log.Entry, analysisRunIf argoprojclient.AnalysisRunInterface, ...) (*v1alpha1.AnalysisRun, error)
- func FilterAnalysisRuns(ars []*v1alpha1.AnalysisRun, cond func(ar *v1alpha1.AnalysisRun) bool) ([]*v1alpha1.AnalysisRun, []*v1alpha1.AnalysisRun)
- func FilterAnalysisRunsByName(analysisRuns []*v1alpha1.AnalysisRun, name string) *v1alpha1.AnalysisRun
- func FilterAnalysisRunsByRolloutType(analysisRuns []*v1alpha1.AnalysisRun, typeFilter string) []*v1alpha1.AnalysisRun
- func FilterAnalysisRunsToDelete(ars []*v1alpha1.AnalysisRun, allRSs []*appsv1.ReplicaSet, ...) []*v1alpha1.AnalysisRun
- func FlattenTemplates(templates []*v1alpha1.AnalysisTemplate, ...) (*v1alpha1.AnalysisTemplate, error)
- func GetCurrentAnalysisRunByType(currentArs []*v1alpha1.AnalysisRun, kind string) *v1alpha1.AnalysisRun
- func GetDryRunMetrics(dryRunMetrics []v1alpha1.DryRun, metrics []v1alpha1.Metric) (map[string]bool, error)
- func GetInstanceID(obj runtime.Object) string
- func GetMeasurementRetentionMetrics(measurementRetentionMetrics []v1alpha1.MeasurementRetention, ...) (map[string]*v1alpha1.MeasurementRetention, error)
- func GetResult(run *v1alpha1.AnalysisRun, metricName string) *v1alpha1.MetricResult
- func IsSemanticallyEqual(left, right v1alpha1.AnalysisRunSpec) bool
- func IsTerminating(run *v1alpha1.AnalysisRun) bool
- func IsWorse(current, new v1alpha1.AnalysisPhase) bool
- func LastMeasurement(run *v1alpha1.AnalysisRun, metricName string) *v1alpha1.Measurement
- func MergeArgs(incomingArgs, templateArgs []v1alpha1.Argument) ([]v1alpha1.Argument, error)
- func MetricCompleted(run *v1alpha1.AnalysisRun, metricName string) bool
- func NewAnalysisRunFromTemplates(templates []*v1alpha1.AnalysisTemplate, ...) (*v1alpha1.AnalysisRun, error)
- func NewAnalysisRunFromUnstructured(obj *unstructured.Unstructured, templateArgs []v1alpha1.Argument, ...) (*unstructured.Unstructured, error)
- func PostPromotionLabels(podHash, instanceID string) map[string]string
- func PrePromotionLabels(podHash, instanceID string) map[string]string
- func ResolveArgs(args []v1alpha1.Argument) error
- func ResolveMetricArgs(metric v1alpha1.Metric, args []v1alpha1.Argument) (*v1alpha1.Metric, error)
- func SetResult(run *v1alpha1.AnalysisRun, result v1alpha1.MetricResult)
- func SortAnalysisRunByPodHash(ars []*v1alpha1.AnalysisRun) map[string][]*v1alpha1.AnalysisRun
- func StepLabels(index int32, podHash, instanceID string) map[string]string
- func TerminateRun(analysisRunIf argoprojclient.AnalysisRunInterface, name string) error
- func ValidateMetric(metric v1alpha1.Metric) error
- func ValidateMetrics(metrics []v1alpha1.Metric) error
- func Worst(left, right v1alpha1.AnalysisPhase) v1alpha1.AnalysisPhase
- type AnalysisRunByCreationTimestamp
- type CurrentAnalysisRuns
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ArrayMeasurement ¶ added in v1.3.0
func ArrayMeasurement(run *v1alpha1.AnalysisRun, metricName string) []v1alpha1.Measurement
func BackgroundLabels ¶
BackgroundLabels returns a map[string]string of common labels for the background analysis
func BuildArgumentsForRolloutAnalysisRun ¶
func BuildArgumentsForRolloutAnalysisRun(args []v1alpha1.AnalysisRunArgument, stableRS, newRS *appsv1.ReplicaSet, r *v1alpha1.Rollout) ([]v1alpha1.Argument, error)
BuildArgumentsForRolloutAnalysisRun builds the arguments for a analysis base created by a rollout
func CreateWithCollisionCounter ¶
func CreateWithCollisionCounter(logCtx *log.Entry, analysisRunIf argoprojclient.AnalysisRunInterface, run v1alpha1.AnalysisRun) (*v1alpha1.AnalysisRun, error)
CreateWithCollisionCounter attempts to create the given analysisrun and if an AlreadyExists error is encountered, and the existing run is semantically equal and running, returns the exiting run.
func FilterAnalysisRuns ¶
func FilterAnalysisRuns(ars []*v1alpha1.AnalysisRun, cond func(ar *v1alpha1.AnalysisRun) bool) ([]*v1alpha1.AnalysisRun, []*v1alpha1.AnalysisRun)
func FilterAnalysisRunsByName ¶
func FilterAnalysisRunsByName(analysisRuns []*v1alpha1.AnalysisRun, name string) *v1alpha1.AnalysisRun
FilterAnalysisRunsByName returns the analysisRuns with the name provided
func FilterAnalysisRunsByRolloutType ¶
func FilterAnalysisRunsByRolloutType(analysisRuns []*v1alpha1.AnalysisRun, typeFilter string) []*v1alpha1.AnalysisRun
FilterAnalysisRunsByRolloutType returns a list of analysisRuns that have the rollout-type of the typeFilter
func FilterAnalysisRunsToDelete ¶
func FilterAnalysisRunsToDelete(ars []*v1alpha1.AnalysisRun, allRSs []*appsv1.ReplicaSet, limitSuccessful int32, limitUnsuccessful int32) []*v1alpha1.AnalysisRun
FilterAnalysisRunsToDelete returns a list of analysis runs that should be deleted in the cases where: 1. The analysis run has no pod hash label, 2. There is no ReplicaSet with the same pod hash as the analysis run 3. The ReplicaSet that has the same pod hash as the analysis run has a deletiontimestamp. Note: It is okay to use pod hash for filtering since the analysis run's pod hash is originally derived from the new RS. Even if there is a library change during the lifetime of the analysis run, the ReplicaSet's pod hash that the analysis run references does not change.
func FlattenTemplates ¶ added in v0.8.0
func FlattenTemplates(templates []*v1alpha1.AnalysisTemplate, clusterTemplates []*v1alpha1.ClusterAnalysisTemplate) (*v1alpha1.AnalysisTemplate, error)
func GetCurrentAnalysisRunByType ¶ added in v0.8.0
func GetCurrentAnalysisRunByType(currentArs []*v1alpha1.AnalysisRun, kind string) *v1alpha1.AnalysisRun
func GetDryRunMetrics ¶ added in v1.2.0
func GetDryRunMetrics(dryRunMetrics []v1alpha1.DryRun, metrics []v1alpha1.Metric) (map[string]bool, error)
GetDryRunMetrics returns an array of metric names matching the RegEx rules from the Dry-Run metrics.
func GetInstanceID ¶ added in v0.7.0
GetInstanceID takes an object and returns the controller instance id if it has one
func GetMeasurementRetentionMetrics ¶ added in v1.2.0
func GetMeasurementRetentionMetrics(measurementRetentionMetrics []v1alpha1.MeasurementRetention, metrics []v1alpha1.Metric) (map[string]*v1alpha1.MeasurementRetention, error)
GetMeasurementRetentionMetrics returns an array of metric names matching the RegEx rules from the MeasurementRetention rules.
func GetResult ¶
func GetResult(run *v1alpha1.AnalysisRun, metricName string) *v1alpha1.MetricResult
GetResult returns the metric result by name
func IsSemanticallyEqual ¶
func IsSemanticallyEqual(left, right v1alpha1.AnalysisRunSpec) bool
IsSemanticallyEqual checks to see if two analysis runs are semantically equal
func IsTerminating ¶
func IsTerminating(run *v1alpha1.AnalysisRun) bool
IsTerminating returns whether or not the analysis run is terminating, either because a terminate was requested explicitly, or because a metric has already measured Failed, Error, or Inconclusive which causes the run to end prematurely.
func IsWorse ¶
func IsWorse(current, new v1alpha1.AnalysisPhase) bool
IsWorse returns whether or not the new health status code is a worser condition than the current. Both statuses must be already completed
func LastMeasurement ¶
func LastMeasurement(run *v1alpha1.AnalysisRun, metricName string) *v1alpha1.Measurement
LastMeasurement returns the last measurement started or completed for a specific metric
func MergeArgs ¶
MergeArgs merges two lists of arguments, the incoming and the templates. If there are any unresolved arguments that have no value, raises an error.
func MetricCompleted ¶
func MetricCompleted(run *v1alpha1.AnalysisRun, metricName string) bool
MetricCompleted returns whether or not a metric was completed or not
func NewAnalysisRunFromTemplates ¶ added in v0.8.0
func NewAnalysisRunFromTemplates(templates []*v1alpha1.AnalysisTemplate, clusterTemplates []*v1alpha1.ClusterAnalysisTemplate, args []v1alpha1.Argument, dryRunMetrics []v1alpha1.DryRun, measurementRetentionMetrics []v1alpha1.MeasurementRetention, name, generateName, namespace string) (*v1alpha1.AnalysisRun, error)
func NewAnalysisRunFromUnstructured ¶ added in v0.10.0
func NewAnalysisRunFromUnstructured(obj *unstructured.Unstructured, templateArgs []v1alpha1.Argument, name, generateName, namespace string) (*unstructured.Unstructured, error)
func PostPromotionLabels ¶ added in v0.8.0
PostPromotionLabels returns a map[string]string of common labels for the post promotion analysis
func PrePromotionLabels ¶ added in v0.8.0
PrePromotionLabels returns a map[string]string of common labels for the pre promotion analysis
func ResolveArgs ¶ added in v1.0.0
func ResolveMetricArgs ¶ added in v1.0.0
ResolveMetricArgs resolves args for single metric in AnalysisRun Returns resolved metric Uses ResolveQuotedArgs to handle escaped quotes
func SetResult ¶
func SetResult(run *v1alpha1.AnalysisRun, result v1alpha1.MetricResult)
SetResult updates the metric result
func SortAnalysisRunByPodHash ¶
func SortAnalysisRunByPodHash(ars []*v1alpha1.AnalysisRun) map[string][]*v1alpha1.AnalysisRun
SortAnalysisRunByPodHash returns map with a podHash as a key and an array of analysisRuns with that pod hash
func StepLabels ¶
StepLabels returns a map[string]string of common labels for analysisruns created from an analysis step
func TerminateRun ¶
func TerminateRun(analysisRunIf argoprojclient.AnalysisRunInterface, name string) error
TerminateRun terminates an analysis run
func ValidateMetric ¶
ValidateMetric validates a single metric spec
func ValidateMetrics ¶
ValidateMetrics validates an analysis template spec
func Worst ¶
func Worst(left, right v1alpha1.AnalysisPhase) v1alpha1.AnalysisPhase
Worst returns the worst of the two statuses
Types ¶
type AnalysisRunByCreationTimestamp ¶ added in v1.1.0
type AnalysisRunByCreationTimestamp []*v1alpha1.AnalysisRun
AnalysisRunByCreationTimestamp sorts a list of AnalysisRun by creation timestamp
func (AnalysisRunByCreationTimestamp) Len ¶ added in v1.1.0
func (o AnalysisRunByCreationTimestamp) Len() int
func (AnalysisRunByCreationTimestamp) Less ¶ added in v1.1.0
func (o AnalysisRunByCreationTimestamp) Less(i, j int) bool
func (AnalysisRunByCreationTimestamp) Swap ¶ added in v1.1.0
func (o AnalysisRunByCreationTimestamp) Swap(i, j int)
type CurrentAnalysisRuns ¶ added in v0.9.0
type CurrentAnalysisRuns struct { BlueGreenPrePromotion *v1alpha1.AnalysisRun BlueGreenPostPromotion *v1alpha1.AnalysisRun CanaryStep *v1alpha1.AnalysisRun CanaryBackground *v1alpha1.AnalysisRun }
CurrentAnalysisRuns holds all the current analysis runs for a Rollout
func FilterCurrentRolloutAnalysisRuns ¶
func FilterCurrentRolloutAnalysisRuns(analysisRuns []*v1alpha1.AnalysisRun, r *v1alpha1.Rollout) (CurrentAnalysisRuns, []*v1alpha1.AnalysisRun)
FilterCurrentRolloutAnalysisRuns returns analysisRuns that match the analysisRuns listed in the rollout status
func (CurrentAnalysisRuns) ToArray ¶ added in v0.9.0
func (c CurrentAnalysisRuns) ToArray() []*v1alpha1.AnalysisRun