Trial v1beta2

API Reference for the Trial kind.

Table of Contents

Assignment

Assignment represents an individual name/value pair. Assignment names must correspond to parameter names on the associated experiment.

Field Description Scheme Required
name Name of the parameter being assigned string true
value Value of the assignment intstr.IntOrString true

Back to TOC

ConfigMapHelmValuesFromSource

ConfigMapHelmValuesFromSource is a reference to a ConfigMap that contains “*values.yaml” keys

Field Description Scheme Required
N/A

Back to TOC

HelmValue

HelmValue represents a value in a Helm template

Field Description Scheme Required
name The name of Helm value as passed to one of the set options string true
forceString Force the value to be treated as a string bool false
value Set a Helm value using the evaluated template. Templates are evaluated using the same rules as patches intstr.IntOrString false
valueFrom Source for a Helm value *HelmValueSource false

Back to TOC

HelmValueSource

HelmValueSource represents a source for a Helm value

Field Description Scheme Required
parameterRef Selects a trial parameter assignment as a Helm value *ParameterSelector false

Back to TOC

HelmValuesFromSource

HelmValuesFromSource represents a source of a values mapping

Field Description Scheme Required
configMap The ConfigMap to select from. The ConfigMap MUST contain a values.yaml key. *ConfigMapHelmValuesFromSource false

Back to TOC

ParameterSelector

ParameterSelector selects a trial parameter assignment. Note that parameters values are used as is (i.e. in numeric form), for more control over the formatting of a parameter assignment use the template option on HelmValue.

Field Description Scheme Required
name The name of the trial parameter to use string true

Back to TOC

PatchOperation

PatchOperation represents a patch used to prepare the cluster for a trial run, includes the evaluated parameter assignments as necessary

Field Description Scheme Required
targetRef The reference to the object that the patched should be applied to ObjectReference true
patchType The patch content type, must be a type supported by the Kubernetes API server types.PatchType true
data The raw data representing the patch to be applied []byte true
attemptsRemaining The number of remaining attempts to apply the patch, will be automatically set to zero if the patch is successfully applied int false

Back to TOC

ReadinessCheck

ReadinessCheck represents a check to determine when the patched application is “ready” and it is safe to start the trial run job

Field Description Scheme Required
targetRef TargetRef is the reference to the object to test the readiness of ObjectReference true
selector Selector may be used to trigger a search for multiple related objects to search; this may have RBAC implications, in particular “list” permissions are required *LabelSelector false
conditionTypes ConditionTypes are the status conditions that must be “True”; in addition to conditions that appear in the status of the target object, additional special conditions starting with “stormforge.io/” can be tested []string false
initialDelaySeconds InitialDelaySeconds is the approximate number of seconds after all the patches have been applied to start evaluating this check int32 false
periodSeconds PeriodSeconds is the approximate amount of time in between evaluation attempts of this check int32 false
attemptsRemaining AttemptsRemaining is the number of failed attempts to allow before marking the entire trial as failed, will be automatically set to 0 if the check has been successfully evaluated int32 false
lastCheckTime LastCheckTime is the timestamp of the last evaluation attempt *metav1.Time false

Back to TOC

SetupTask

SetupTask represents the configuration necessary to apply application state to the cluster prior to each trial run and remove that state after the run concludes

Field Description Scheme Required
name The required name that uniquely identifies the setup task string true
image Image used for performing setup tasks, required unless helmChart is set string false
command Override the default command for the container []string false
args Override the default args for the container []string false
skipCreate Flag to indicate the creation part of the task can be skipped bool false
skipDelete Flag to indicate the deletion part of the task can be skipped bool false
volumeMounts Volume mounts for the setup task []VolumeMount false
env Environment variables to expose to the container []corev1.EnvVar false
labels Labels to associate with the setup task map[string]string false
helmChart The Helm chart reference to release as part of this task string false
helmChartVersion The Helm chart version, empty means use the latest string false
helmValues The Helm values to set, ignored unless helmChart is also set []HelmValue false
helmValuesFrom The Helm values, ignored unless helmChart is also set []HelmValuesFromSource false
helmRepository The Helm repository to fetch the chart from string false

Back to TOC

Trial

Trial is the Schema for the trials API

Field Description Scheme Required
metadata Standard object metadata ObjectMeta false
spec Specification of the desired behavior for a trial TrialSpec false
status Current status of a trial TrialStatus false

Back to TOC

TrialCondition

TrialCondition represents an observed condition of a trial

Field Description Scheme Required
type The condition type, e.g. “stormforge.io/trial-complete” TrialConditionType true
status The status of the condition, one of “True”, “False”, or “Unknown corev1.ConditionStatus true
lastProbeTime The last known time the condition was checked metav1.Time true
lastTransitionTime The time at which the condition last changed status metav1.Time true
reason A reason code describing the why the condition occurred string false
message A human-readable message describing the transition string false

Back to TOC

TrialList

TrialList contains a list of Trial

Field Description Scheme Required
metadata Standard list metadata ListMeta false
items The list of trials []Trial true

Back to TOC

TrialReadinessGate

TrialReadinessGate represents a readiness check on one or more objects that must pass after patches have been applied but before the trial run job can start

Field Description Scheme Required
kind Kind of the readiness target string false
name Name of the readiness target, mutually exclusive with “Selector” string false
apiVersion APIVersion of the readiness target string false
selector Selector matches the resources whose condition must be checked, mutually exclusive with “Name” *LabelSelector false
conditionTypes ConditionTypes are the status conditions that must be “True” []string false
initialDelaySeconds InitialDelaySeconds is the approximate number of seconds after all of the patches have been applied to start evaluating this check int32 false
periodSeconds PeriodSeconds is the approximate amount of time in between evaluation attempts of this check; defaults to 10 seconds, minimum value is 1 second int32 false
failureThreshold FailureThreshold is number of times that any of the specified ready conditions may be “False”; defaults to 3, minimum value is 1 int32 false

Back to TOC

TrialSpec

TrialSpec defines the desired state of Trial

Field Description Scheme Required
experimentRef ExperimentRef is the reference to the experiment that contains the definitions to use for this trial, defaults to an experiment in the same namespace with the same name *ObjectReference false
assignments Assignments are used to patch the cluster state prior to the trial run []Assignment false
selector Selector matches the job representing the trial run *LabelSelector false
initialDelaySeconds InitialDelaySeconds is number of seconds to wait after a trial becomes ready before starting the trial run job int32 false
startTimeOffset The offset used to adjust the start time to account for spin up of the trial run *metav1.Duration false
setupTasks Setup tasks that must run before the trial starts (and possibly after it ends) []SetupTask false
setupVolumes Volumes to make available to setup tasks, typically ConfigMap backed volumes []Volume false
setupServiceAccountName Service account name for running setup tasks, needs enough permissions to add and remove software string false
setupDefaultClusterRole Cluster role name to be assigned to the setup service account when creating namespaces string false
setupDefaultRules Policy rules to be assigned to the setup service account when creating namespaces []rbacv1.PolicyRule false
approximateRuntime The approximate amount of time the trial run should execute (not inclusive of the start time offset) *metav1.Duration false
readinessGates The readiness gates to check before running the trial job []TrialReadinessGate false
jobTemplate JobTemplate is the job template used to create trial run jobs *JobTemplateSpec false
ttlSecondsAfterFinished The minimum number of seconds before an attempt should be made to clean up the trial, if unset or negative no attempt is made to clean up the trial *int32 false
ttlSecondsAfterFailure The minimum number of seconds before an attempt should be made to clean up a failed trial, defaults to TTLSecondsAfterFinished *int32 false
values Values are the collected metrics at the end of the trial run []Value false

Back to TOC

TrialStatus

TrialStatus defines the observed state of Trial

Field Description Scheme Required
phase Phase is a brief human-readable description of the trial status string true
assignments Assignments is a string representation of the trial assignments for reporting purposes string true
values Values is a string representation of the trial values for reporting purposes string true
startTime StartTime is the effective (possibly adjusted) time the trial run job started *metav1.Time false
completionTime CompletionTime is the effective (possibly adjusted) time the trial run job completed *metav1.Time false
conditions Conditions is the current state of the trial []TrialCondition false
patchOperations PatchOperations are the patches from the experiment evaluated in the context of this trial []PatchOperation false
readinessChecks ReadinessChecks are the all the objects whose conditions need to be inspected for this trial []ReadinessCheck false

Back to TOC

Value

Value represents an observed metric value after a trial run has completed successfully. Value names must correspond to metric names on the associated experiment.

Field Description Scheme Required
name The metric name the value corresponds to string true
value The observed float64 value, formatted as a string string true
error The observed float64 error (standard deviation), formatted as a string string false
attemptsRemaining The number of remaining attempts to observe the value; is automatically set to 0 if the metric is successfully collected int false

Back to TOC

Last modified January 12, 2023