v1alpha1

package
v0.5.0 Latest Latest
Warning

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

Go to latest
Published: Oct 18, 2019 License: Apache-2.0 Imports: 6 Imported by: 0

Documentation

Overview

Package v1alpha1 is the v1alpha1 version of the API. +groupName=perf.kubestone.xridge.io

Package v1alpha1 contains API Schema definitions for the perf v1alpha1 API group +kubebuilder:object:generate=true +groupName=perf.kubestone.xridge.io

Index

Constants

View Source
const GeneratedPVC = "GENERATED"

GeneratedPVC is the pre-defined name to be used as ClaimName when the PVC is created on the fly for the benchmark.

View Source
const QperfPort = 19765

QperfPort is the TCP port where the qperf server and client listens

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "perf.kubestone.xridge.io", Version: "v1alpha1"}

	// SchemeBuilder is used to add go types to the GroupVersionKind scheme
	SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion}

	// AddToScheme adds the types in this group-version to the given scheme.
	AddToScheme = SchemeBuilder.AddToScheme
)

Functions

This section is empty.

Types

type BenchmarkStatus added in v0.4.0

type BenchmarkStatus struct {
	// Running shows the state of execution
	Running bool `json:"running"`
	// Completed shows the state of completion
	Completed bool `json:"completed"`
}

BenchmarkStatus describes the current state of the benchmark

func (*BenchmarkStatus) DeepCopy added in v0.4.0

func (in *BenchmarkStatus) DeepCopy() *BenchmarkStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BenchmarkStatus.

func (*BenchmarkStatus) DeepCopyInto added in v0.4.0

func (in *BenchmarkStatus) DeepCopyInto(out *BenchmarkStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Drill added in v0.3.0

type Drill struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   DrillSpec       `json:"spec,omitempty"`
	Status BenchmarkStatus `json:"status,omitempty"`
}

Drill is the Schema for the drills API

func (*Drill) DeepCopy added in v0.3.0

func (in *Drill) DeepCopy() *Drill

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Drill.

func (*Drill) DeepCopyInto added in v0.3.0

func (in *Drill) DeepCopyInto(out *Drill)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Drill) DeepCopyObject added in v0.3.0

func (in *Drill) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type DrillList added in v0.3.0

type DrillList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Drill `json:"items"`
}

DrillList contains a list of Drill

func (*DrillList) DeepCopy added in v0.3.0

func (in *DrillList) DeepCopy() *DrillList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DrillList.

func (*DrillList) DeepCopyInto added in v0.3.0

func (in *DrillList) DeepCopyInto(out *DrillList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*DrillList) DeepCopyObject added in v0.3.0

func (in *DrillList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type DrillSpec added in v0.3.0

type DrillSpec struct {
	// Image defines the drill docker image used for the benchmark
	Image ImageSpec `json:"image"`

	// BenchmarksVolume holds the content of benchmark files.
	// The key of the map specifies the filename and the value is the content
	// of the file. ConfigMap is created from the map which is mounted as
	// benchmarks directory to the benchmark pod.
	BenchmarksVolume map[string]string `json:"benchmarksVolume"`

	// BenchmarkFile is the entry point file (passed to --benchmark) specified to drill.
	BenchmarkFile string `json:"benchmarkFile"`

	// Options are appended to the options parameter set of drill
	// +optional
	Options string `json:"options,omitempty"`

	// PodConfig contains the configuration for the benchmark pod, including
	// pod labels and scheduling policies (affinity, toleration, node selector...)
	// +optional
	PodConfig PodConfigurationSpec `json:"podConfig,omitempty"`
}

DrillSpec defines benchmark run for drill load tester The benchmarkFile, and options is passed to drill as follows: drill [OPTIONS] --benchmark <benchmarkFile>

func (*DrillSpec) DeepCopy added in v0.3.0

func (in *DrillSpec) DeepCopy() *DrillSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DrillSpec.

func (*DrillSpec) DeepCopyInto added in v0.3.0

func (in *DrillSpec) DeepCopyInto(out *DrillSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Fio

type Fio struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   FioSpec         `json:"spec,omitempty"`
	Status BenchmarkStatus `json:"status,omitempty"`
}

Fio is the Schema for the fios API

func (*Fio) DeepCopy

func (in *Fio) DeepCopy() *Fio

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Fio.

func (*Fio) DeepCopyInto

func (in *Fio) DeepCopyInto(out *Fio)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Fio) DeepCopyObject

func (in *Fio) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type FioList

type FioList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Fio `json:"items"`
}

FioList contains a list of Fio

func (*FioList) DeepCopy

func (in *FioList) DeepCopy() *FioList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FioList.

func (*FioList) DeepCopyInto

func (in *FioList) DeepCopyInto(out *FioList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*FioList) DeepCopyObject

func (in *FioList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type FioSpec

type FioSpec struct {
	// Image defines the fio docker image used for the benchmark
	Image ImageSpec `json:"image"`

	// BuiltinJobFiles contains a list of fio job files that are already present
	// in the docker image
	// +optional
	BuiltinJobFiles []string `json:"builtinJobFiles,omitempty"`

	// CustomJobFiles contains a list of custom fio job files
	// The exact format of fio job files is documented here:
	// https://fio.readthedocs.io/en/latest/fio_doc.html#job-file-format
	// The job files defined here will be mounted to the fio benchmark container
	// +optional
	CustomJobFiles []string `json:"customJobFiles,omitempty"`

	// CmdLineArgs are appended to the predefined fio parameters
	// +optional
	CmdLineArgs string `json:"cmdLineArgs,omitempty"`

	// PodConfig contains the configuration for the benchmark pod, including
	// pod labels and scheduling policies (affinity, toleration, node selector...)
	// +optional
	PodConfig PodConfigurationSpec `json:"podConfig,omitempty"`

	// Volume contains the configuration for the volume that the fio job should
	// run on.
	Volume VolumeSpec `json:"volume"`
}

FioSpec defines the desired state of Fio

func (*FioSpec) DeepCopy

func (in *FioSpec) DeepCopy() *FioSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FioSpec.

func (*FioSpec) DeepCopyInto

func (in *FioSpec) DeepCopyInto(out *FioSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ImageSpec

type ImageSpec struct {
	// Name is the Docker Image location including the tag
	Name string `json:"name"`

	// +optional
	PullPolicy PullPolicy `json:"pullPolicy,omitempty"`

	// PullSecret is an optional list of references to secrets
	// in the same namespace to use for pulling any of the images
	// +optional
	PullSecret string `json:"pullSecret,omitempty"`
}

ImageSpec defines parameters for docker image executed on Kubernetes

func (*ImageSpec) DeepCopy

func (in *ImageSpec) DeepCopy() *ImageSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImageSpec.

func (*ImageSpec) DeepCopyInto

func (in *ImageSpec) DeepCopyInto(out *ImageSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Ioping added in v0.4.1

type Ioping struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   IopingSpec      `json:"spec,omitempty"`
	Status BenchmarkStatus `json:"status,omitempty"`
}

Ioping is the Schema for the iopings API

func (*Ioping) DeepCopy added in v0.4.1

func (in *Ioping) DeepCopy() *Ioping

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Ioping.

func (*Ioping) DeepCopyInto added in v0.4.1

func (in *Ioping) DeepCopyInto(out *Ioping)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Ioping) DeepCopyObject added in v0.4.1

func (in *Ioping) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type IopingList added in v0.4.1

type IopingList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Ioping `json:"items"`
}

IopingList contains a list of Ioping

func (*IopingList) DeepCopy added in v0.4.1

func (in *IopingList) DeepCopy() *IopingList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IopingList.

func (*IopingList) DeepCopyInto added in v0.4.1

func (in *IopingList) DeepCopyInto(out *IopingList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*IopingList) DeepCopyObject added in v0.4.1

func (in *IopingList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type IopingSpec added in v0.4.1

type IopingSpec struct {
	// Image defines the ioping docker image used for the benchmark
	Image ImageSpec `json:"image"`

	// Args are appended to the predefined ioping parameters
	// +optional
	Args string `json:"args,omitempty"`

	// PodConfig contains the configuration for the benchmark pod, including
	// pod labels and scheduling policies (affinity, toleration, node selector...)
	// +optional
	PodConfig PodConfigurationSpec `json:"podConfig,omitempty"`

	// Volume contains the configuration for the volume that the ioping job should
	// run on.
	Volume VolumeSpec `json:"volume"`
}

IopingSpec defines the ioping benchmark run

func (*IopingSpec) DeepCopy added in v0.4.1

func (in *IopingSpec) DeepCopy() *IopingSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IopingSpec.

func (*IopingSpec) DeepCopyInto added in v0.4.1

func (in *IopingSpec) DeepCopyInto(out *IopingSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Iperf3

type Iperf3 struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   Iperf3Spec      `json:"spec,omitempty"`
	Status BenchmarkStatus `json:"status,omitempty"`
}

Iperf3 is the Schema for the iperf3s API

func (*Iperf3) DeepCopy

func (in *Iperf3) DeepCopy() *Iperf3

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Iperf3.

func (*Iperf3) DeepCopyInto

func (in *Iperf3) DeepCopyInto(out *Iperf3)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Iperf3) DeepCopyObject

func (in *Iperf3) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type Iperf3ConfigurationSpec

type Iperf3ConfigurationSpec struct {
	PodConfigurationSpec `json:",inline"`

	// CmdLineArgs are appended to the predefined iperf3 parameters
	// +optional
	CmdLineArgs string `json:"cmdLineArgs,omitempty"`

	// HostNetwork requested for the iperf3 pod, if enabled the
	// hosts network namespace is used. Default to false.
	// +optional
	HostNetwork bool `json:"hostNetwork,omitempty"`
}

Iperf3ConfigurationSpec contains configuration parameters with scheduling options for the both the iperf3 client and server instances.

func (*Iperf3ConfigurationSpec) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Iperf3ConfigurationSpec.

func (*Iperf3ConfigurationSpec) DeepCopyInto

func (in *Iperf3ConfigurationSpec) DeepCopyInto(out *Iperf3ConfigurationSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Iperf3List

type Iperf3List struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Iperf3 `json:"items"`
}

Iperf3List contains a list of Iperf3

func (*Iperf3List) DeepCopy

func (in *Iperf3List) DeepCopy() *Iperf3List

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Iperf3List.

func (*Iperf3List) DeepCopyInto

func (in *Iperf3List) DeepCopyInto(out *Iperf3List)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Iperf3List) DeepCopyObject

func (in *Iperf3List) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type Iperf3Spec

type Iperf3Spec struct {
	// Image defines the iperf3 docker image used for the benchmark
	Image ImageSpec `json:"image"`

	// ServerConfiguration contains the configuration of the iperf3 server
	// +optional
	ServerConfiguration Iperf3ConfigurationSpec `json:"serverConfiguration,omitempty"`

	// ClientConfiguration contains the configuration of the iperf3 client
	// +optional
	ClientConfiguration Iperf3ConfigurationSpec `json:"clientConfiguration,omitempty"`

	// UDP to use rather than TCP.
	// If enabled the '--udp' parameter is added to iperf command line args
	// +optional
	UDP bool `json:"udp,omitempty"`
}

Iperf3Spec defines the Iperf3 Benchmark Stone which consist of server deployment with service definition and client pod.

func (*Iperf3Spec) DeepCopy

func (in *Iperf3Spec) DeepCopy() *Iperf3Spec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Iperf3Spec.

func (*Iperf3Spec) DeepCopyInto

func (in *Iperf3Spec) DeepCopyInto(out *Iperf3Spec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Pgbench added in v0.4.0

type Pgbench struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   PgbenchSpec     `json:"spec,omitempty"`
	Status BenchmarkStatus `json:"status,omitempty"`
}

Pgbench is the Schema for the pgbenches API

func (*Pgbench) DeepCopy added in v0.4.0

func (in *Pgbench) DeepCopy() *Pgbench

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Pgbench.

func (*Pgbench) DeepCopyInto added in v0.4.0

func (in *Pgbench) DeepCopyInto(out *Pgbench)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Pgbench) DeepCopyObject added in v0.4.0

func (in *Pgbench) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type PgbenchList added in v0.4.0

type PgbenchList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Pgbench `json:"items"`
}

PgbenchList contains a list of Pgbench

func (*PgbenchList) DeepCopy added in v0.4.0

func (in *PgbenchList) DeepCopy() *PgbenchList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PgbenchList.

func (*PgbenchList) DeepCopyInto added in v0.4.0

func (in *PgbenchList) DeepCopyInto(out *PgbenchList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*PgbenchList) DeepCopyObject added in v0.4.0

func (in *PgbenchList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type PgbenchSpec added in v0.4.0

type PgbenchSpec struct {
	// Image defines the docker image used for the benchmark
	Image ImageSpec `json:"image"`

	// Postgres contains the configuration parameters for the PostgreSQL database
	// that will run the benchmark
	Postgres PostgresSpec `json:"postgres"`

	// InitArgs contains the command line arguments passed to the init container
	// +optional
	InitArgs string `json:"initArgs,omitempty"`

	// Args contains the command line arguments passed to the main pgbench container
	// +optional
	Args string `json:"args,omitempty"`

	// PodConfig contains the configuration for the benchmark pod, including
	// pod labels and scheduling policies (affinity, toleration, node selector...)
	// +optional
	PodConfig PodConfigurationSpec `json:"podConfig,omitempty"`
}

PgbenchSpec describes a pgbench benchmark job

func (*PgbenchSpec) DeepCopy added in v0.4.0

func (in *PgbenchSpec) DeepCopy() *PgbenchSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PgbenchSpec.

func (*PgbenchSpec) DeepCopyInto added in v0.4.0

func (in *PgbenchSpec) DeepCopyInto(out *PgbenchSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PodConfigurationSpec added in v0.1.1

type PodConfigurationSpec struct {
	// PodLabels are added to the pod as labels.
	// +optional
	PodLabels map[string]string `json:"podLabels,omitempty"`

	// PodScheduling contains options to determine which
	// node the pod should be scheduled on
	// +optional
	PodScheduling PodSchedulingSpec `json:"podScheduling,omitempty"`

	// Resources required by the benchmark pod container
	// More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/
	// +optional
	Resources corev1.ResourceRequirements `json:"resources,omitempty"`
}

PodConfigurationSpec contains the configuration for the benchmark pods

func (*PodConfigurationSpec) DeepCopy added in v0.1.1

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodConfigurationSpec.

func (*PodConfigurationSpec) DeepCopyInto added in v0.1.1

func (in *PodConfigurationSpec) DeepCopyInto(out *PodConfigurationSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PodSchedulingSpec

type PodSchedulingSpec struct {
	// Affinity is a group of affinity scheduling rules.
	// +optional
	Affinity *corev1.Affinity `json:"affinity,omitempty"`

	// If specified, the pod's tolerations.
	// +optional
	Tolerations []corev1.Toleration `json:"tolerations,omitempty"`

	// A node selector represents the union of the results of
	// one or more label queries over a set of nodes; that is,
	// it represents the OR of the selectors represented by the
	// node selector terms.
	// +optional
	NodeSelector map[string]string `json:"nodeSelector,omitempty"`

	// NodeName is a request to schedule this pod onto a specific node. If it is non-empty,
	// the scheduler simply schedules this pod onto that node, assuming that it fits resource
	// requirements.
	// +optional
	NodeName string `json:"nodeName,omitempty"`
}

PodSchedulingSpec encapsulates the scheduling related fields of a Kubernetes Pod

func (*PodSchedulingSpec) DeepCopy

func (in *PodSchedulingSpec) DeepCopy() *PodSchedulingSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodSchedulingSpec.

func (*PodSchedulingSpec) DeepCopyInto

func (in *PodSchedulingSpec) DeepCopyInto(out *PodSchedulingSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PostgresSpec added in v0.4.0

type PostgresSpec struct {
	// Host is the name of host to connect to
	Host string `json:"host"`

	// Port number to connect to at the server host
	Port int `json:"port"`

	// User is the PostgreSQL user name to connect as
	User string `json:"user"`

	// Password is to be used if the server demands password authentication
	Password string `json:"password"`

	// Database is name of the database
	Database string `json:"database"`
}

PostgresSpec contains the configuration parameters for the PostreSQL database

func (*PostgresSpec) DeepCopy added in v0.4.0

func (in *PostgresSpec) DeepCopy() *PostgresSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PostgresSpec.

func (*PostgresSpec) DeepCopyInto added in v0.4.0

func (in *PostgresSpec) DeepCopyInto(out *PostgresSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PullPolicy

type PullPolicy string

PullPolicy controls how the docker images are downloaded Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. +kubebuilder:validation:Enum=Always;Never;IfNotPresent

type Qperf added in v0.4.1

type Qperf struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   QperfSpec       `json:"spec,omitempty"`
	Status BenchmarkStatus `json:"status,omitempty"`
}

Qperf is the Schema for the qperves API

func (*Qperf) DeepCopy added in v0.4.1

func (in *Qperf) DeepCopy() *Qperf

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Qperf.

func (*Qperf) DeepCopyInto added in v0.4.1

func (in *Qperf) DeepCopyInto(out *Qperf)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Qperf) DeepCopyObject added in v0.4.1

func (in *Qperf) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type QperfConfigurationSpec added in v0.4.1

type QperfConfigurationSpec struct {
	PodConfigurationSpec `json:",inline"`

	// HostNetwork requested for the qperf pod, if enabled the
	// hosts network namespace is used. Default to false.
	// +optional
	HostNetwork bool `json:"hostNetwork,omitempty"`
}

QperfConfigurationSpec contains configuration parameters with scheduling options for the both the qperf client and server instances.

func (*QperfConfigurationSpec) DeepCopy added in v0.4.1

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new QperfConfigurationSpec.

func (*QperfConfigurationSpec) DeepCopyInto added in v0.4.1

func (in *QperfConfigurationSpec) DeepCopyInto(out *QperfConfigurationSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type QperfList added in v0.4.1

type QperfList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Qperf `json:"items"`
}

QperfList contains a list of Qperf

func (*QperfList) DeepCopy added in v0.4.1

func (in *QperfList) DeepCopy() *QperfList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new QperfList.

func (*QperfList) DeepCopyInto added in v0.4.1

func (in *QperfList) DeepCopyInto(out *QperfList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*QperfList) DeepCopyObject added in v0.4.1

func (in *QperfList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type QperfSpec added in v0.4.1

type QperfSpec struct {
	// Image defines the qperf docker image used for the benchmark
	Image ImageSpec `json:"image"`

	// Options are options for the qperf binary
	// +optional
	Options string `json:"options,omitempty"`

	// Tests are the tests that we would like to run
	Tests []string `json:"tests"`

	// ServerConfiguration contains the configuration of the qperf server
	// +optional
	ServerConfiguration QperfConfigurationSpec `json:"serverConfiguration,omitempty"`

	// ClientConfiguration contains the configuration of the qperf client
	// +optional
	ClientConfiguration QperfConfigurationSpec `json:"clientConfiguration,omitempty"`
}

QperfSpec defines the Qperf Benchmark Stone which consist of server deployment with service definition and client pod.

func (*QperfSpec) DeepCopy added in v0.4.1

func (in *QperfSpec) DeepCopy() *QperfSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new QperfSpec.

func (*QperfSpec) DeepCopyInto added in v0.4.1

func (in *QperfSpec) DeepCopyInto(out *QperfSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Sysbench added in v0.2.0

type Sysbench struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   SysbenchSpec    `json:"spec,omitempty"`
	Status BenchmarkStatus `json:"status,omitempty"`
}

Sysbench is the Schema for the sysbenches API

func (*Sysbench) DeepCopy added in v0.2.0

func (in *Sysbench) DeepCopy() *Sysbench

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Sysbench.

func (*Sysbench) DeepCopyInto added in v0.2.0

func (in *Sysbench) DeepCopyInto(out *Sysbench)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Sysbench) DeepCopyObject added in v0.2.0

func (in *Sysbench) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type SysbenchList added in v0.2.0

type SysbenchList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Sysbench `json:"items"`
}

SysbenchList contains a list of Sysbench

func (*SysbenchList) DeepCopy added in v0.2.0

func (in *SysbenchList) DeepCopy() *SysbenchList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SysbenchList.

func (*SysbenchList) DeepCopyInto added in v0.2.0

func (in *SysbenchList) DeepCopyInto(out *SysbenchList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*SysbenchList) DeepCopyObject added in v0.2.0

func (in *SysbenchList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type SysbenchSpec added in v0.2.0

type SysbenchSpec struct {
	// Image defines the sysbench docker image used for the benchmark
	Image ImageSpec `json:"image"`

	// PodConfig contains the configuration for the benchmark pod, including
	// pod labels and scheduling policies (affinity, toleration, node selector...)
	// +optional
	PodConfig PodConfigurationSpec `json:"podConfig,inline"`

	// Options is a list of zero or more command line options starting with '--'.
	// +optional
	Options string `json:"options,omitempty"`

	// TestName is the name of a built-in test (e.g. `fileio`, `memory`, `cpu`, etc.), or a name of one of the bundled
	// Lua scripts (e.g. `oltp_read_only`), or a path to a custom Lua script.
	TestName string `json:"testName"`

	// Command is an optional argument that will be passed by sysbench to the built-in test or script specified with
	// TestName. Command defines the action that must be performed by the test. The list of available commands depends
	// on a particular test. Some tests also implement their own custom commands.
	// +optional
	Command string `json:"command,omitempty"`
}

SysbenchSpec contains the configuration parameters with scheduling options for the sysbench benchmark. The options, testName and command parameters are passed to the sysbench benchmarking application.

func (*SysbenchSpec) DeepCopy added in v0.2.0

func (in *SysbenchSpec) DeepCopy() *SysbenchSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SysbenchSpec.

func (*SysbenchSpec) DeepCopyInto added in v0.2.0

func (in *SysbenchSpec) DeepCopyInto(out *SysbenchSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type VolumeSpec added in v0.4.1

type VolumeSpec struct {
	// VolumeSource represents the source of the volume, e.g. EmptyDir,
	// HostPath, Ceph, PersistentVolumeClaim, etc.
	// PersistentVolumeClaim.claimName can be set to point to an already
	// existing PVC or could be set to 'GENERATED'. When set to 'GENERATED'
	// The PVC will be created based on the PersistentVolumeClaimSpec provided
	// to the VolumeSpec.
	VolumeSource corev1.VolumeSource `json:"volumeSource"`

	// PersistentVolumeClaimSpec describes the persistent volume claim that will be
	// created and used by the pod. If specified, the VolumeSource.PersistentVolumeClaim's
	// claimName must be set to 'GENERATED'
	// +optional
	PersistentVolumeClaimSpec *corev1.PersistentVolumeClaimSpec `json:"persistentVolumeClaimSpec,omitempty"`
}

VolumeSpec contains the Volume Definition used for the benchmarks. It can point to an EmptyDir, HostPath, already existing PVC or PVC to be created benchmark time.

func (*VolumeSpec) DeepCopy added in v0.4.1

func (in *VolumeSpec) DeepCopy() *VolumeSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VolumeSpec.

func (*VolumeSpec) DeepCopyInto added in v0.4.1

func (in *VolumeSpec) DeepCopyInto(out *VolumeSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*VolumeSpec) Validate added in v0.4.1

func (v *VolumeSpec) Validate() (ok bool, err error)

Validate method validates that the provided VolumeSpec meets the requirements: If PersistentVolumeClaimSpec is provided, then the VolumeSource's PersistentVolumClaim's ClaimName should be set to GeneratedPVC

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL