driver

package
v0.10.23 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 3, 2022 License: Apache-2.0 Imports: 40 Imported by: 0

Documentation

Overview

Package driver enables interaction with experiment resources. It provides drivers for local and Kubernetes experiments.

Index

Constants

View Source
const (
	// ExperimentSpecPath is the name of the experiment spec file
	ExperimentSpecPath = "experiment.yaml"
	// ExperimentMetricsPathSuffix is the name of the metrics spec file
	ExperimentMetricsPathSuffix = ".metrics.yaml"
	// ExperimentResultPath is the name of the experiment result file
	ExperimentResultPath = "result.yaml"
	// DefaultExperimentGroup is the name of the default experiment chart
	DefaultExperimentGroup = "default"
)
View Source
const (

	// ManifestFile is the name of the Kubernetes manifest file
	ManifestFile = "manifest.yaml"
)

Variables

This section is empty.

Functions

func MetricsSpecFromBytes added in v0.10.22

func MetricsSpecFromBytes(b []byte) (*template.Template, error)

MetricsSpecFromBytes reads metrics spec from bytes

func ResultFromBytes

func ResultFromBytes(b []byte) (*base.ExperimentResult, error)

ResultFromBytes reads experiment result from bytes

func SpecFromBytes

func SpecFromBytes(b []byte) (base.ExperimentSpec, error)

SpecFromBytes reads experiment spec from bytes

func UpdateChartDependencies added in v0.10.0

func UpdateChartDependencies(chartDir string, settings *cli.EnvSettings) error

UpdateChartDependencies for an Iter8 experiment chart for now this function has one purpose ... bring iter8lib dependency into other experiment charts like load-test-http

Types

type FileDriver

type FileDriver struct {
	// RunDir is the directory where the experiment.yaml file is to be found
	RunDir string
}

FileDriver enables reading and writing experiment spec and result files

func (*FileDriver) ReadMetricsSpec added in v0.10.22

func (f *FileDriver) ReadMetricsSpec(provider string) (*template.Template, error)

ReadMetricsSpec reads metrics spec from file

func (*FileDriver) ReadResult

func (f *FileDriver) ReadResult() (*base.ExperimentResult, error)

ReadResult reads experiment result from file

func (*FileDriver) ReadSpec

func (f *FileDriver) ReadSpec() (base.ExperimentSpec, error)

ReadSpec reads experiment spec from file

func (*FileDriver) WriteResult

func (f *FileDriver) WriteResult(res *base.ExperimentResult) error

WriteResult writes experiment result to file

type KubeDriver

type KubeDriver struct {
	// EnvSettings provides generic Kubernetes and Helm options
	*cli.EnvSettings
	// Clientset enables interaction with a Kubernetes cluster
	Clientset kubernetes.Interface
	// Configuration enables Helm-based interaction with a Kubernetes cluster
	*action.Configuration
	// Group is the experiment group
	Group string
	// contains filtered or unexported fields
}

KubeDriver embeds Helm and Kube configuration, and enables interaction with a Kubernetes cluster through Kube APIs and Helm APIs

func NewFakeKubeDriver

func NewFakeKubeDriver(s *cli.EnvSettings, objects ...runtime.Object) *KubeDriver

NewFakeKubeDriver creates and returns a new KubeDriver with fake clients

func NewKubeDriver

func NewKubeDriver(s *cli.EnvSettings) *KubeDriver

NewKubeDriver creates and returns a new KubeDriver

func (*KubeDriver) Delete added in v0.10.0

func (driver *KubeDriver) Delete() error

Delete a Kubernetes experiment group

func (*KubeDriver) GetExperimentLogs

func (driver *KubeDriver) GetExperimentLogs() (string, error)

GetExperimentLogs gets logs for a Kubernetes experiment

func (*KubeDriver) Init

func (kd *KubeDriver) Init() error

Init initializes the KubeDriver

func (*KubeDriver) InitKube added in v0.10.13

func (kd *KubeDriver) InitKube() error

InitKube initializes the Kubernetes clientset

func (*KubeDriver) Launch added in v0.10.9

func (driver *KubeDriver) Launch(chartDir string, valueOpts values.Options, group string, dry bool) error

Launch a Kubernetes experiment

func (*KubeDriver) ReadMetricsSpec added in v0.10.22

func (driver *KubeDriver) ReadMetricsSpec(provider string) (*template.Template, error)

ReadMetricsSpec creates a metrics Template struct for a Kubernetes experiment

func (*KubeDriver) ReadResult

func (driver *KubeDriver) ReadResult() (*base.ExperimentResult, error)

ReadResult creates an ExperimentResult struct for a Kubernetes experiment

func (*KubeDriver) ReadSpec

func (driver *KubeDriver) ReadSpec() (base.ExperimentSpec, error)

ReadSpec creates an ExperimentSpec struct for a Kubernetes experiment

func (*KubeDriver) WriteResult

func (driver *KubeDriver) WriteResult(r *base.ExperimentResult) error

WriteResult writes results for a Kubernetes experiment

type PayloadValue

type PayloadValue struct {
	// Op indicates the type of patch
	Op string `json:"op"`
	// Path is the JSON field path
	Path string `json:"path"`
	// Value is the value of the field
	Value string `json:"value"`
}

PayloadValue is used to patch Kubernetes resources

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL
JackTT - Gopher 🇻🇳