utils

package
v0.0.0-...-bcc170e Latest Latest
Warning

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

Go to latest
Published: Sep 26, 2024 License: Apache-2.0 Imports: 19 Imported by: 0

Documentation

Index

Constants

View Source
const MaxRetries = 20

MaxRetries is the maximum number of retries that a resource will be attempted to be fetched from the Kubernetes API Server.

View Source
const RetryInterval = 15

RetryInterval is the number of seconds to sleep in between requests to the Kubernetes API Server.

Variables

This section is empty.

Functions

func APIServerVersionInfo

func APIServerVersionInfo(t *testing.T, clientset *kubernetes.Clientset)

APIServerVersionInfo prints out the API Server versions.

func AssertAllNodesReady

func AssertAllNodesReady(t *testing.T, clientset *kubernetes.Clientset, desiredNodeCount int)

AssertAllNodesReady ensures that all Nodes are running & have a "Ready" status condition.

func AssertKindInAllNamespacesReady

func AssertKindInAllNamespacesReady(t *testing.T, clientset *kubernetes.Clientset, objType string)

AssertKindInAllNamespacesReady ensures all Deployments have valid & ready status conditions.

func AssertKindListIsReady

func AssertKindListIsReady(t *testing.T, clientset *kubernetes.Clientset, list runtime.Object)

AssertKindListIsReady verifies that each item in a given resource list is marked as ready.

func EnsureKubeconfigFails

func EnsureKubeconfigFails(t *testing.T, kubeconfig any)

EnsureKubeconfigFails ensures that the provided kubeconfig fails to authenticate.

func IsDaemonSetReady

func IsDaemonSetReady(t *testing.T, clientset *kubernetes.Clientset, namespace, name string) (*appsv1.DaemonSet, bool)

func IsDeploymentReady

func IsDeploymentReady(t *testing.T, clientset *kubernetes.Clientset, deployment metav1.Object) (bool, runtime.Object)

IsDeploymentReady attempts to check if the Deployments's status conditions are ready.

func IsKubeconfigValid

func IsKubeconfigValid(kubeconfig []byte) error

IsKubeconfigValid checks that the kubeconfig provided is valid and error-free.

func IsNodeReady

func IsNodeReady(t *testing.T, clientset *kubernetes.Clientset, node *corev1.Node) (bool, *corev1.Node)

IsNodeReady attempts to check if the Node status condition is ready.

func IsPodReady

func IsPodReady(t *testing.T, clientset *kubernetes.Clientset, pod metav1.Object) (bool, runtime.Object)

IsPodReady attempts to check if the Pod's status & condition is ready.

func IsReplicaSetReady

func IsReplicaSetReady(t *testing.T, clientset *kubernetes.Clientset, replicaSet metav1.Object) (bool, runtime.Object)

IsReplicaSetReady attempts to check if the ReplicaSets's status conditions are ready.

func PrintAndLog

func PrintAndLog(s string, t *testing.T)

PrintAndLog is a helper fucn that prints a string to stdout, and logs it to the testing logs.

func RunEKSSmokeTest

func RunEKSSmokeTest(t *testing.T, resources []apitype.ResourceV3, kubeconfigs ...interface{})

RunEKSSmokeTest instantiates the EKS Smoke Test.

func ValidateDaemonSet

func ValidateDaemonSet(t *testing.T, kubeconfig interface{}, namespace, name string, validateFn func(*appsv1.DaemonSet)) error

func ValidateNodes

func ValidateNodes(t *testing.T, kubeconfig any, validateFn func(*corev1.NodeList)) error

ValidateNodes validates the nodes in a cluster contain the expected values.

Types

type KubeAccess

type KubeAccess struct {
	RESTConfig *restclient.Config
	Clientset  *kubernetes.Clientset
}

KubeAccess holds the Kubernetes client-go client bag of tools to work with the APIServer: the RESTConfig, and Clientset for the various API groups.

func KubeconfigToKubeAccess

func KubeconfigToKubeAccess(kubeconfig []byte) (*KubeAccess, error)

KubeconfigToKubeAccess creates a KubeAccess object from a serialized kubeconfig.

Jump to

Keyboard shortcuts

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