Documentation ¶
Overview ¶
Package v1beta1 contains API Schema definitions for the test v1beta1 API group +kubebuilder:object:generate=true +groupName=test.openstack.org
Index ¶
- Constants
- Variables
- type ExternalPluginType
- type Hash
- type Tempest
- type TempestList
- type TempestRunSpec
- type TempestSpec
- type TempestStatus
- type TempestconfRunSpec
- type Tobiko
- type TobikoList
- type TobikoSpec
- type TobikoStatus
- type TobikoWorkflowSpec
- type WorkflowTempestRunSpec
- type WorkflowTempestSpec
- type WorkflowTempestconfRunSpec
Constants ¶
const (
// ConfigHash - TempestConfigHash key
ConfigHash = "TempestConfigHash"
)
Variables ¶
var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{Group: "test.openstack.org", Version: "v1beta1"} // 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 ExternalPluginType ¶
type ExternalPluginType struct { // +kubebuilder:validation:Required // URL that points to a git repository containing an external plugin. Repository string `json:"repository,omitempty"` // +kubebuilder:validation:Optional // URL that points to a repository that contains a change that should be // applied to the repository defined by Repository (ChangeRefspec must be // defined as well). ChangeRepository string `json:"changeRepository,omitempty"` // +kubebuilder:validation:Optional // ChangeRefspec specifies which change the remote repository should be // checked out to (ChangeRepository must be defined as well). ChangeRefspec string `json:"changeRefspec,omitempty"` }
ExternalPluginType - is used to specify a plugin that should be installed from an external resource
func (*ExternalPluginType) DeepCopy ¶
func (in *ExternalPluginType) DeepCopy() *ExternalPluginType
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExternalPluginType.
func (*ExternalPluginType) DeepCopyInto ¶
func (in *ExternalPluginType) DeepCopyInto(out *ExternalPluginType)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Hash ¶
type Hash struct { // Name of hash referencing the parameter Name string `json:"name,omitempty"` // Hash Hash string `json:"hash,omitempty"` }
Hash - struct to add hashes to status
func (*Hash) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Hash.
func (*Hash) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Tempest ¶
type Tempest struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec TempestSpec `json:"spec,omitempty"` Status TempestStatus `json:"status,omitempty"` }
Tempest is the Schema for the tempests API
func (*Tempest) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Tempest.
func (*Tempest) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Tempest) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (Tempest) RbacConditionsSet ¶
RbacConditionsSet - set the conditions for the rbac object
func (Tempest) RbacNamespace ¶
RbacNamespace - return the namespace
func (Tempest) RbacResourceName ¶
RbacResourceName - return the name to be used for rbac objects (serviceaccount, role, rolebinding)
type TempestList ¶
type TempestList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []Tempest `json:"items"` }
TempestList contains a list of Tempest
func (*TempestList) DeepCopy ¶
func (in *TempestList) DeepCopy() *TempestList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TempestList.
func (*TempestList) DeepCopyInto ¶
func (in *TempestList) DeepCopyInto(out *TempestList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*TempestList) DeepCopyObject ¶
func (in *TempestList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type TempestRunSpec ¶
type TempestRunSpec struct { // +kubebuilder:validation:Optional // +kubebuilder:default="tempest.api.identity.v3" // A content of include.txt file that is passed to tempest via --include-list IncludeList string `json:"includeList,omitempty"` // +kubebuilder:validation:Optional // A content of exclude.txt file that is passed to tempest via --exclude-list ExcludeList string `json:"excludeList,omitempty"` // +kubebuilder:validation:Optional // +kubebuilder:default:=-1 // Concurrency value that is passed to tempest via --concurrency Concurrency int64 `json:"concurrency,omitempty"` // +kubebuilder:validation:Optional // +kubebuilder:default:=false // Indicate whether tempest should be executed with --smoke Smoke bool `json:"smoke,omitempty"` // +kubebuilder:validation:Optional // +kubebuilder:default:=true // Indicate whether tempest should be executed with --parallel Parallel bool `json:"parallel,omitempty"` // +kubebuilder:validation:Optional // +kubebuilder:default:=false // Indicate whether tempest should be executed with --serial Serial bool `json:"serial,omitempty"` // +kubebuilder:validation:Optional // +kubebuilder:default:="" // A content of worker_file.yaml that is passed to tempest via --worker-file WorkerFile string `json:"workerFile,omitempty"` // +kubebuilder:validation:Optional // ExternalPlugin contains information about plugin that should be installed // within the tempest test pod. If this option is specified then only tests // that are part of the external plugin can be executed. ExternalPlugin []ExternalPluginType `json:"externalPlugin,omitempty"` // +kubebuilder:validation:Optional // +kubebuilder:default:="" // Add extra image for Neutron Tempest plugin NeutronExtraImage string `json:"neutronExtraImage,omitempty"` }
TempestRunSpec - is used to configure execution of tempest. Please refer to Please refer to https://docs.openstack.org/tempest/latest/ for the further explanation of the CLI parameters.
func (*TempestRunSpec) DeepCopy ¶
func (in *TempestRunSpec) DeepCopy() *TempestRunSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TempestRunSpec.
func (*TempestRunSpec) DeepCopyInto ¶
func (in *TempestRunSpec) DeepCopyInto(out *TempestRunSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TempestSpec ¶
type TempestSpec struct { // +kubebuilder:validation:Optional // +kubebuilder:default="s0:c478,c978" // A SELinuxLevel that is used for all the tempest test pods. SELinuxLevel string `json:"SELinuxLevel"` // +kubebuilder:validation:Optional // +kubebuilder:default="local-storage" // Name of a storage class that is used to create PVCs for logs storage. Required // if default storage class does not exist. StorageClass string `json:"storageClass"` // +kubebuilder:validation:Required // An URL of a tempest container image that should be used for the execution // of tempest tests. ContainerImage string `json:"containerImage"` // +kubebuilder:validation:Optional // +kubebuilder:default=false // By default test-operator executes the test-pods sequentially if multiple // instances of test-operator related CRs exist. If you want to turn off this // behaviour then set this option to true. Parallel bool `json:"parallel,omitempty"` // +kubebuilder:validation:Optional // NodeSelector to target subset of worker nodes running this service NodeSelector map[string]string `json:"nodeSelector,omitempty"` // +kubebuilder:validation:Required // +kubebuilder:default=openstack-config // OpenStackConfigMap is the name of the ConfigMap containing the clouds.yaml OpenStackConfigMap string `json:"openStackConfigMap"` // +kubebuilder:validation:Required // +kubebuilder:default=openstack-config-secret // OpenStackConfigSecret is the name of the Secret containing the secure.yaml OpenStackConfigSecret string `json:"openStackConfigSecret"` // +kubebuilder:validation:Optional // NetworkAttachments is a list of NetworkAttachment resource names to expose // the services to the given network NetworkAttachments []string `json:"networkAttachments,omitempty"` // BackoffLimimt allows to define the maximum number of retried executions (defaults to 6). // +kubebuilder:default:=0 // +operator-sdk:csv:customresourcedefinitions:type=spec,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:number"} BackoffLimit *int32 `json:"backoffLimit,omitempty"` // +kubebuilder:validation:Optional TempestRun TempestRunSpec `json:"tempestRun,omitempty"` // +kubebuilder:validation:Optional TempestconfRun TempestconfRunSpec `json:"tempestconfRun,omitempty"` // +kubebuilder:validation:Optional // +kubebuilder:default="" // SSHKeySecretName is the name of the k8s secret that contains an ssh key. // The key is mounted to ~/.ssh/id_ecdsa in the tempest pod SSHKeySecretName string `json:"SSHKeySecretName,omitempty"` // +kubebuilder:validation:Optional // ConfigOverwrite - interface to overwrite default config files like e.g. logging.conf // But can also be used to add additional files. Those get added to the // service config dir in /etc/test_operator/<file> ConfigOverwrite map[string]string `json:"configOverwrite,omitempty"` // +kubebuilder:validation:Optional // Workflow - can be used to specify a multiple executions of tempest with // a different configuration in a single CR. Accepts a list of dictionaries // where each member of the list accepts the same values as the Tempest CR // does in the `spec“ section. Values specified using the workflow section have // a higher precedence than the values specified higher in the Tempest CR // hierarchy. Workflow []WorkflowTempestSpec `json:"workflow,omitempty"` }
TempestSpec - configuration of execution of tempest. For specific configuration of tempest see TempestRunSpec and for discover-tempest-config see TempestconfRunSpec.
func (*TempestSpec) DeepCopy ¶
func (in *TempestSpec) DeepCopy() *TempestSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TempestSpec.
func (*TempestSpec) DeepCopyInto ¶
func (in *TempestSpec) DeepCopyInto(out *TempestSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TempestStatus ¶
type TempestStatus struct { // Map of hashes to track e.g. job status Hash map[string]string `json:"hash,omitempty"` // Conditions Conditions condition.Conditions `json:"conditions,omitempty" optional:"true"` // NetworkAttachments status of the deployment pods NetworkAttachments map[string][]string `json:"networkAttachments,omitempty"` }
TempestStatus defines the observed state of Tempest
func (*TempestStatus) DeepCopy ¶
func (in *TempestStatus) DeepCopy() *TempestStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TempestStatus.
func (*TempestStatus) DeepCopyInto ¶
func (in *TempestStatus) DeepCopyInto(out *TempestStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TempestconfRunSpec ¶
type TempestconfRunSpec struct { // +kubebuilder:validation:Optional // +kubebuilder:default=true // Indicate whether discover-tempest-config should be executed with --create Create bool `json:"create"` // +kubebuilder:validation:Optional // +kubebuilder:default=false // Indicate whether discover-tempest-config should be executed with // --collect-timing CollectTiming bool `json:"collectTiming"` // +kubebuilder:validation:Optional // +kubebuilder:default=false // Indicate whether discover-tempest-config should be executed with --insecure Insecure bool `json:"insecure"` // +kubebuilder:validation:Optional // +kubebuilder:default=false // Indicate whether discover-tempest-config should be executed with // --no-default-deployer NoDefaultDeployer bool `json:"noDefaultDeployer"` // +kubebuilder:validation:Optional // +kubebuilder:default=false // Indicate whether discover-tempest-config should be executed with --debug Debug bool `json:"debug"` // +kubebuilder:validation:Optional // +kubebuilder:default=false // Indicate whether discover-tempest-config should be executed with --verbose Verbose bool `json:"verbose"` // +kubebuilder:validation:Optional // +kubebuilder:default=false // Indicate whether discover-tempest-config should be executed with --non-admin NonAdmin bool `json:"nonAdmin"` // +kubebuilder:validation:Optional // +kubebuilder:default=false // Indicate whether discover-tempest-config should be executed with --retry-image RetryImage bool `json:"retryImage"` // +kubebuilder:validation:Optional // +kubebuilder:default=false // Indicate whether discover-tempest-config should be executed with // --convert-to-raw ConvertToRaw bool `json:"convertToRaw"` // +kubebuilder:validation:Optional // +kubebuilder:default="" // The content of this variable will be passed to discover-tempest-config via // the --out parameter Out string `json:"out"` // +kubebuilder:validation:Optional // +kubebuilder:default="" // A content of deployer_input.ini that is passed to tempest via --deployer-input DeployerInput string `json:"deployerInput"` // +kubebuilder:validation:Optional // +kubebuilder:default="" // A content of accounts.yaml that is passed to tempest via --test-acounts TestAccounts string `json:"testAccounts"` // +kubebuilder:validation:Optional // +kubebuilder:default="" // The content of this variable will be passed to discover-tempest-config via // the --create-accounts-file CreateAccountsFile string `json:"createAccountsFile"` // +kubebuilder:validation:Optional // +kubebuilder:default="" // A content of profile.yaml that is passed to tempest via --profile Profile string `json:"profile"` // +kubebuilder:validation:Optional // +kubebuilder:default="" // The content of this variable will be passed to discover-tempest-config via // --generate-profile GenerateProfile string `json:"generateProfile"` // +kubebuilder:validation:Optional // +kubebuilder:default="" // The content of this variable will be passed to discover-tempest-config via // --image-disk-format ImageDiskFormat string `json:"imageDiskFormat"` // +kubebuilder:validation:Optional // +kubebuilder:default="" // The content of this variable will be passed to discover-tempest-config via // --image Image string `json:"image"` // +kubebuilder:validation:Optional // +kubebuilder:default=0 // The content of this variable will be passed to discover-tempest-config via // --flavor-min-mem FlavorMinMem int64 `json:"flavorMinMem"` // +kubebuilder:validation:Optional // +kubebuilder:default=0 // The content of this variable will be passed to discover-tempest-config via // --flavor-min-disk FlavorMinDisk int64 `json:"flavorMinDisk"` // +kubebuilder:validation:Optional // +kubebuilder:default="" // The content of this variable will be passed to discover-tempest-config via // --network-id NetworkID string `json:"networkID"` // +kubebuilder:validation:Optional // +kubebuilder:default="" // The content of this variable will be passed to discover-tempest-config via // --append Append string `json:"append"` // +kubebuilder:validation:Optional // +kubebuilder:default="" // The content of this variable will be passed to discover-tempest-config via // --remove Remove string `json:"remove"` // +kubebuilder:validation:Optional // +kubebuilder:default="identity.v3_endpoint_type public" // The content of this variable will be appended at the end of the command // that executes discover-tempest-config (override values). Overrides string `json:"overrides"` // +kubebuilder:default=0 // The content of this variable will be passed to discover-tempest-config via // --timeout Timeout int64 `json:"timeout"` }
TempestconfRunSpec - is used to configure execution of discover-tempest-config Please refer to https://docs.opendev.org/openinfra/python-tempestconf for the further explanation of the CLI parameters.
func (*TempestconfRunSpec) DeepCopy ¶
func (in *TempestconfRunSpec) DeepCopy() *TempestconfRunSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TempestconfRunSpec.
func (*TempestconfRunSpec) DeepCopyInto ¶
func (in *TempestconfRunSpec) DeepCopyInto(out *TempestconfRunSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Tobiko ¶
type Tobiko struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec TobikoSpec `json:"spec,omitempty"` Status TobikoStatus `json:"status,omitempty"` }
Tobiko is the Schema for the tobikoes API
func (*Tobiko) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Tobiko.
func (*Tobiko) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Tobiko) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (Tobiko) RbacConditionsSet ¶
RbacConditionsSet - set the conditions for the rbac object
func (Tobiko) RbacNamespace ¶
RbacNamespace - return the namespace
func (Tobiko) RbacResourceName ¶
RbacResourceName - return the name to be used for rbac objects (serviceaccount, role, rolebinding)
type TobikoList ¶
type TobikoList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []Tobiko `json:"items"` }
TobikoList contains a list of Tobiko
func (*TobikoList) DeepCopy ¶
func (in *TobikoList) DeepCopy() *TobikoList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TobikoList.
func (*TobikoList) DeepCopyInto ¶
func (in *TobikoList) DeepCopyInto(out *TobikoList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*TobikoList) DeepCopyObject ¶
func (in *TobikoList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type TobikoSpec ¶
type TobikoSpec struct { // +kubebuilder:validation:Required // +kubebuilder:default="local-storage" // StorageClass used to create PVCs that store the logs StorageClass string `json:"storageClass"` // +kubebuilder:validation:Optional // +kubebuilder:default:=true // Run tests in parallel Debug bool `json:"debug,omitempty"` // +kubebuilder:validation:Optional // +kubebuilder:default:="py3" // Test environment Testenv string `json:"testenv,omitempty"` // +kubebuilder:validation:Optional // +kubebuilder:default:="" // String including any options to pass to pytest when it runs tobiko tests PytestAddopts string `json:"pytestAddopts,omitempty"` // +kubebuilder:validation:Optional // +kubebuilder:default:=false // Boolean specifying whether tobiko tests create new resources or re-use those previously created PreventCreate bool `json:"preventCreate,omitempty"` // +kubebuilder:validation:Optional // +kubebuilder:default:=0 // Number of processes/workers used to run tobiko tests - value 0 results in automatic decission NumProcesses uint8 `json:"numProcesses,omitempty"` // +kubebuilder:validation:Optional // +kubebuilder:default:="" // Tobiko version Version string `json:"version,omitempty"` // +kubebuilder:validation:Optional // +kubebuilder:default:="" // tobiko.conf Config string `json:"config,omitempty"` // +kubebuilder:validation:Optional // +kubebuilder:default:="" // Private Key PrivateKey string `json:"privateKey,omitempty"` // +kubebuilder:validation:Optional // +kubebuilder:default:="" // Public Key PublicKey string `json:"publicKey,omitempty"` // +kubebuilder:validation:Optional // +kubebuilder:default:="quay.io/podified-antelope-centos9/openstack-tobiko:current-podified" // Container image for tobiko ContainerImage string `json:"containerImage,omitempty"` // +kubebuilder:validation:Optional // +kubebuilder:default:=false // Container image for tobiko Parallel bool `json:"parallel,omitempty"` // BackoffLimimt allows to define the maximum number of retried executions (defaults to 6). // +kubebuilder:default:=0 // +operator-sdk:csv:customresourcedefinitions:type=spec,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:number"} BackoffLimit *int32 `json:"backoffLimit,omitempty"` // Name of a secret that contains a kubeconfig. The kubeconfig is mounted under /var/lib/tobiko/.kube/config // in the test pod. // +kubebuilder:default:="" // +operator-sdk:csv:customresourcedefinitions:type=spec,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:number"} KubeconfigSecretName string `json:"kubeconfigSecretName,omitempty"` // A parameter that contains a workflow definition. // +kubebuilder:validation:Optional // +operator-sdk:csv:customresourcedefinitions:type=spec,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:number"} Workflow []TobikoWorkflowSpec `json:"workflow,omitempty"` }
TobikoSpec defines the desired state of Tobiko
func (*TobikoSpec) DeepCopy ¶
func (in *TobikoSpec) DeepCopy() *TobikoSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TobikoSpec.
func (*TobikoSpec) DeepCopyInto ¶
func (in *TobikoSpec) DeepCopyInto(out *TobikoSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TobikoStatus ¶
type TobikoStatus struct { // Map of hashes to track e.g. job status Hash map[string]string `json:"hash,omitempty"` // Conditions Conditions condition.Conditions `json:"conditions,omitempty" optional:"true"` // NetworkAttachments status of the deployment pods NetworkAttachments map[string][]string `json:"networkAttachments,omitempty"` }
TobikoStatus defines the observed state of Tobiko
func (*TobikoStatus) DeepCopy ¶
func (in *TobikoStatus) DeepCopy() *TobikoStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TobikoStatus.
func (*TobikoStatus) DeepCopyInto ¶
func (in *TobikoStatus) DeepCopyInto(out *TobikoStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TobikoWorkflowSpec ¶
type TobikoWorkflowSpec struct { // +kubebuilder:validation:Optional // StorageClass used to create PVCs that store the logs StorageClass string `json:"storageClass,omitempty"` // +kubebuilder:validation:Optional // Run tests in parallel Debug bool `json:"debug,omitempty"` // +kubebuilder:validation:Optional // Test environment Testenv string `json:"testenv,omitempty"` // +kubebuilder:validation:Optional // String including any options to pass to pytest when it runs tobiko tests PytestAddopts string `json:"pytestAddopts,omitempty"` // +kubebuilder:validation:Optional // Boolean specifying whether tobiko tests create new resources or re-use those previously created PreventCreate *bool `json:"preventCreate,omitempty"` // +kubebuilder:validation:Optional // Number of processes/workers used to run tobiko tests - value 0 results in automatic decission NumProcesses *uint8 `json:"numProcesses,omitempty"` // +kubebuilder:validation:Optional // Tobiko version Version string `json:"version,omitempty"` // +kubebuilder:validation:Optional // tobiko.conf Config string `json:"config,omitempty"` // +kubebuilder:validation:Optional // Private Key PrivateKey string `json:"privateKey,omitempty"` // +kubebuilder:validation:Optional // Public Key PublicKey string `json:"publicKey,omitempty"` // +kubebuilder:validation:Optional // Container image for tobiko ContainerImage string `json:"containerImage,omitempty"` // BackoffLimimt allows to define the maximum number of retried executions (defaults to 6). // +operator-sdk:csv:customresourcedefinitions:type=spec,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:number"} BackoffLimit *int32 `json:"backoffLimit,omitempty"` // Name of a secret that contains a kubeconfig. The kubeconfig is mounted under /var/lib/tobiko/.kube/config // in the test pod. // +operator-sdk:csv:customresourcedefinitions:type=spec,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:number"} KubeconfigSecretName string `json:"kubeconfigSecretName,omitempty"` // A parameter that contains a definition of a single workflow step. // +kubebuilder:validation:Required // +kubebuilder:default:="" // +operator-sdk:csv:customresourcedefinitions:type=spec,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:number"} StepName string `json:"stepName"` }
func (*TobikoWorkflowSpec) DeepCopy ¶
func (in *TobikoWorkflowSpec) DeepCopy() *TobikoWorkflowSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TobikoWorkflowSpec.
func (*TobikoWorkflowSpec) DeepCopyInto ¶
func (in *TobikoWorkflowSpec) DeepCopyInto(out *TobikoWorkflowSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type WorkflowTempestRunSpec ¶
type WorkflowTempestRunSpec struct { // +kubebuilder:validation:Optional // A content of include.txt file that is passed to tempest via --include-list IncludeList *string `json:"includeList,omitempty"` // +kubebuilder:validation:Optional // A content of exclude.txt file that is passed to tempest via --exclude-list ExcludeList *string `json:"excludeList,omitempty"` // +kubebuilder:validation:Optional // Concurrency value that is passed to tempest via --concurrency Concurrency *int64 `json:"concurrency,omitempty"` // +kubebuilder:validation:Optional // Indicate whether tempest should be executed with --smoke Smoke *bool `json:"smoke,omitempty"` // +kubebuilder:validation:Optional // Indicate whether tempest should be executed with --parallel Parallel *bool `json:"parallel,omitempty"` // +kubebuilder:validation:Optional // Indicate whether tempest should be executed with --serial Serial *bool `json:"serial,omitempty"` // +kubebuilder:validation:Optional // A content of worker_file.yaml that is passed to tempest via --worker-file WorkerFile *string `json:"workerFile,omitempty"` // +kubebuilder:validation:Optional // ExternalPlugin contains information about plugin that should be installed // within the tempest test pod. If this option is specified then only tests // that are part of the external plugin can be executed. ExternalPlugin *[]ExternalPluginType `json:"externalPlugin,omitempty"` // +kubebuilder:validation:Optional // Add extra image for Neutron Tempest plugin NeutronExtraImage *string `json:"neutronExtraImage,omitempty"` }
TempestRunSpec - is used to configure execution of tempest. Please refer to Please refer to https://docs.openstack.org/tempest/latest/ for the further explanation of the CLI parameters.
func (*WorkflowTempestRunSpec) DeepCopy ¶
func (in *WorkflowTempestRunSpec) DeepCopy() *WorkflowTempestRunSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkflowTempestRunSpec.
func (*WorkflowTempestRunSpec) DeepCopyInto ¶
func (in *WorkflowTempestRunSpec) DeepCopyInto(out *WorkflowTempestRunSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type WorkflowTempestSpec ¶
type WorkflowTempestSpec struct { // +kubebuilder:validation:Required // Name of a workflow step. The step name will be used for example to create // a logs directory. StepName string `json:"stepName"` // +kubebuilder:validation:Optional // Name of a storage class that is used to create PVCs for logs storage. Required // if default storage class does not exist. StorageClass *string `json:"storageClass"` // +kubebuilder:validation:Optional // An URL of a tempest container image that should be used for the execution // of tempest tests. ContainerImage *string `json:"containerImage"` // +kubebuilder:validation:Optional // By default test-operator executes the test-pods sequentially if multiple // instances of test-operator related CRs exist. If you want to turn off this // behaviour then set this option to true. Parallel *bool `json:"parallel,omitempty"` // +kubebuilder:validation:Optional // NodeSelector to target subset of worker nodes running this service NodeSelector *map[string]string `json:"nodeSelector,omitempty"` // +kubebuilder:validation:Optional // OpenStackConfigMap is the name of the ConfigMap containing the clouds.yaml OpenStackConfigMap *string `json:"openStackConfigMap"` // +kubebuilder:validation:Optional // OpenStackConfigSecret is the name of the Secret containing the secure.yaml OpenStackConfigSecret *string `json:"openStackConfigSecret"` // +kubebuilder:validation:Optional // NetworkAttachments is a list of NetworkAttachment resource names to expose // the services to the given network NetworkAttachments *[]string `json:"networkAttachments,omitempty"` // BackoffLimimt allows to define the maximum number of retried executions (defaults to 6). // +operator-sdk:csv:customresourcedefinitions:type=spec,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:number"} BackoffLimit *int32 `json:"backoffLimit,omitempty"` // +kubebuilder:validation:Optional TempestRun WorkflowTempestRunSpec `json:"tempestRun,omitempty"` // +kubebuilder:validation:Optional TempestconfRun WorkflowTempestconfRunSpec `json:"tempestconfRun,omitempty"` // +kubebuilder:validation:Optional // SSHKeySecretName is the name of the k8s secret that contains an ssh key. // The key is mounted to ~/.ssh/id_ecdsa in the tempest pod SSHKeySecretName *string `json:"SSHKeySecretName,omitempty"` // +kubebuilder:validation:Optional // ConfigOverwrite - interface to overwrite default config files like e.g. logging.conf // But can also be used to add additional files. Those get added to the // service config dir in /etc/test_operator/<file> ConfigOverwrite *map[string]string `json:"configOverwrite,omitempty"` }
TempestSpec - configuration of execution of tempest. For specific configuration of tempest see TempestRunSpec and for discover-tempest-config see TempestconfRunSpec.
func (*WorkflowTempestSpec) DeepCopy ¶
func (in *WorkflowTempestSpec) DeepCopy() *WorkflowTempestSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkflowTempestSpec.
func (*WorkflowTempestSpec) DeepCopyInto ¶
func (in *WorkflowTempestSpec) DeepCopyInto(out *WorkflowTempestSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type WorkflowTempestconfRunSpec ¶
type WorkflowTempestconfRunSpec struct { // +kubebuilder:validation:Optional // Indicate whether discover-tempest-config should be executed with --create Create *bool `json:"create"` // +kubebuilder:validation:Optional // Indicate whether discover-tempest-config should be executed with // --collect-timing CollectTiming *bool `json:"collectTiming"` // +kubebuilder:validation:Optional // Indicate whether discover-tempest-config should be executed with --insecure Insecure *bool `json:"insecure"` // +kubebuilder:validation:Optional // Indicate whether discover-tempest-config should be executed with // --no-default-deployer NoDefaultDeployer *bool `json:"noDefaultDeployer"` // +kubebuilder:validation:Optional // Indicate whether discover-tempest-config should be executed with --debug Debug *bool `json:"debug"` // +kubebuilder:validation:Optional // Indicate whether discover-tempest-config should be executed with --verbose Verbose *bool `json:"verbose"` // +kubebuilder:validation:Optional // Indicate whether discover-tempest-config should be executed with --non-admin NonAdmin *bool `json:"nonAdmin"` // +kubebuilder:validation:Optional // Indicate whether discover-tempest-config should be executed with --retry-image RetryImage *bool `json:"retryImage"` // +kubebuilder:validation:Optional // Indicate whether discover-tempest-config should be executed with // --convert-to-raw ConvertToRaw *bool `json:"convertToRaw"` // +kubebuilder:validation:Optional // The content of this variable will be passed to discover-tempest-config via // the --out parameter Out *string `json:"out"` // +kubebuilder:validation:Optional // A content of deployer_input.ini that is passed to tempest via --deployer-input DeployerInput *string `json:"deployerInput"` // +kubebuilder:validation:Optional // A content of accounts.yaml that is passed to tempest via --test-acounts TestAccounts *string `json:"testAccounts"` // +kubebuilder:validation:Optional // The content of this variable will be passed to discover-tempest-config via // the --create-accounts-file CreateAccountsFile *string `json:"createAccountsFile"` // +kubebuilder:validation:Optional // A content of profile.yaml that is passed to tempest via --profile Profile *string `json:"profile"` // +kubebuilder:validation:Optional // The content of this variable will be passed to discover-tempest-config via // --generate-profile GenerateProfile *string `json:"generateProfile"` // +kubebuilder:validation:Optional // The content of this variable will be passed to discover-tempest-config via // --image-disk-format ImageDiskFormat *string `json:"imageDiskFormat"` // +kubebuilder:validation:Optional // The content of this variable will be passed to discover-tempest-config via // --image Image *string `json:"image"` // +kubebuilder:validation:Optional // The content of this variable will be passed to discover-tempest-config via // --flavor-min-mem FlavorMinMem *int64 `json:"flavorMinMem"` // +kubebuilder:validation:Optional // The content of this variable will be passed to discover-tempest-config via // --flavor-min-disk FlavorMinDisk *int64 `json:"flavorMinDisk"` // +kubebuilder:validation:Optional // The content of this variable will be passed to discover-tempest-config via // --network-id NetworkID *string `json:"networkID"` // +kubebuilder:validation:Optional // The content of this variable will be passed to discover-tempest-config via // --append Append *string `json:"append"` // +kubebuilder:validation:Optional // The content of this variable will be passed to discover-tempest-config via // --remove Remove *string `json:"remove"` // +kubebuilder:validation:Optional // The content of this variable will be appended at the end of the command // that executes discover-tempest-config (override values). Overrides *string `json:"overrides"` // +kubebuilder:validation:Optional // The content of this variable will be passed to discover-tempest-config via // --timeout Timeout *int64 `json:"timeout"` }
TempestconfRunSpec - is used to configure execution of discover-tempest-config Please refer to https://docs.opendev.org/openinfra/python-tempestconf for the further explanation of the CLI parameters.
func (*WorkflowTempestconfRunSpec) DeepCopy ¶
func (in *WorkflowTempestconfRunSpec) DeepCopy() *WorkflowTempestconfRunSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkflowTempestconfRunSpec.
func (*WorkflowTempestconfRunSpec) DeepCopyInto ¶
func (in *WorkflowTempestconfRunSpec) DeepCopyInto(out *WorkflowTempestconfRunSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.