Documentation ¶
Index ¶
- Constants
- func ContextForManagerSync(parent context.Context, sc *scyllav1.ScyllaCluster) (context.Context, context.CancelFunc)
- func ContextForPodStartup(parent context.Context) (context.Context, context.CancelFunc)
- func ContextForRollout(parent context.Context, sc *scyllav1.ScyllaCluster) (context.Context, context.CancelFunc)
- func ExecWithOptions(client corev1client.CoreV1Interface, options ExecOptions) (string, string, error)
- func GetDaemonSetsForNodeConfig(ctx context.Context, client appv1client.AppsV1Interface, ...) ([]*appsv1.DaemonSet, error)
- func GetHosts(ctx context.Context, client corev1client.CoreV1Interface, ...) ([]string, error)
- func GetHostsAndUUIDs(ctx context.Context, client corev1client.CoreV1Interface, ...) ([]string, []string, error)
- func GetManagerClient(ctx context.Context, client corev1client.CoreV1Interface) (*mermaidclient.Client, error)
- func GetMatchingNodesForNodeConfig(ctx context.Context, nodeGetter corev1client.NodesGetter, ...) ([]*corev1.Node, error)
- func GetMemberCount(sc *scyllav1.ScyllaCluster) int32
- func GetMemberServiceSelector(scyllaClusterName string) labels.Selector
- func GetNodeName(sc *scyllav1.ScyllaCluster, idx int) string
- func GetNodesPodIPs(ctx context.Context, client corev1client.CoreV1Interface, ...) ([]string, error)
- func GetNodesServiceAndPodIPs(ctx context.Context, client corev1client.CoreV1Interface, ...) ([]string, error)
- func GetNodesServiceIPs(ctx context.Context, client corev1client.CoreV1Interface, ...) ([]string, error)
- func GetScyllaClient(ctx context.Context, client corev1client.CoreV1Interface, ...) (*scyllaclient.Client, []string, error)
- func GetScyllaConfigClient(ctx context.Context, client corev1client.CoreV1Interface, ...) (*scyllaclient.ConfigClient, error)
- func GetScyllaHostsByDCAndWaitForFullQuorum(ctx context.Context, dcClientMap map[string]corev1client.CoreV1Interface, ...) (map[string][]string, error)
- func GetServerTLSCertificates(address string, tlsConfig *tls.Config) ([]*x509.Certificate, error)
- func GetStatefulSetsForScyllaCluster(ctx context.Context, client appv1client.AppsV1Interface, ...) (map[string]*appsv1.StatefulSet, error)
- func IsNodeConfigDoneWithNodeTuningFunc(nodes []*corev1.Node) func(nc *scyllav1alpha1.NodeConfig) (bool, error)
- func IsNodeConfigDoneWithNodes(nodes []*corev1.Node) func(nc *scyllav1alpha1.NodeConfig) (bool, error)
- func IsNodeConfigRolledOut(nc *scyllav1alpha1.NodeConfig) (bool, error)
- func IsScyllaClusterRolledOut(sc *scyllav1.ScyllaCluster) (bool, error)
- func IsScyllaDBMonitoringRolledOut(sm *scyllav1alpha1.ScyllaDBMonitoring) (bool, error)
- func PodIsRunning(pod *corev1.Pod) (bool, error)
- func RolloutTimeoutForScyllaCluster(sc *scyllav1.ScyllaCluster) time.Duration
- func RunEphemeralContainerAndWaitForCompletion(ctx context.Context, client corev1client.PodInterface, podName string, ...) (*corev1.Pod, error)
- func SyncTimeoutForScyllaCluster(sc *scyllav1.ScyllaCluster) time.Duration
- func WaitForConfigMapState(ctx context.Context, client corev1client.ConfigMapInterface, name string, ...) (*corev1.ConfigMap, error)
- func WaitForNodeConfigState(ctx context.Context, ncClient scyllav1alpha1client.NodeConfigInterface, ...) (*scyllav1alpha1.NodeConfig, error)
- func WaitForObjectState[Object, ListObject runtime.Object](ctx context.Context, client listerWatcher[ListObject], name string, ...) (Object, error)
- func WaitForPVCState(ctx context.Context, client corev1client.CoreV1Interface, namespace string, ...) (*corev1.PersistentVolumeClaim, error)
- func WaitForPodState(ctx context.Context, client corev1client.PodInterface, name string, ...) (*corev1.Pod, error)
- func WaitForRoleBindingState(ctx context.Context, client rbacv1client.RbacV1Interface, namespace string, ...) (*rbacv1.RoleBinding, error)
- func WaitForScyllaClusterState(ctx context.Context, client scyllav1client.ScyllaV1Interface, namespace string, ...) (*scyllav1.ScyllaCluster, error)
- func WaitForScyllaDBMonitoringState(ctx context.Context, client scyllav1alpha1client.ScyllaDBMonitoringInterface, ...) (*scyllav1alpha1.ScyllaDBMonitoring, error)
- func WaitForSecretState(ctx context.Context, client corev1client.SecretInterface, name string, ...) (*corev1.Secret, error)
- func WaitForServiceAccountState(ctx context.Context, client corev1client.CoreV1Interface, namespace string, ...) (*corev1.ServiceAccount, error)
- func WaitForServiceState(ctx context.Context, client corev1client.ServiceInterface, name string, ...) (*corev1.Service, error)
- func WaitUntilServingCertificateIsLive(ctx context.Context, client corev1client.CoreV1Interface, ...) error
- func WithSession(session *gocqlx.Session) func(*DataInserter)
- type DataInserter
- func (di *DataInserter) AwaitSchemaAgreement(ctx context.Context) error
- func (di *DataInserter) Close()
- func (di *DataInserter) GetExpected() []*TestData
- func (di *DataInserter) Insert() error
- func (di *DataInserter) Read() ([]*TestData, error)
- func (di *DataInserter) SetClientEndpoints(hosts []string) error
- type DataInserterOption
- type ExecOptions
- type ObjectObserver
- type ObserverEvent
- type TestData
- type WaitForStateOptions
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 ContextForManagerSync ¶
func ContextForManagerSync(parent context.Context, sc *scyllav1.ScyllaCluster) (context.Context, context.CancelFunc)
func ContextForPodStartup ¶ added in v1.9.0
func ContextForRollout ¶
func ContextForRollout(parent context.Context, sc *scyllav1.ScyllaCluster) (context.Context, context.CancelFunc)
func ExecWithOptions ¶ added in v1.9.0
func ExecWithOptions(client corev1client.CoreV1Interface, options ExecOptions) (string, string, error)
ExecWithOptions executes a command in the specified container, returning stdout, stderr and error. `options` allowed for additional parameters to be passed.
func GetDaemonSetsForNodeConfig ¶
func GetDaemonSetsForNodeConfig(ctx context.Context, client appv1client.AppsV1Interface, nc *scyllav1alpha1.NodeConfig) ([]*appsv1.DaemonSet, error)
func GetHosts ¶
func GetHosts(ctx context.Context, client corev1client.CoreV1Interface, sc *scyllav1.ScyllaCluster) ([]string, error)
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 GetNodeName ¶
func GetNodeName(sc *scyllav1.ScyllaCluster, idx int) string
func GetNodesPodIPs ¶ added in v1.11.0
func GetNodesPodIPs(ctx context.Context, client corev1client.CoreV1Interface, sc *scyllav1.ScyllaCluster) ([]string, error)
func GetNodesServiceAndPodIPs ¶ added in v1.11.0
func GetNodesServiceAndPodIPs(ctx context.Context, client corev1client.CoreV1Interface, sc *scyllav1.ScyllaCluster) ([]string, error)
func GetNodesServiceIPs ¶ added in v1.11.0
func GetNodesServiceIPs(ctx context.Context, client corev1client.CoreV1Interface, sc *scyllav1.ScyllaCluster) ([]string, error)
func GetScyllaClient ¶
func GetScyllaClient(ctx context.Context, client corev1client.CoreV1Interface, sc *scyllav1.ScyllaCluster) (*scyllaclient.Client, []string, error)
func GetScyllaConfigClient ¶ added in v1.10.0
func GetScyllaConfigClient(ctx context.Context, client corev1client.CoreV1Interface, sc *scyllav1.ScyllaCluster, host string) (*scyllaclient.ConfigClient, error)
func GetScyllaHostsByDCAndWaitForFullQuorum ¶ added in v1.11.0
func GetScyllaHostsByDCAndWaitForFullQuorum(ctx context.Context, dcClientMap map[string]corev1client.CoreV1Interface, scs []*scyllav1.ScyllaCluster) (map[string][]string, error)
func GetServerTLSCertificates ¶ added in v1.8.0
func GetStatefulSetsForScyllaCluster ¶
func GetStatefulSetsForScyllaCluster(ctx context.Context, client appv1client.AppsV1Interface, sc *scyllav1.ScyllaCluster) (map[string]*appsv1.StatefulSet, error)
func IsNodeConfigDoneWithNodeTuningFunc ¶
func IsNodeConfigDoneWithNodeTuningFunc(nodes []*corev1.Node) func(nc *scyllav1alpha1.NodeConfig) (bool, error)
func IsNodeConfigDoneWithNodes ¶ added in v1.9.0
func IsNodeConfigDoneWithNodes(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 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 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 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 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)
func WaitForServiceState ¶ added in v1.11.0
func WaitUntilServingCertificateIsLive ¶ added in v1.11.0
func WaitUntilServingCertificateIsLive(ctx context.Context, client corev1client.CoreV1Interface, sc *scyllav1.ScyllaCluster) error
func WithSession ¶ added in v1.11.0
func WithSession(session *gocqlx.Session) func(*DataInserter)
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, options ...DataInserterOption) (*DataInserter, error)
func NewMultiDCDataInserter ¶ added in v1.11.0
func NewMultiDCDataInserter(dcHosts map[string][]string, options ...DataInserterOption) (*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 DataInserterOption ¶ added in v1.11.0
type DataInserterOption func(*DataInserter)
type ExecOptions ¶ added in v1.9.0
type ExecOptions struct { Command []string Namespace string PodName string ContainerName string Stdin io.Reader CaptureStdout bool CaptureStderr bool }
ExecOptions passed to ExecWithOptions
type ObjectObserver ¶ added in v1.10.0
type ObjectObserver[T kubeinterfaces.ObjectInterface] struct { Events []ObserverEvent[T] // contains filtered or unexported fields }
func ObserveObjects ¶ added in v1.10.0
func ObserveObjects[T kubeinterfaces.ObjectInterface](lw cache.ListerWatcher) ObjectObserver[T]
func (*ObjectObserver[T]) Start ¶ added in v1.10.0
func (o *ObjectObserver[T]) Start(ctx context.Context) error
func (*ObjectObserver[T]) Stop ¶ added in v1.10.0
func (o *ObjectObserver[T]) Stop() ([]ObserverEvent[T], error)
type ObserverEvent ¶ added in v1.10.0
type ObserverEvent[T kubeinterfaces.ObjectInterface] struct { Action watchutils.EventType Obj T }
type WaitForStateOptions ¶
type WaitForStateOptions struct {
TolerateDelete bool
}
Source Files ¶
Click to show internal directories.
Click to hide internal directories.