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