utils

package
v1.9.0-alpha.2 Latest Latest
Warning

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

Go to latest
Published: Mar 15, 2023 License: Apache-2.0 Imports: 45 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// SyncTimeout is the maximum time the sync loop can last. In normal circumstances this is in the order
	// of seconds but there are special cases we need to account for. Like when the sync loop generates new keys
	// and signs certificates it can take several seconds. When the CI creates multiple clusters in parallel on
	// a constrained CPU, one cert can easily take over 30s.
	SyncTimeout = 2 * time.Minute
)

Variables

This section is empty.

Functions

func GetHostsAndUUIDs added in v1.8.0

func GetHostsAndUUIDs(ctx context.Context, client corev1client.CoreV1Interface, sc *scyllav1.ScyllaCluster) ([]string, []string, error)

func GetManagerClient

func GetManagerClient(ctx context.Context, client corev1client.CoreV1Interface) (*mermaidclient.Client, error)

GetManagerClient gets managerClient using IP address. E2E tests shouldn't rely on InCluster DNS.

func GetMatchingNodesForNodeConfig

func GetMatchingNodesForNodeConfig(ctx context.Context, nodeGetter corev1client.NodesGetter, nc *scyllav1alpha1.NodeConfig) ([]*corev1.Node, error)

func GetMemberCount

func GetMemberCount(sc *scyllav1.ScyllaCluster) int32

func GetMemberServiceSelector added in v1.8.0

func GetMemberServiceSelector(scyllaClusterName string) labels.Selector

func GetNodeName

func GetNodeName(sc *scyllav1.ScyllaCluster, idx int) string

func GetScyllaHostsAndWaitForFullQuorum added in v1.8.0

func GetScyllaHostsAndWaitForFullQuorum(ctx context.Context, client corev1client.CoreV1Interface, sc *scyllav1.ScyllaCluster) ([]string, error)

func GetServerTLSCertificates added in v1.8.0

func GetServerTLSCertificates(address string, tlsConfig *tls.Config) ([]*x509.Certificate, error)

func IsNodeConfigDoneWithNodeTuningFunc

func IsNodeConfigDoneWithNodeTuningFunc(nodes []*corev1.Node) func(nc *scyllav1alpha1.NodeConfig) (bool, error)

func IsNodeConfigRolledOut

func IsNodeConfigRolledOut(nc *scyllav1alpha1.NodeConfig) (bool, error)

func IsScyllaClusterRolledOut

func IsScyllaClusterRolledOut(sc *scyllav1.ScyllaCluster) (bool, error)

func IsScyllaDBMonitoringRolledOut added in v1.9.0

func IsScyllaDBMonitoringRolledOut(sm *scyllav1alpha1.ScyllaDBMonitoring) (bool, error)

func RolloutTimeoutForScyllaCluster

func RolloutTimeoutForScyllaCluster(sc *scyllav1.ScyllaCluster) time.Duration

func RunEphemeralContainerAndWaitForCompletion added in v1.8.0

func RunEphemeralContainerAndWaitForCompletion(ctx context.Context, client corev1client.PodInterface, podName string, ec *corev1.EphemeralContainer) (*corev1.Pod, error)

func SyncTimeoutForScyllaCluster

func SyncTimeoutForScyllaCluster(sc *scyllav1.ScyllaCluster) time.Duration

func WaitForConfigMapState

func WaitForConfigMapState(ctx context.Context, client corev1client.ConfigMapInterface, name string, options WaitForStateOptions, condition func(*corev1.ConfigMap) (bool, error), additionalConditions ...func(*corev1.ConfigMap) (bool, error)) (*corev1.ConfigMap, error)

func WaitForNodeConfigState

func WaitForNodeConfigState(ctx context.Context, ncClient scyllav1alpha1client.NodeConfigInterface, name string, options WaitForStateOptions, condition func(*scyllav1alpha1.NodeConfig) (bool, error), additionalConditions ...func(*scyllav1alpha1.NodeConfig) (bool, error)) (*scyllav1alpha1.NodeConfig, error)

func WaitForObjectState added in v1.8.0

func WaitForObjectState[Object, ListObject runtime.Object](ctx context.Context, client listerWatcher[ListObject], name string, options WaitForStateOptions, condition func(obj Object) (bool, error), additionalConditions ...func(obj Object) (bool, error)) (Object, error)

func WaitForPVCState

func WaitForPVCState(ctx context.Context, client corev1client.CoreV1Interface, namespace string, name string, options WaitForStateOptions, condition func(*corev1.PersistentVolumeClaim) (bool, error), additionalConditions ...func(*corev1.PersistentVolumeClaim) (bool, error)) (*corev1.PersistentVolumeClaim, error)

func WaitForPodState

func WaitForPodState(ctx context.Context, client corev1client.PodInterface, name string, options WaitForStateOptions, condition func(*corev1.Pod) (bool, error), additionalConditions ...func(*corev1.Pod) (bool, error)) (*corev1.Pod, error)

func WaitForRoleBindingState added in v1.8.0

func WaitForRoleBindingState(ctx context.Context, client rbacv1client.RbacV1Interface, namespace string, name string, options WaitForStateOptions, condition func(*rbacv1.RoleBinding) (bool, error), additionalConditions ...func(*rbacv1.RoleBinding) (bool, error)) (*rbacv1.RoleBinding, error)

func WaitForScyllaClusterState

func WaitForScyllaClusterState(ctx context.Context, client scyllav1client.ScyllaV1Interface, namespace string, name string, options WaitForStateOptions, condition func(*scyllav1.ScyllaCluster) (bool, error), additionalConditions ...func(*scyllav1.ScyllaCluster) (bool, error)) (*scyllav1.ScyllaCluster, error)

func WaitForScyllaDBMonitoringState added in v1.9.0

func WaitForScyllaDBMonitoringState(ctx context.Context, client scyllav1alpha1client.ScyllaDBMonitoringInterface, name string, options WaitForStateOptions, condition func(monitoring *scyllav1alpha1.ScyllaDBMonitoring) (bool, error), additionalConditions ...func(monitoring *scyllav1alpha1.ScyllaDBMonitoring) (bool, error)) (*scyllav1alpha1.ScyllaDBMonitoring, error)

func WaitForSecretState added in v1.8.0

func WaitForSecretState(ctx context.Context, client corev1client.SecretInterface, name string, options WaitForStateOptions, condition func(*corev1.Secret) (bool, error), additionalConditions ...func(*corev1.Secret) (bool, error)) (*corev1.Secret, error)

func WaitForServiceAccountState added in v1.8.0

func WaitForServiceAccountState(ctx context.Context, client corev1client.CoreV1Interface, namespace string, name string, options WaitForStateOptions, condition func(*corev1.ServiceAccount) (bool, error), additionalConditions ...func(*corev1.ServiceAccount) (bool, error)) (*corev1.ServiceAccount, error)

Types

type DataInserter added in v1.8.0

type DataInserter struct {
	// contains filtered or unexported fields
}

func NewDataInserter added in v1.8.0

func NewDataInserter(hosts []string) (*DataInserter, error)

func (*DataInserter) AwaitSchemaAgreement added in v1.9.0

func (di *DataInserter) AwaitSchemaAgreement(ctx context.Context) error

func (*DataInserter) Close added in v1.8.0

func (di *DataInserter) Close()

func (*DataInserter) GetExpected added in v1.8.0

func (di *DataInserter) GetExpected() []*TestData

func (*DataInserter) Insert added in v1.8.0

func (di *DataInserter) Insert() error

func (*DataInserter) Read added in v1.8.0

func (di *DataInserter) Read() ([]*TestData, error)

func (*DataInserter) SetClientEndpoints added in v1.8.0

func (di *DataInserter) SetClientEndpoints(hosts []string) error

SetClientEndpoints creates a new session and closes a previous session if it existed. In case an error was returned, DataInserter can no Longer be used.

type TestData added in v1.8.0

type TestData struct {
	Id   int    `db:"id"`
	Data string `db:"data"`
}

type WaitForStateOptions

type WaitForStateOptions struct {
	TolerateDelete bool
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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