Skip to content

iter8 k assert

iter8 k assert

Assert if experiment result satisfies the specified conditions

Synopsis

Assert if experiment result satisfies the specified conditions. If assert conditions are satisfied, exit with code 0. Else, exit with code 1. Assertions are especially useful within CI/CD/GitOps pipelines.

iter8 k assert [flags]

Examples

# Assert that the most recent experiment has completed
# without failure and its SLOs were satisfied for all versions
iter8 k assert -c completed -c nofailure -c slos

# Another way to express the same assertion
iter8 k assert -c completed,nofailure,slos

# Make assertion about the most recent experiment with app label $APP
iter8 k assert -a $APP -c completed,nofailure,slos

# For experiments with multiple versions, specify that the SLOs for one version were satisfied
iter8 k assert -c completed,nofailure,slosby=0

# The above assertion for an experiment with identifier $ID
iter8 k assert --id $ID -c completed,nofailure,slosby=0

# The above assertion with a runtime timeout
iter8 k assert --id $ID -c completed,nofailure,slosby=0 -t 5s

Options

  -a, --app string                                                                       app label; this flag is ignored if --id flag is specified
  -c, --condition(s); can specify multiple or separate conditions with commas; strings   completed | nofailure | slos | slosby=<version number>
  -h, --help                                                                             help for assert
  -i, --id string                                                                        experiment identifier; if not specified, the most recent experiment is used
  -t, --timeout duration                                                                 timeout duration (e.g., 5s)

Options inherited from parent commands

      --as string                      Username to impersonate for the operation
      --as-group stringArray           Group to impersonate for the operation, this flag can be repeated to specify multiple groups.
      --cache-dir string               Default cache directory (default "/Users/srinivasanparthasarathy/.kube/cache")
      --certificate-authority string   Path to a cert file for the certificate authority
      --client-certificate string      Path to a client certificate file for TLS
      --client-key string              Path to a client key file for TLS
      --cluster string                 The name of the kubeconfig cluster to use
      --context string                 The name of the kubeconfig context to use
      --insecure-skip-tls-verify       If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure
      --kubeconfig string              Path to the kubeconfig file to use for CLI requests.
  -n, --namespace string               If present, the namespace scope for this CLI request
      --password string                Password for basic authentication to the API server
      --request-timeout string         The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. (default "0")
  -s, --server string                  The address and port of the Kubernetes API server
      --tls-server-name string         Server name to use for server certificate validation. If it is not provided, the hostname used to contact the server is used
      --token string                   Bearer token for authentication to the API server
      --user string                    The name of the kubeconfig user to use
      --username string                Username for basic authentication to the API server

SEE ALSO

  • iter8 k - Work with experiments running in Kubernetes
Auto generated by spf13/cobra on 16-Jan-2022
Back to top