Documentation ¶
Index ¶
- Constants
- func IsKubectlErrorNotFound(output string, err error) bool
- type CommandArgs
- type CommandOut
- type HelmHelper
- func (h *HelmHelper) DeleteLocalRookHelmChart(deployName string) error
- func (h *HelmHelper) Execute(args ...string) (string, error)
- func (h *HelmHelper) GetLocalRookHelmChartVersion(chartName string) (string, error)
- func (h *HelmHelper) InstallLocalRookHelmChart(chartName string, deployName string, chartVersion string, namespace string) error
- type K8sHelper
- func (k8sh *K8sHelper) ChangeHostnames() error
- func (k8sh *K8sHelper) CheckPodCountAndState(podName string, namespace string, minExpected int, expectedPhase string) bool
- func (k8sh *K8sHelper) CheckPvcCountAndStatus(podName string, namespace string, expectedPvcCount int, expectedStatus string) bool
- func (k8sh *K8sHelper) CountPodsWithLabel(label string, namespace string) (int, error)
- func (k8sh *K8sHelper) CreateAnonSystemClusterBinding()
- func (k8sh *K8sHelper) CreateExternalRGWService(namespace, storeName string) error
- func (k8sh *K8sHelper) CreateNamespace(namespace string) error
- func (k8sh *K8sHelper) DeletePod(namespace, name string) (string, error)
- func (k8sh *K8sHelper) DeletePods(pods ...string) (msg string, err error)
- func (k8sh *K8sHelper) DeletePvcWithLabel(namespace string, podName string) bool
- func (k8sh *K8sHelper) DeleteResource(args ...string) (string, error)
- func (k8sh *K8sHelper) DeleteResourceAndWait(wait bool, args ...string) (string, error)
- func (k8sh *K8sHelper) DeleteRoleAndBindings(name, namespace string) error
- func (k8sh *K8sHelper) DeleteRoleBinding(name, namespace string) error
- func (k8sh *K8sHelper) Exec(namespace, podName, command string, commandArgs []string) (string, error)
- func (k8sh *K8sHelper) GetDockerImage(image string) error
- func (k8sh *K8sHelper) GetExternalRGWServiceURL(storeName string, namespace string) (string, error)
- func (k8sh *K8sHelper) GetInternalRGWServiceURL(storeName string, namespace string) (string, error)
- func (k8sh *K8sHelper) GetK8sServerVersion() string
- func (k8sh *K8sHelper) GetPV(name string) (*v1.PersistentVolume, error)
- func (k8sh *K8sHelper) GetPVCAccessModes(namespace string, name string) ([]v1.PersistentVolumeAccessMode, error)
- func (k8sh *K8sHelper) GetPVCStatus(namespace string, name string) (v1.PersistentVolumeClaimPhase, error)
- func (k8sh *K8sHelper) GetPVCVolumeName(namespace string, name string) (string, error)
- func (k8sh *K8sHelper) GetPodDetails(podNamePattern string, namespace string) (string, error)
- func (k8sh *K8sHelper) GetPodEvents(podNamePattern string, namespace string) (*v1.EventList, error)
- func (k8sh *K8sHelper) GetPodHostID(podNamePattern string, namespace string) (string, error)
- func (k8sh *K8sHelper) GetPodNamesForApp(appName, namespace string) ([]string, error)
- func (k8sh *K8sHelper) GetRGWServiceURL(storeName string, namespace string) (string, error)
- func (k8sh *K8sHelper) GetResource(args ...string) (string, error)
- func (k8sh *K8sHelper) GetRookContainerLogs(podAppName, hostType, namespace, testName, containerName string)
- func (k8sh *K8sHelper) GetRookLogs(podAppName string, hostType string, namespace string, testName string)
- func (k8sh *K8sHelper) GetService(servicename string, namespace string) (*v1.Service, error)
- func (k8sh *K8sHelper) GetServiceNodePort(serviceName string, namespace string) (string, error)
- func (k8sh *K8sHelper) GetVolumeResourceName(namespace, pvcName string) (string, error)
- func (k8sh *K8sHelper) IsCRDPresent(crdName string) bool
- func (k8sh *K8sHelper) IsDefaultStorageClassPresent() (bool, error)
- func (k8sh *K8sHelper) IsPodInError(podNamePattern, namespace, reason, containingMessage string) bool
- func (k8sh *K8sHelper) IsPodInExpectedState(podNamePattern string, namespace string, state string) bool
- func (k8sh *K8sHelper) IsPodRunning(name string, namespace string) bool
- func (k8sh *K8sHelper) IsPodTerminated(name string, namespace string) bool
- func (k8sh *K8sHelper) IsPodTerminatedWithOpts(name string, namespace string, getOpts metav1.GetOptions) bool
- func (k8sh *K8sHelper) IsPodWithLabelPresent(label string, namespace string) bool
- func (k8sh *K8sHelper) IsRookInstalled(namespace string) bool
- func (k8sh *K8sHelper) IsServiceUp(name string, namespace string) bool
- func (k8sh *K8sHelper) IsStorageClassPresent(name string) error
- func (k8sh *K8sHelper) IsVolumeResourceAbsent(namespace, volumeName string) bool
- func (k8sh *K8sHelper) IsVolumeResourcePresent(namespace, volumeName string) bool
- func (k8sh *K8sHelper) Kubectl(args ...string) (string, error)
- func (k8sh *K8sHelper) KubectlWithStdin(stdin string, args ...string) (string, error)
- func (k8sh *K8sHelper) MakeContext() *clusterd.Context
- func (k8sh *K8sHelper) PrintEventsForNamespace(namespace string)
- func (k8sh *K8sHelper) PrintPVCs(namespace string, detailed bool)
- func (k8sh *K8sHelper) PrintPVs(detailed bool)
- func (k8sh *K8sHelper) PrintPodDescribe(namespace string, args ...string)
- func (k8sh *K8sHelper) PrintPodDescribeForNamespace(namespace string)
- func (k8sh *K8sHelper) PrintPodStatus(namespace string)
- func (k8sh *K8sHelper) PrintStorageClasses(detailed bool)
- func (k8sh *K8sHelper) PurgeClusters() error
- func (k8sh *K8sHelper) ReadFromPod(namespace, podName, filename, expectedMessage string) error
- func (k8sh *K8sHelper) ReadFromPodRetry(namespace, podName, filename, expectedMessage string, retries int) error
- func (k8sh *K8sHelper) ResourceOperation(action string, manifest string) (string, error)
- func (k8sh *K8sHelper) ResourceOperationFromTemplate(action string, podDefinition string, config map[string]string) (string, error)
- func (k8sh *K8sHelper) RestoreHostnames() ([]string, error)
- func (k8sh *K8sHelper) ScaleStatefulSet(statefulSetName, namespace string, replicationSize int) error
- func (k8sh *K8sHelper) SetDeploymentVersion(namespace, deploymentName, containerName, version string) error
- func (k8sh *K8sHelper) VersionAtLeast(minVersion string) bool
- func (k8sh *K8sHelper) WaitForCustomResourceDeletion(namespace string, checkerFunc func() error) error
- func (k8sh *K8sHelper) WaitForLabeledPodsToRun(label, namespace string) error
- func (k8sh *K8sHelper) WaitForLabeledPodsToRunWithRetries(label string, namespace string, retries int) error
- func (k8sh *K8sHelper) WaitForPodCount(label, namespace string, count int) error
- func (k8sh *K8sHelper) WaitUntilNameSpaceIsDeleted(namespace string) bool
- func (k8sh *K8sHelper) WaitUntilPVCIsBound(namespace string, pvcname string) bool
- func (k8sh *K8sHelper) WaitUntilPVCIsDeleted(namespace string, pvcname string) bool
- func (k8sh *K8sHelper) WaitUntilPodInNamespaceIsDeleted(podNamePattern string, namespace string) bool
- func (k8sh *K8sHelper) WaitUntilPodIsDeleted(name, namespace string) bool
- func (k8sh *K8sHelper) WaitUntilPodWithLabelDeleted(label string, namespace string) bool
- func (k8sh *K8sHelper) WriteToPod(namespace, podName, filename, message string) error
- func (k8sh *K8sHelper) WriteToPodRetry(namespace, podName, filename, message string, retries int) error
- type MySQLHelper
- func (h *MySQLHelper) CloseConnection()
- func (h *MySQLHelper) CreateTable() sql.Result
- func (h *MySQLHelper) DeleteRandomRow() sql.Result
- func (h *MySQLHelper) InsertRandomData(dataSize int) sql.Result
- func (h *MySQLHelper) PingSuccess() bool
- func (h *MySQLHelper) SelectRandomData(limit int) *sql.Rows
- func (h *MySQLHelper) TableExists() bool
- func (h *MySQLHelper) TableRowCount() (count int)
- type S3Helper
- func (h *S3Helper) CreateBucket(name string) (bool, error)
- func (h *S3Helper) DeleteBucket(name string) (bool, error)
- func (h *S3Helper) DeleteObjectInBucket(bucketname string, key string) (bool, error)
- func (h *S3Helper) GetObjectInBucket(bucketname string, key string) (string, error)
- func (h *S3Helper) IsBucketPresent(bucketname string) (bool, error)
- func (h *S3Helper) PutObjectInBucket(bucketname string, body string, key string, contentType string) (bool, error)
Constants ¶
const ( // RetryLoop params for tests. RetryLoop = 40 // RetryInterval param for test - wait time while in RetryLoop RetryInterval = 5 // TestMountPath is the path inside a test pod where storage is mounted TestMountPath = "/tmp/testrook" )
Variables ¶
This section is empty.
Functions ¶
func IsKubectlErrorNotFound ¶
Types ¶
type CommandArgs ¶
type CommandArgs struct { Command string SubCommand string CmdArgs []string OptionalArgs []string PipeToStdIn string EnvironmentVariable []string }
CommandArgs is a warpper for cmd args
type CommandOut ¶
CommandOut is a wrapper for cmd out returned after executing command args
func ExecuteCommand ¶
func ExecuteCommand(cmdStruct CommandArgs) CommandOut
ExecuteCommand executes a os command with stdin and returns output
type HelmHelper ¶
type HelmHelper struct { HelmPath string // contains filtered or unexported fields }
HelmHelper is wrapper for running helm commands
func NewHelmHelper ¶
func NewHelmHelper(helmPath string) *HelmHelper
NewHelmHelper creates a instance of HelmHelper
func (*HelmHelper) DeleteLocalRookHelmChart ¶
func (h *HelmHelper) DeleteLocalRookHelmChart(deployName string) error
DeleteLocalRookHelmChart uninstalls a give helm deploy
func (*HelmHelper) Execute ¶
func (h *HelmHelper) Execute(args ...string) (string, error)
Execute is wrapper for executing helm commands
func (*HelmHelper) GetLocalRookHelmChartVersion ¶
func (h *HelmHelper) GetLocalRookHelmChartVersion(chartName string) (string, error)
GetLocalRookHelmChartVersion returns helm chart version for a given chart
func (*HelmHelper) InstallLocalRookHelmChart ¶
func (h *HelmHelper) InstallLocalRookHelmChart(chartName string, deployName string, chartVersion string, namespace string) error
InstallLocalRookHelmChart installs a give helm chart
type K8sHelper ¶
type K8sHelper struct { Clientset *kubernetes.Clientset RookClientset *rookclient.Clientset RunningInCluster bool T func() *testing.T // contains filtered or unexported fields }
K8sHelper is a helper for common kubectl commads
func CreateK8sHelper ¶
CreateK8sHelper creates a instance of k8sHelper
func (*K8sHelper) ChangeHostnames ¶
ChangeHostnames modifies the node hostname label to run tests in an environment where the node name is different from the hostname label
func (*K8sHelper) CheckPodCountAndState ¶
func (k8sh *K8sHelper) CheckPodCountAndState(podName string, namespace string, minExpected int, expectedPhase string) bool
CheckPodCountAndState returns true if expected number of pods with matching name are found and are in expected state
func (*K8sHelper) CheckPvcCountAndStatus ¶
func (k8sh *K8sHelper) CheckPvcCountAndStatus(podName string, namespace string, expectedPvcCount int, expectedStatus string) bool
CheckPvcCount returns True if expected number pvs for a app are found
func (*K8sHelper) CountPodsWithLabel ¶
func (*K8sHelper) CreateAnonSystemClusterBinding ¶
func (k8sh *K8sHelper) CreateAnonSystemClusterBinding()
CreateAnonSystemClusterBinding Creates anon-user-access clusterrolebinding for cluster-admin role - used by kubeadm env.
func (*K8sHelper) CreateExternalRGWService ¶
CreateExternalRGWService creates a service for rgw access external to the cluster on a node port
func (*K8sHelper) CreateNamespace ¶
func (*K8sHelper) DeletePods ¶
DeletePods performs a kubectl delete pod on the given pods
func (*K8sHelper) DeletePvcWithLabel ¶
func (*K8sHelper) DeleteResource ¶
DeleteResource performs a kubectl delete on the given args
func (*K8sHelper) DeleteResourceAndWait ¶
DeleteResource performs a kubectl delete on give args. If wait is false, a flag will be passed to indicate the delete should return immediately
func (*K8sHelper) DeleteRoleAndBindings ¶
func (*K8sHelper) DeleteRoleBinding ¶
func (*K8sHelper) GetDockerImage ¶
func (*K8sHelper) GetExternalRGWServiceURL ¶
GetRGWServiceURL returns URL of ceph RGW service in the cluster
func (*K8sHelper) GetInternalRGWServiceURL ¶
GetRGWServiceURL returns URL of ceph RGW service in the cluster
func (*K8sHelper) GetK8sServerVersion ¶
GetK8sServerVersion returns k8s server version under test
func (*K8sHelper) GetPV ¶
func (k8sh *K8sHelper) GetPV(name string) (*v1.PersistentVolume, error)
GetPV returns PV by name
func (*K8sHelper) GetPVCAccessModes ¶
func (k8sh *K8sHelper) GetPVCAccessModes(namespace string, name string) ([]v1.PersistentVolumeAccessMode, error)
GetPVCAccessModes returns AccessModes on PVC
func (*K8sHelper) GetPVCStatus ¶
func (k8sh *K8sHelper) GetPVCStatus(namespace string, name string) (v1.PersistentVolumeClaimPhase, error)
GetPVCStatus returns status of PVC
func (*K8sHelper) GetPVCVolumeName ¶
GetPVCVolumeName returns volume name of PVC
func (*K8sHelper) GetPodDetails ¶
GetPodDetails returns details about a pod
func (*K8sHelper) GetPodEvents ¶
GetPodEvents returns events about a pod
func (*K8sHelper) GetPodHostID ¶
GetPodHostID returns HostIP address of a pod
func (*K8sHelper) GetPodNamesForApp ¶
func (*K8sHelper) GetRGWServiceURL ¶
func (*K8sHelper) GetResource ¶
GetResource performs a kubectl get on give args
func (*K8sHelper) GetRookContainerLogs ¶
func (*K8sHelper) GetRookLogs ¶
func (k8sh *K8sHelper) GetRookLogs(podAppName string, hostType string, namespace string, testName string)
GetRookLogs captures logs from specified rook pod and writes it to specified file
func (*K8sHelper) GetService ¶
GetService returns output from "kubectl get svc $NAME" command
func (*K8sHelper) GetServiceNodePort ¶
GetServiceNodePort returns nodeProt of service
func (*K8sHelper) GetVolumeResourceName ¶
GetVolumeResourceName gets the Volume object name from the PVC
func (*K8sHelper) IsCRDPresent ¶
IsCRDPresent returns true if custom resource definition is present
func (*K8sHelper) IsDefaultStorageClassPresent ¶
func (*K8sHelper) IsPodInError ¶
func (k8sh *K8sHelper) IsPodInError(podNamePattern, namespace, reason, containingMessage string) bool
IsPodInError returns true if a Pod is in error status with the given reason and contains the given message
func (*K8sHelper) IsPodInExpectedState ¶
func (k8sh *K8sHelper) IsPodInExpectedState(podNamePattern string, namespace string, state string) bool
IsPodInExpectedState waits for 90s for a pod to be an expected state If the pod is in expected state within 90s true is returned, if not false
func (*K8sHelper) IsPodRunning ¶
IsPodRunning returns true if a Pod is running status or goes to Running status within 90s else returns false
func (*K8sHelper) IsPodTerminated ¶
IsPodTerminated wrapper around IsPodTerminatedWithOpts()
func (*K8sHelper) IsPodTerminatedWithOpts ¶
func (k8sh *K8sHelper) IsPodTerminatedWithOpts(name string, namespace string, getOpts metav1.GetOptions) bool
IsPodTerminatedWithOpts returns true if a Pod is terminated status or goes to Terminated status within 90s else returns false\
func (*K8sHelper) IsPodWithLabelPresent ¶
IsPodWithLabelPresent return true if there is at least one Pod with the label is present.
func (*K8sHelper) IsRookInstalled ¶
IsRookInstalled returns true is rook-ceph-mgr service is running(indicating rook is installed)
func (*K8sHelper) IsServiceUp ¶
IsServiceUp returns true if a service is up or comes up within 150s, else returns false
func (*K8sHelper) IsStorageClassPresent ¶
IsStorageClassPresent returns true if storageClass is present, if not false
func (*K8sHelper) IsVolumeResourceAbsent ¶
IsVolumeResourceAbsent returns true if the Volume resource is deleted/absent within 90s else returns false
func (*K8sHelper) IsVolumeResourcePresent ¶
IsVolumeResourcePresent returns true if Volume resource is present
func (*K8sHelper) KubectlWithStdin ¶
KubectlWithStdin is wrapper for executing kubectl commands in stdin
func (*K8sHelper) MakeContext ¶
func (*K8sHelper) PrintEventsForNamespace ¶
func (*K8sHelper) PrintPodDescribe ¶
func (*K8sHelper) PrintPodDescribeForNamespace ¶
func (*K8sHelper) PrintPodStatus ¶
PrintPodStatus log out the status phase of a pod
func (*K8sHelper) PrintStorageClasses ¶
func (*K8sHelper) PurgeClusters ¶
func (*K8sHelper) ReadFromPod ¶
func (*K8sHelper) ReadFromPodRetry ¶
func (*K8sHelper) ResourceOperation ¶
ResourceOperation performs a kubectl action on a pod definition
func (*K8sHelper) ResourceOperationFromTemplate ¶
func (k8sh *K8sHelper) ResourceOperationFromTemplate(action string, podDefinition string, config map[string]string) (string, error)
ResourceOperationFromTemplate performs a kubectl action from a template file after replacing its context
func (*K8sHelper) RestoreHostnames ¶
RestoreHostnames removes the test suffix from the node hostname labels
func (*K8sHelper) ScaleStatefulSet ¶
func (*K8sHelper) SetDeploymentVersion ¶
func (k8sh *K8sHelper) SetDeploymentVersion(namespace, deploymentName, containerName, version string) error
SetDeploymentVersion sets the container version on the deployment. It is assumed to be the rook/ceph image.
func (*K8sHelper) VersionAtLeast ¶
func (*K8sHelper) WaitForCustomResourceDeletion ¶
func (k8sh *K8sHelper) WaitForCustomResourceDeletion(namespace string, checkerFunc func() error) error
WaitForCustomResourceDeletion waits for the CRD deletion
func (*K8sHelper) WaitForLabeledPodsToRun ¶
WaitForLabeledPodsToRun calls WaitForLabeledPodsToRunWithRetries with the default number of retries
func (*K8sHelper) WaitForLabeledPodsToRunWithRetries ¶
func (k8sh *K8sHelper) WaitForLabeledPodsToRunWithRetries(label string, namespace string, retries int) error
WaitForLabeledPodsToRunWithRetries returns true if a Pod is running status or goes to Running status within 90s else returns false
func (*K8sHelper) WaitForPodCount ¶
WaitForPodCount waits until the desired number of pods with the label are started
func (*K8sHelper) WaitUntilNameSpaceIsDeleted ¶
WaitUntilNameSpaceIsDeleted waits for namespace to be deleted for 180s. If namespace is deleted True is returned, if not false.
func (*K8sHelper) WaitUntilPVCIsBound ¶
WaitUntilPVCIsBound waits for a PVC to be in bound state for 90 seconds if PVC goes to Bound state within 90s True is returned, if not false
func (*K8sHelper) WaitUntilPVCIsDeleted ¶
func (*K8sHelper) WaitUntilPodInNamespaceIsDeleted ¶
func (k8sh *K8sHelper) WaitUntilPodInNamespaceIsDeleted(podNamePattern string, namespace string) bool
WaitUntilPodInNamespaceIsDeleted waits for 90s for a pod in a namespace to be terminated If the pod disappears within 90s true is returned, if not false
func (*K8sHelper) WaitUntilPodIsDeleted ¶
WaitUntilPodIsDeleted waits for 90s for a pod to be terminated If the pod disappears within 90s true is returned, if not false
func (*K8sHelper) WaitUntilPodWithLabelDeleted ¶
WaitUntilPodWithLabelDeleted returns true if a Pod is deleted within 90s else returns false
func (*K8sHelper) WriteToPod ¶
WriteToPod write file in Pod
type MySQLHelper ¶
MySQLHelper contains pointer to MySqlDB and wrappers for basic object on mySql database
func CreateNewMySQLHelper ¶
func CreateNewMySQLHelper(username string, password string, url string, dbname string) *MySQLHelper
CreateNewMySQLHelper creates a s3 client for specified endpoint and creds
func (*MySQLHelper) CloseConnection ¶
func (h *MySQLHelper) CloseConnection()
CloseConnection function closes mysql connection
func (*MySQLHelper) CreateTable ¶
func (h *MySQLHelper) CreateTable() sql.Result
CreateTable func create sample Table
func (*MySQLHelper) DeleteRandomRow ¶
func (h *MySQLHelper) DeleteRandomRow() sql.Result
DeleteRandomRow deletes a random row
func (*MySQLHelper) InsertRandomData ¶
func (h *MySQLHelper) InsertRandomData(dataSize int) sql.Result
InsertRandomData Inserts random Data into the table
func (*MySQLHelper) PingSuccess ¶
func (h *MySQLHelper) PingSuccess() bool
PingSuccess function is used check connection to a database
func (*MySQLHelper) SelectRandomData ¶
func (h *MySQLHelper) SelectRandomData(limit int) *sql.Rows
TableRowCount gets row count of table
func (*MySQLHelper) TableExists ¶
func (h *MySQLHelper) TableExists() bool
TableExists checks if a table exists
func (*MySQLHelper) TableRowCount ¶
func (h *MySQLHelper) TableRowCount() (count int)
TableRowCount gets row count of table
type S3Helper ¶
type S3Helper struct {
// contains filtered or unexported fields
}
S3Helper contains pointer to s3 client and wrappers for basic object store operations
func CreateNewS3Helper ¶
CreateNewS3Helper creates a s3 client for specified endpoint and creds
func (*S3Helper) CreateBucket ¶
CreateBucket function creates bucket using s3 client
func (*S3Helper) DeleteBucket ¶
DeleteBucket function deletes given bucket using s3 client
func (*S3Helper) DeleteObjectInBucket ¶
DeleteObjectInBucket function deletes given bucket using s3 client
func (*S3Helper) GetObjectInBucket ¶
GetObjectInBucket function retrieves an object from a bucket using s3 client
func (*S3Helper) IsBucketPresent ¶
IsBucketPresent function returns true if a bucket is present and false if it's not present