suites

package
v1.9.0 Latest Latest
Warning

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

Go to latest
Published: Sep 17, 2025 License: Apache-2.0 Imports: 35 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// DefaultSnapPrefix is snapshot prefix
	DefaultSnapPrefix = "snap"
	// ControllerLogsSleepTime is controller logs sleep time
	ControllerLogsSleepTime = 20
)

Variables

View Source
var FindDriverLogs = func(command []string) (string, error) {
	cmd := exec.Command(command[0], command[1:]...)
	output, err := cmd.Output()
	if err != nil {
		return "", err
	}
	str := string(output)
	return str, nil
}

FindDriverLogs executes command and returns the output

Functions

func GetSnapshotClient

func GetSnapshotClient(namespace string, client k8sclient.KubeClientInterface) (*snapv1client.SnapshotClient, error)

GetSnapshotClient returns snapshot client

func RetrySha512Sum added in v1.8.0

func RetrySha512Sum(ctx context.Context, podClient *pod.Client, pod *pod.Pod, file string, hash *bytes.Buffer, maxRetries int) error

Retry logic for hash calculation using sha512sum and a file as input

func RetrySha512SumWithCheck added in v1.8.0

func RetrySha512SumWithCheck(ctx context.Context, podClient *pod.Client, pod *pod.Pod, sum string, maxRetries int) error

Occasionally the sha512sum function returns empty even when the driver has correctly written data. This retry logic allows the sha512sum function to run again and correctly calculate the hash value.

Types

type BlockSnapSuite

type BlockSnapSuite struct {
	SnapClass   string
	VolumeSize  string
	Description string
	AccessMode  string
	Image       string
}

BlockSnapSuite is used to manage block snapshot test suite

func (*BlockSnapSuite) GetClients

func (bss *BlockSnapSuite) GetClients(namespace string, client k8sclient.KubeClientInterface) (*k8sclient.Clients, error)

GetClients creates and returns pvc, pod, va, metrics, snapshot clients

func (*BlockSnapSuite) GetName

func (bss *BlockSnapSuite) GetName() string

GetName returns block snap test suite name

func (*BlockSnapSuite) GetNamespace

func (*BlockSnapSuite) GetNamespace() string

GetNamespace returns block snap test suite namespace

func (*BlockSnapSuite) GetObservers

func (*BlockSnapSuite) GetObservers(obsType observer.Type) []observer.Interface

GetObservers returns all observers

func (*BlockSnapSuite) Parameters

func (bss *BlockSnapSuite) Parameters() string

Parameters returns formatted string of parameters

func (*BlockSnapSuite) Run

func (bss *BlockSnapSuite) Run(ctx context.Context, storageClass string, clients *k8sclient.Clients) (delFunc func() error, e error)

Run executes block snapshot test suite

type CapacityTrackingSuite

type CapacityTrackingSuite struct {
	DriverNamespace string
	StorageClass    string
	VolumeSize      string
	Image           string
	PollInterval    time.Duration
}

CapacityTrackingSuite is used to manage storage capacity tracking test suite

func (*CapacityTrackingSuite) GetClients

func (cts *CapacityTrackingSuite) GetClients(namespace string, client k8sclient.KubeClientInterface) (*k8sclient.Clients, error)

GetClients creates and returns pvc, pod, va, metrics, storage class, CSI storage capacity clients

func (*CapacityTrackingSuite) GetName

func (cts *CapacityTrackingSuite) GetName() string

GetName returns storage capacity tracking suite name

func (*CapacityTrackingSuite) GetNamespace

func (cts *CapacityTrackingSuite) GetNamespace() string

GetNamespace returns storage capacity tracking suite namespace

func (*CapacityTrackingSuite) GetObservers

func (cts *CapacityTrackingSuite) GetObservers(obsType observer.Type) []observer.Interface

GetObservers returns all observers

func (*CapacityTrackingSuite) Parameters

func (cts *CapacityTrackingSuite) Parameters() string

Parameters returns formatted string of parameters

func (*CapacityTrackingSuite) Run

func (cts *CapacityTrackingSuite) Run(ctx context.Context, storageClass string, clients *k8sclient.Clients) (delFunc func() error, e error)

Run runs storage capacity tracking test suite

type CloneVolumeSuite

type CloneVolumeSuite struct {
	VolumeNumber  int
	VolumeSize    string
	PodNumber     int
	CustomPvcName string
	CustomPodName string
	Description   string
	AccessMode    string
	Image         string
}

CloneVolumeSuite is used to manage clone volume suite test suite

func (*CloneVolumeSuite) GetClients

func (cs *CloneVolumeSuite) GetClients(namespace string, client k8sclient.KubeClientInterface) (*k8sclient.Clients, error)

GetClients creates and returns pvc, pod, va, metrics clients

func (*CloneVolumeSuite) GetName

func (cs *CloneVolumeSuite) GetName() string

GetName returns clone volume suite test name

func (*CloneVolumeSuite) GetNamespace

func (*CloneVolumeSuite) GetNamespace() string

GetNamespace returns clone volume suite test namespace

func (*CloneVolumeSuite) GetObservers

func (cs *CloneVolumeSuite) GetObservers(obsType observer.Type) []observer.Interface

GetObservers returns all observers

func (*CloneVolumeSuite) Parameters

func (cs *CloneVolumeSuite) Parameters() string

Parameters returns formatted string of parameters

func (*CloneVolumeSuite) Run

func (cs *CloneVolumeSuite) Run(ctx context.Context, storageClass string, clients *k8sclient.Clients) (delFunc func() error, e error)

Run executes clone volume test suite

type ClonedVolDeletionSuite

type ClonedVolDeletionSuite struct {
	*DeletionStruct
	PodName string
}

ClonedVolDeletionSuite is used to manage cloned volume deletion test suite

func (*ClonedVolDeletionSuite) GetClients

GetClients creates and returns pod, pvc, metrics, va clients

func (*ClonedVolDeletionSuite) GetName

func (pds *ClonedVolDeletionSuite) GetName() string

GetName returns cloned volume deletion test suite name

func (*ClonedVolDeletionSuite) GetNamespace

func (pds *ClonedVolDeletionSuite) GetNamespace() string

GetNamespace returns cloned volume deletion suite namespace

func (*ClonedVolDeletionSuite) GetObservers

func (*ClonedVolDeletionSuite) GetObservers(obsType observer.Type) []observer.Interface

GetObservers returns pod, pvc, va, entitynumber, containermetrics observers

func (*ClonedVolDeletionSuite) Parameters

func (pds *ClonedVolDeletionSuite) Parameters() string

Parameters returns format string

func (*ClonedVolDeletionSuite) Run

func (pds *ClonedVolDeletionSuite) Run(ctx context.Context, _ string, clients *k8sclient.Clients) (delFunc func() error, e error)

Run to delete the volume created by name and namespace as cli params

type DeletionStruct

type DeletionStruct struct {
	Name        string
	Namespace   string
	Description string
}

DeletionStruct is used by volume deletion suite

type EphemeralVolumeSuite

type EphemeralVolumeSuite struct {
	PodCustomName    string
	Description      string
	PodNumber        int
	Driver           string
	FSType           string
	Image            string
	VolumeAttributes map[string]string
}

EphemeralVolumeSuite is used to manage ephemeral volume test suite

func (*EphemeralVolumeSuite) GetClients

func (*EphemeralVolumeSuite) GetClients(namespace string, client k8sclient.KubeClientInterface) (*k8sclient.Clients, error)

GetClients creates and returns pod, va, metrics clients

func (*EphemeralVolumeSuite) GetName

func (ep *EphemeralVolumeSuite) GetName() string

GetName returns ephemeral volume suite name

func (*EphemeralVolumeSuite) GetNamespace

func (*EphemeralVolumeSuite) GetNamespace() string

GetNamespace returns ephemeral volume suite namespace

func (*EphemeralVolumeSuite) GetObservers

func (*EphemeralVolumeSuite) GetObservers(obsType observer.Type) []observer.Interface

GetObservers returns pod, va, containermetrics observers

func (*EphemeralVolumeSuite) Parameters

func (ep *EphemeralVolumeSuite) Parameters() string

Parameters returns parameters string

func (*EphemeralVolumeSuite) Run

func (ep *EphemeralVolumeSuite) Run(ctx context.Context, _ string, clients *k8sclient.Clients) (delFunc func() error, e error)

Run runs ephemeral volume test suite

type Interface

type Interface interface {
	Run(ctx context.Context, storageClass string, clients *k8sclient.Clients) (delFunc func() error, e error)
	GetName() string
	GetObservers(obsType observer.Type) []observer.Interface
	GetClients(string, k8sclient.KubeClientInterface) (*k8sclient.Clients, error)
	GetNamespace() string
	Parameters() string
}

Interface contains common function specifications

type MultiAttachSuite

type MultiAttachSuite struct {
	PodNumber   int
	RawBlock    bool
	Description string
	AccessMode  string
	VolumeSize  string
	Image       string
}

MultiAttachSuite is used to manage multi attach test suite

func (*MultiAttachSuite) GenerateTopologySpreadConstraints

func (mas *MultiAttachSuite) GenerateTopologySpreadConstraints(nodeCount int, labels map[string]string) []v1.TopologySpreadConstraint

GenerateTopologySpreadConstraints creates and returns topology spread constraints

func (*MultiAttachSuite) GetClients

func (mas *MultiAttachSuite) GetClients(namespace string, client k8sclient.KubeClientInterface) (*k8sclient.Clients, error)

GetClients creates and returns pvc, pod, va, metrics (and node) clients

func (*MultiAttachSuite) GetName

func (mas *MultiAttachSuite) GetName() string

GetName returns multi attach suite name

func (*MultiAttachSuite) GetNamespace

func (*MultiAttachSuite) GetNamespace() string

GetNamespace returns multi attach suite namespace

func (*MultiAttachSuite) GetObservers

func (mas *MultiAttachSuite) GetObservers(obsType observer.Type) []observer.Interface

GetObservers returns all observers

func (*MultiAttachSuite) Parameters

func (mas *MultiAttachSuite) Parameters() string

Parameters returns formatted string of parameters

func (*MultiAttachSuite) Run

func (mas *MultiAttachSuite) Run(ctx context.Context, storageClass string, clients *k8sclient.Clients) (delFunc func() error, e error)

Run executes multi attach test suite

type NodeDrainSuite

type NodeDrainSuite struct {
	Name               string
	Namespace          string
	Description        string
	DisableEviction    bool
	GracePeriodSeconds int
}

NodeDrainSuite is used to manage node drain test suite

func (*NodeDrainSuite) GetClients

func (nds *NodeDrainSuite) GetClients(_ string, client k8sclient.KubeClientInterface) (*k8sclient.Clients, error)

GetClients creates and returns node, pod, pvc, va, statefulset, metrics clients

func (*NodeDrainSuite) GetName

func (nds *NodeDrainSuite) GetName() string

GetName returns node drain suite name

func (*NodeDrainSuite) GetNamespace

func (nds *NodeDrainSuite) GetNamespace() string

GetNamespace returns node drain suite namespace

func (*NodeDrainSuite) GetObservers

func (*NodeDrainSuite) GetObservers(obsType observer.Type) []observer.Interface

GetObservers returns pod, pvc, va, entitynumber, containermetrics observers

func (*NodeDrainSuite) Parameters

func (nds *NodeDrainSuite) Parameters() string

Parameters returns format string

func (*NodeDrainSuite) Run

func (nds *NodeDrainSuite) Run(ctx context.Context, _ string, clients *k8sclient.Clients) (delFunc func() error, e error)

Run to delete the volume created by name and namespace as cli params

type NodeUncordonSuite

type NodeUncordonSuite struct {
	Name        string
	Description string
	Namespace   string
}

NodeUncordonSuite is used to manage node uncordon test suite

func (*NodeUncordonSuite) GetClients

GetClients creates and returns node, pod, pvc, va, metrics clients

func (*NodeUncordonSuite) GetName

func (nds *NodeUncordonSuite) GetName() string

GetName returns node uncordon test suite name

func (*NodeUncordonSuite) GetNamespace

func (nds *NodeUncordonSuite) GetNamespace() string

GetNamespace returns node uncordon suite namespace

func (*NodeUncordonSuite) GetObservers

func (*NodeUncordonSuite) GetObservers(obsType observer.Type) []observer.Interface

GetObservers returns pod, pvc, va, entitynumber, containermetrics observers

func (*NodeUncordonSuite) Parameters

func (nds *NodeUncordonSuite) Parameters() string

Parameters returns format string

func (*NodeUncordonSuite) Run

func (nds *NodeUncordonSuite) Run(ctx context.Context, _ string, clients *k8sclient.Clients) (delFunc func() error, e error)

Run to delete the volume created by name and namespace as cli params

type PodDeletionSuite

type PodDeletionSuite struct {
	*DeletionStruct
}

PodDeletionSuite is used for managing pod deletion test suite

func (*PodDeletionSuite) GetClients

GetClients creates and returns pod, pvc, va, metrics clients

func (*PodDeletionSuite) GetName

func (pds *PodDeletionSuite) GetName() string

GetName returns pod deletion suite name

func (*PodDeletionSuite) GetNamespace

func (pds *PodDeletionSuite) GetNamespace() string

GetNamespace returns pod deletion suite namespace

func (*PodDeletionSuite) GetObservers

func (*PodDeletionSuite) GetObservers(obsType observer.Type) []observer.Interface

GetObservers returns pod, pvc, va, entitynumber, containermetrics observers

func (*PodDeletionSuite) Parameters

func (pds *PodDeletionSuite) Parameters() string

Parameters returns format string

func (*PodDeletionSuite) Run

func (pds *PodDeletionSuite) Run(ctx context.Context, _ string, clients *k8sclient.Clients) (delFunc func() error, e error)

Run to delete the volume created by name and namespace as cli params

type PostgresqlSuite

type PostgresqlSuite struct {
	ConfigPath        string
	VolumeSize        string
	EnableReplication bool
	Image             string
	SlaveReplicas     int
}

PostgresqlSuite configuration struct

func (*PostgresqlSuite) GetClients

func (*PostgresqlSuite) GetClients(namespace string, client k8sclient.KubeClientInterface) (*k8sclient.Clients, error)

GetClients creates and returns pvc, pod, va, metrics clients

func (*PostgresqlSuite) GetName

func (ps *PostgresqlSuite) GetName() string

GetName returns PostgresqlSuite name

func (*PostgresqlSuite) GetNamespace

func (*PostgresqlSuite) GetNamespace() string

GetNamespace returns PostgresqlSuite namespace

func (*PostgresqlSuite) GetObservers

func (*PostgresqlSuite) GetObservers(obsType observer.Type) []observer.Interface

GetObservers returns all observers

func (*PostgresqlSuite) Parameters

func (ps *PostgresqlSuite) Parameters() string

Parameters returns formatted string of parameters

func (*PostgresqlSuite) Run

func (ps *PostgresqlSuite) Run(ctx context.Context, storageClass string, clients *k8sclient.Clients) (delFunc func() error, e error)

Run executes the test suite

type ProvisioningSuite

type ProvisioningSuite struct {
	VolumeNumber  int
	VolumeSize    string
	PodCustomName string
	Description   string
	PodNumber     int
	RawBlock      bool
	VolAccessMode string
	ROFlag        bool
	Image         string
}

ProvisioningSuite is used to manage provisioning test suite

func (*ProvisioningSuite) GetClients

func (*ProvisioningSuite) GetClients(namespace string, client k8sclient.KubeClientInterface) (*k8sclient.Clients, error)

GetClients returns pvc, pod, va, metrics clients

func (*ProvisioningSuite) GetName

func (ps *ProvisioningSuite) GetName() string

GetName returns provisioning suite name

func (*ProvisioningSuite) GetNamespace

func (*ProvisioningSuite) GetNamespace() string

GetNamespace returns provisioning suite namespace

func (*ProvisioningSuite) GetObservers

func (*ProvisioningSuite) GetObservers(obsType observer.Type) []observer.Interface

GetObservers returns all observers

func (*ProvisioningSuite) Parameters

func (ps *ProvisioningSuite) Parameters() string

Parameters returns formatted string of parameters

func (*ProvisioningSuite) Run

func (ps *ProvisioningSuite) Run(ctx context.Context, storageClass string, clients *k8sclient.Clients) (delFunc func() error, e error)

Run executes provisioning test suite

type RemoteReplicationProvisioningSuite

type RemoteReplicationProvisioningSuite struct {
	VolumeNumber     int
	VolumeSize       string
	Description      string
	VolAccessMode    string
	RemoteConfigPath string
	NoFailover       bool
	Image            string
}

RemoteReplicationProvisioningSuite is used to manage remote replication provisioning test suite

func (*RemoteReplicationProvisioningSuite) GetClients

GetClients creates and returns pvc, pod, pv, va, metrics, sc, rg clients

func (*RemoteReplicationProvisioningSuite) GetName

GetName returns remote replication provisioning suite name

func (*RemoteReplicationProvisioningSuite) GetNamespace

GetNamespace returns remote replication provisioning suite namespace

func (*RemoteReplicationProvisioningSuite) GetObservers

GetObservers returns all observers

func (*RemoteReplicationProvisioningSuite) Parameters

func (rrps *RemoteReplicationProvisioningSuite) Parameters() string

Parameters returns formatted string of parameters

func (*RemoteReplicationProvisioningSuite) Run

func (rrps *RemoteReplicationProvisioningSuite) Run(ctx context.Context, storageClass string, clients *k8sclient.Clients) (delFunc func() error, e error)

Run executes remote replication provisioning test suite

type ReplicationSuite

type ReplicationSuite struct {
	VolumeNumber int
	VolumeSize   string
	PodNumber    int
	SnapClass    string
	Image        string
}

ReplicationSuite is used to manage replication test suite

func (*ReplicationSuite) GetClients

func (rs *ReplicationSuite) GetClients(namespace string, client k8sclient.KubeClientInterface) (*k8sclient.Clients, error)

GetClients creates and returns pvc, pod, va, metrics, snapshot clients

func (*ReplicationSuite) GetName

func (*ReplicationSuite) GetName() string

GetName returns replication suite name

func (*ReplicationSuite) GetNamespace

func (*ReplicationSuite) GetNamespace() string

GetNamespace returns replication suite namespace

func (*ReplicationSuite) GetObservers

func (rs *ReplicationSuite) GetObservers(obsType observer.Type) []observer.Interface

GetObservers returns all observers

func (*ReplicationSuite) Parameters

func (rs *ReplicationSuite) Parameters() string

Parameters returns formatted string of parameters

func (*ReplicationSuite) Run

func (rs *ReplicationSuite) Run(ctx context.Context, storageClass string, clients *k8sclient.Clients) (delFunc func() error, e error)

Run executes replication test suite

type ScalingSuite

type ScalingSuite struct {
	ReplicaNumber    int
	VolumeNumber     int
	GradualScaleDown bool
	PodPolicy        string
	VolumeSize       string
	Image            string
}

ScalingSuite is used to manage scaling test suite

func (*ScalingSuite) GetClients

func (ss *ScalingSuite) GetClients(namespace string, client k8sclient.KubeClientInterface) (*k8sclient.Clients, error)

GetClients creates and returns pvc, pod, va, statefulset, metrics clients

func (*ScalingSuite) GetName

func (ss *ScalingSuite) GetName() string

GetName returns scaling test suite name

func (*ScalingSuite) GetNamespace

func (ss *ScalingSuite) GetNamespace() string

GetNamespace returns scaling test suite namespace

func (*ScalingSuite) GetObservers

func (ss *ScalingSuite) GetObservers(obsType observer.Type) []observer.Interface

GetObservers returns all observers

func (*ScalingSuite) Parameters

func (ss *ScalingSuite) Parameters() string

Parameters returns formatted string of parameters

func (*ScalingSuite) Run

func (ss *ScalingSuite) Run(ctx context.Context, storageClass string, clients *k8sclient.Clients) (delFunc func() error, e error)

Run executes scaling test suite

type SnapSuite

type SnapSuite struct {
	SnapAmount         int
	SnapClass          string
	VolumeSize         string
	Description        string
	CustomSnapName     string
	AccessModeOriginal string
	AccessModeRestored string
	Image              string
}

SnapSuite is used to manage snap test suite

func (*SnapSuite) GetClients

func (ss *SnapSuite) GetClients(namespace string, client k8sclient.KubeClientInterface) (*k8sclient.Clients, error)

GetClients creates and returns pvc, pod, va, metrics, snapsnot clients

func (*SnapSuite) GetName

func (ss *SnapSuite) GetName() string

GetName returns snap suite name

func (*SnapSuite) GetNamespace

func (*SnapSuite) GetNamespace() string

GetNamespace returns snap suite namespaces

func (*SnapSuite) GetObservers

func (*SnapSuite) GetObservers(obsType observer.Type) []observer.Interface

GetObservers returns all observers

func (*SnapSuite) Parameters

func (ss *SnapSuite) Parameters() string

Parameters returns formatted string of paramters

func (*SnapSuite) Run

func (ss *SnapSuite) Run(ctx context.Context, storageClass string, clients *k8sclient.Clients) (delFunc func() error, e error)

Run executes snap test suite

type SnapshotDeletionSuite

type SnapshotDeletionSuite struct {
	*DeletionStruct
}

SnapshotDeletionSuite is used for managing snapshot deletion test suite

func (*SnapshotDeletionSuite) GetClients

func (sds *SnapshotDeletionSuite) GetClients(namespace string, client k8sclient.KubeClientInterface) (*k8sclient.Clients, error)

GetClients creates and returns pod, pvc, va, metrics, snapshot clients

func (*SnapshotDeletionSuite) GetName

func (sds *SnapshotDeletionSuite) GetName() string

GetName returns snapshot deletion suite name

func (*SnapshotDeletionSuite) GetNamespace

func (sds *SnapshotDeletionSuite) GetNamespace() string

GetNamespace returns snapshot deletion suite namespace

func (*SnapshotDeletionSuite) GetObservers

func (*SnapshotDeletionSuite) GetObservers(obsType observer.Type) []observer.Interface

GetObservers returns pod, pvc, va, entitynumber and containermetrics observers

func (*SnapshotDeletionSuite) Parameters

func (sds *SnapshotDeletionSuite) Parameters() string

Parameters returns format string

func (*SnapshotDeletionSuite) Run

func (sds *SnapshotDeletionSuite) Run(ctx context.Context, _ string, clients *k8sclient.Clients) (delFunc func() error, e error)

Run to snaphot the volume created by name and namespace as cli params

type VolumeCreationSuite

type VolumeCreationSuite struct {
	VolumeNumber int
	Description  string
	VolumeSize   string
	CustomName   string
	AccessMode   string
	RawBlock     bool
}

VolumeCreationSuite is used to manage volume creation test suite

func (*VolumeCreationSuite) GetClients

func (*VolumeCreationSuite) GetClients(namespace string, client k8sclient.KubeClientInterface) (*k8sclient.Clients, error)

GetClients creates and returns pvc and metrics clients

func (*VolumeCreationSuite) GetName

func (vcs *VolumeCreationSuite) GetName() string

GetName returns volume creation suite name

func (*VolumeCreationSuite) GetNamespace

func (*VolumeCreationSuite) GetNamespace() string

GetNamespace returns volume creation suite name

func (*VolumeCreationSuite) GetObservers

func (*VolumeCreationSuite) GetObservers(obsType observer.Type) []observer.Interface

GetObservers returns pvc, entity number, container metrics observers

func (*VolumeCreationSuite) Parameters

func (vcs *VolumeCreationSuite) Parameters() string

Parameters returns formatted string of parameters

func (*VolumeCreationSuite) Run

func (vcs *VolumeCreationSuite) Run(ctx context.Context, storageClass string, clients *k8sclient.Clients) (delFunc func() error, e error)

Run executes volume creation test suite

type VolumeDeletionSuite

type VolumeDeletionSuite struct {
	*DeletionStruct
}

VolumeDeletionSuite is used for managing volume deletion test suite

func (*VolumeDeletionSuite) GetClients

GetClients creates and returns PVC and Metrics clients

func (*VolumeDeletionSuite) GetName

func (vds *VolumeDeletionSuite) GetName() string

GetName returns volume deletion suite name

func (*VolumeDeletionSuite) GetNamespace

func (vds *VolumeDeletionSuite) GetNamespace() string

GetNamespace returns volume deletion suite namespace

func (*VolumeDeletionSuite) GetObservers

func (*VolumeDeletionSuite) GetObservers(obsType observer.Type) []observer.Interface

GetObservers returns pvc, entitynumber and container observers

func (*VolumeDeletionSuite) Parameters

func (vds *VolumeDeletionSuite) Parameters() string

Parameters is returns format string

func (*VolumeDeletionSuite) Run

func (vds *VolumeDeletionSuite) Run(ctx context.Context, _ string, clients *k8sclient.Clients) (delFunc func() error, e error)

Run to delete the volume created by name and namespace as cli params

type VolumeExpansionSuite

type VolumeExpansionSuite struct {
	VolumeNumber int
	PodNumber    int
	IsBlock      bool
	InitialSize  string
	ExpandedSize string
	Description  string
	AccessMode   string
	Image        string
}

VolumeExpansionSuite is used to manage volume expansion test suite

func (*VolumeExpansionSuite) GetClients

func (*VolumeExpansionSuite) GetClients(namespace string, client k8sclient.KubeClientInterface) (*k8sclient.Clients, error)

GetClients creates and returns pvc, pod, va, metrics clients

func (*VolumeExpansionSuite) GetName

func (ves *VolumeExpansionSuite) GetName() string

GetName returns volume expansion suite name

func (*VolumeExpansionSuite) GetNamespace

func (*VolumeExpansionSuite) GetNamespace() string

GetNamespace returns volume expansion suite namespace

func (*VolumeExpansionSuite) GetObservers

func (*VolumeExpansionSuite) GetObservers(obsType observer.Type) []observer.Interface

GetObservers returns all observers

func (*VolumeExpansionSuite) Parameters

func (ves *VolumeExpansionSuite) Parameters() string

Parameters returns formatted string of parameters

func (*VolumeExpansionSuite) Run

func (ves *VolumeExpansionSuite) Run(ctx context.Context, storageClass string, clients *k8sclient.Clients) (delFunc func() error, e error)

Run executes volume expansion test suite

type VolumeHealthMetricsSuite

type VolumeHealthMetricsSuite struct {
	VolumeNumber int
	PodNumber    int
	VolumeSize   string
	Description  string
	AccessMode   string
	Namespace    string
	Image        string
}

VolumeHealthMetricsSuite is used to manage volume health metrics test suite

func (*VolumeHealthMetricsSuite) GetClients

GetClients creates and returns pvc, pod, pv, va, metrics clients

func (*VolumeHealthMetricsSuite) GetName

func (vh *VolumeHealthMetricsSuite) GetName() string

GetName returns volume health metrics suite name

func (*VolumeHealthMetricsSuite) GetNamespace

func (*VolumeHealthMetricsSuite) GetNamespace() string

GetNamespace returns volume health metrics test suite namespace

func (*VolumeHealthMetricsSuite) GetObservers

func (*VolumeHealthMetricsSuite) GetObservers(obsType observer.Type) []observer.Interface

GetObservers returns all observers

func (*VolumeHealthMetricsSuite) Parameters

func (vh *VolumeHealthMetricsSuite) Parameters() string

Parameters returns formatted string of parameters

func (*VolumeHealthMetricsSuite) Run

func (vh *VolumeHealthMetricsSuite) Run(ctx context.Context, storageClass string, clients *k8sclient.Clients) (delFunc func() error, e error)

Run executes volume health metrics test suite

type VolumeIoSuite

type VolumeIoSuite struct {
	VolumeNumber int
	VolumeSize   string
	ChainNumber  int
	ChainLength  int
	Image        string
}

VolumeIoSuite is used to manage volume IO test suite

func (*VolumeIoSuite) GetClients

func (*VolumeIoSuite) GetClients(namespace string, client k8sclient.KubeClientInterface) (*k8sclient.Clients, error)

GetClients returns pvc, pod, va, metrics clients

func (*VolumeIoSuite) GetName

func (*VolumeIoSuite) GetName() string

GetName returns volume IO test suite name

func (*VolumeIoSuite) GetNamespace

func (*VolumeIoSuite) GetNamespace() string

GetNamespace returns volume IO test suite namespace

func (*VolumeIoSuite) GetObservers

func (*VolumeIoSuite) GetObservers(obsType observer.Type) []observer.Interface

GetObservers returns all observers

func (*VolumeIoSuite) Parameters

func (vis *VolumeIoSuite) Parameters() string

Parameters returns formatted string of parameters

func (*VolumeIoSuite) Run

func (vis *VolumeIoSuite) Run(ctx context.Context, storageClass string, clients *k8sclient.Clients) (delFunc func() error, e error)

Run executes volume IO test suite

type VolumeMigrateSuite

type VolumeMigrateSuite struct {
	TargetSC     string
	Description  string
	VolumeNumber int
	PodNumber    int
	Flag         bool
	Image        string
}

VolumeMigrateSuite is used to manage volume migrate test suite

func (*VolumeMigrateSuite) GetClients

func (vms *VolumeMigrateSuite) GetClients(namespace string, client k8sclient.KubeClientInterface) (*k8sclient.Clients, error)

GetClients creates and returns pvc, pv, sc, pod, statefulset, va, metrics clients

func (*VolumeMigrateSuite) GetName

func (vms *VolumeMigrateSuite) GetName() string

GetName returns volume migrate test suite name

func (*VolumeMigrateSuite) GetNamespace

func (*VolumeMigrateSuite) GetNamespace() string

GetNamespace returns volume migrate test suite namespace

func (*VolumeMigrateSuite) GetObservers

func (*VolumeMigrateSuite) GetObservers(obsType observer.Type) []observer.Interface

GetObservers returns all observers

func (*VolumeMigrateSuite) Parameters

func (vms *VolumeMigrateSuite) Parameters() string

Parameters returns formatted string of parameters

func (*VolumeMigrateSuite) Run

func (vms *VolumeMigrateSuite) Run(ctx context.Context, storageClass string, clients *k8sclient.Clients) (delFunc func() error, e error)

Run executes volume migrate test suite

Jump to

Keyboard shortcuts

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