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
- Variables
- type BenchmarkStatus
- type Drill
- type DrillList
- type DrillSpec
- type Fio
- type FioList
- type FioSpec
- type ImageSpec
- type Ioping
- type IopingList
- type IopingSpec
- type Iperf3
- type Iperf3ConfigurationSpec
- type Iperf3List
- type Iperf3Spec
- type Pgbench
- type PgbenchList
- type PgbenchSpec
- type PodConfigurationSpec
- type PodSchedulingSpec
- type PostgresSpec
- type PullPolicy
- type Qperf
- type QperfConfigurationSpec
- type QperfList
- type QperfSpec
- type Sysbench
- type SysbenchList
- type SysbenchSpec
- type VolumeSpec
Constants ¶
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.
const QperfPort = 19765
QperfPort is the TCP port where the qperf server and client listens
Variables ¶
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
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Drill.
func (*Drill) DeepCopyInto ¶ added in v0.3.0
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
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
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DrillList.
func (*DrillList) DeepCopyInto ¶ added in v0.3.0
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
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
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DrillSpec.
func (*DrillSpec) DeepCopyInto ¶ added in v0.3.0
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Fio.
func (*Fio) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Fio) DeepCopyObject ¶
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FioList.
func (*FioList) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*FioList) DeepCopyObject ¶
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FioSpec.
func (*FioSpec) DeepCopyInto ¶
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImageSpec.
func (*ImageSpec) DeepCopyInto ¶
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
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Ioping.
func (*Ioping) DeepCopyInto ¶ added in v0.4.1
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
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Iperf3.
func (*Iperf3) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Iperf3) DeepCopyObject ¶
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 ¶
func (in *Iperf3ConfigurationSpec) DeepCopy() *Iperf3ConfigurationSpec
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
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Pgbench.
func (*Pgbench) DeepCopyInto ¶ added in v0.4.0
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
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
func (in *PodConfigurationSpec) DeepCopy() *PodConfigurationSpec
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
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Qperf.
func (*Qperf) DeepCopyInto ¶ added in v0.4.1
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
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
func (in *QperfConfigurationSpec) DeepCopy() *QperfConfigurationSpec
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
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new QperfList.
func (*QperfList) DeepCopyInto ¶ added in v0.4.1
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
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
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new QperfSpec.
func (*QperfSpec) DeepCopyInto ¶ added in v0.4.1
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
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Sysbench.
func (*Sysbench) DeepCopyInto ¶ added in v0.2.0
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
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