testutil

package
v0.31.0 Latest Latest
Warning

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

Go to latest
Published: Mar 12, 2026 License: Apache-2.0 Imports: 32 Imported by: 0

Documentation

Index

Constants

View Source
const (
	TestIssuerName       = "ytsaurus-dev-ca"
	TestCABundleName     = "ytsaurus-dev-ca.crt"
	TestCARootBundleName = "ytsaurus-dev-ca-root-bundle"
)
View Source
const (
	CellTag       = 1
	YtsaurusName  = "test-ytsaurus"
	OverridesName = "test-overrides"
	MasterPodName = "ms-0"
	// RemoteResourceName is a name for test remote ytsaurus and nodes.
	// It is short because of error:
	// `Failed to create pod sandbox: failed to construct FQDN from pod hostname and cluster domain, FQDN
	// <...> is too long (64 characters is the max, 67 characters requested)`.
	// FIXME(khlebnikov): https://github.com/ytsaurus/ytsaurus-k8s-operator/issues/390
	RemoteResourceName = "rmt"
)

Variables

View Source
var (
	YtsaurusJobImage    = GetenvOr("YTSAURUS_JOB_IMAGE", "mirror.gcr.io/library/python:3.12-slim")
	YtsaurusRegistry    = GetenvOr("YTSAURUS_REGISTRY", "ghcr.io/ytsaurus")
	YtsaurusPrevVersion = os.Getenv("TEST_YTSAURUS_PREV_VERSION")
	YtsaurusCurrVersion = os.Getenv("TEST_YTSAURUS_VERSION")
	YtsaurusNextVersion = os.Getenv("TEST_YTSAURUS_NEXT_VERSION")
	YtsaurusLateVersion = os.Getenv("TEST_YTSAURUS_LATE_VERSION")

	Images map[string]YtsaurusImages = map[string]YtsaurusImages{}

	PrevImages, TestImages, NextImages YtsaurusImages
)

Images are should be set by TEST_ENV include in Makefile

Functions

func BuildMinimalYtsaurus

func BuildMinimalYtsaurus(namespace, name string) ytv1.Ytsaurus

func DeployObject

func DeployObject(h *TestHelper, object client.Object)

func FetchAndCheckConfigMapContainsEventually

func FetchAndCheckConfigMapContainsEventually(h *TestHelper, objectKey, cmKey, expectSubstr string)

func FetchAndCheckEventually

func FetchAndCheckEventually(
	h *TestHelper,
	key string,
	obj client.Object,
	condDescription string,
	condition func(obj client.Object) bool,
)

func FetchConfigMapData

func FetchConfigMapData(h *TestHelper, objectKey, mapKey string) string

func FetchEventually

func FetchEventually(h *TestHelper, key string, obj client.Object)

func GetObject

func GetObject(h *TestHelper, key string, emptyObject client.Object)

helpers

func GetenvOr

func GetenvOr(key, value string) string

func ListObjects

func ListObjects(h *TestHelper, emptyList client.ObjectList)

func MarkAllJobsCompleted

func MarkAllJobsCompleted(h *TestHelper)

func MarkJobSucceeded

func MarkJobSucceeded(h *TestHelper, key string)

func UpdateObject

func UpdateObject(h *TestHelper, emptyObject, newObject client.Object)

func UpdateObjectStatus

func UpdateObjectStatus(h *TestHelper, newObject client.Object)

Types

type CertBuilder

type CertBuilder struct {
	Namespace   string
	DNSZones    []string
	IPAddresses []string
}

func (*CertBuilder) BuildCertificate

func (b *CertBuilder) BuildCertificate(name string, hostNames []string) *certv1.Certificate

type CombinedKubeWatcher

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

CombinedKubeWatcher is a watcher that combines multiple watchers into a single channel preserving watcher interface.

func NewCombinedKubeWatcher

func NewCombinedKubeWatcher(ctx context.Context, kubecli client.WithWatch, namespace string, lists []client.ObjectList) (*CombinedKubeWatcher, error)

func (*CombinedKubeWatcher) ResultChan

func (w *CombinedKubeWatcher) ResultChan() <-chan watch.Event

func (*CombinedKubeWatcher) Stop

func (w *CombinedKubeWatcher) Stop()

type ImageEntry added in v0.31.0

type ImageEntry struct {
	Epoch, Version, Image string
}

type TestHelper

type TestHelper struct {
	Namespace string
	// contains filtered or unexported fields
}

func NewTestHelper

func NewTestHelper(t testing.TB, namespace, topDirectoryPath string) *TestHelper

func (*TestHelper) GetK8sClient

func (h *TestHelper) GetK8sClient() client.Client

func (*TestHelper) GetObjectKey

func (h *TestHelper) GetObjectKey(name string) client.ObjectKey

func (*TestHelper) GetObjectMeta

func (h *TestHelper) GetObjectMeta(name string) metav1.ObjectMeta

func (*TestHelper) Log

func (h *TestHelper) Log(args ...any)

func (*TestHelper) Logf

func (h *TestHelper) Logf(format string, args ...any)

func (*TestHelper) Start

func (h *TestHelper) Start(reconcilerSetup func(mgr ctrl.Manager) error)

type YtsaurusBuilder

type YtsaurusBuilder struct {
	Images       YtsaurusImages
	Namespace    string
	SandboxImage *string
	CRIService   *ytv1.CRIServiceType
	Ytsaurus     *ytv1.Ytsaurus
	Overrides    *corev1.ConfigMap
	Chyt         *ytv1.Chyt
	Spyt         *ytv1.Spyt

	// Set MinReadyInstanceCount for all components
	MinReadyInstanceCount *int

	WithHTTPSProxy     bool
	WithHTTPSOnlyProxy bool
	WithRPCProxy       bool
	WithRPCProxyTLS    bool
}

func (*YtsaurusBuilder) CreateChyt

func (b *YtsaurusBuilder) CreateChyt() *ytv1.Chyt

func (*YtsaurusBuilder) CreateDataNodeInstanceSpec

func (b *YtsaurusBuilder) CreateDataNodeInstanceSpec(instanceCount int32) ytv1.InstanceSpec

func (*YtsaurusBuilder) CreateExecNodeSpec

func (b *YtsaurusBuilder) CreateExecNodeSpec() ytv1.ExecNodesSpec

func (*YtsaurusBuilder) CreateHTTPProxiesSpec

func (b *YtsaurusBuilder) CreateHTTPProxiesSpec() ytv1.HTTPProxiesSpec

func (*YtsaurusBuilder) CreateLoggersSpec

func (b *YtsaurusBuilder) CreateLoggersSpec() []ytv1.TextLoggerSpec

func (*YtsaurusBuilder) CreateMinimal

func (b *YtsaurusBuilder) CreateMinimal()

func (*YtsaurusBuilder) CreateOffshoreDataGateways added in v0.31.0

func (b *YtsaurusBuilder) CreateOffshoreDataGateways() *ytv1.OffshoreDataGateways

func (*YtsaurusBuilder) CreateOffshoreInstanceSpec added in v0.31.0

func (b *YtsaurusBuilder) CreateOffshoreInstanceSpec(instanceCount int32) ytv1.InstanceSpec

func (*YtsaurusBuilder) CreateRPCProxiesSpec

func (b *YtsaurusBuilder) CreateRPCProxiesSpec() ytv1.RPCProxiesSpec

func (*YtsaurusBuilder) CreateRemoteDataNodes added in v0.31.0

func (b *YtsaurusBuilder) CreateRemoteDataNodes() *ytv1.RemoteDataNodes

func (*YtsaurusBuilder) CreateRemoteExecNodes added in v0.31.0

func (b *YtsaurusBuilder) CreateRemoteExecNodes() *ytv1.RemoteExecNodes

func (*YtsaurusBuilder) CreateRemoteTabletNodes added in v0.31.0

func (b *YtsaurusBuilder) CreateRemoteTabletNodes() *ytv1.RemoteTabletNodes

func (*YtsaurusBuilder) CreateRemoteYtsaurus added in v0.31.0

func (b *YtsaurusBuilder) CreateRemoteYtsaurus() *ytv1.RemoteYtsaurus

func (*YtsaurusBuilder) CreateSpyt added in v0.31.0

func (b *YtsaurusBuilder) CreateSpyt() *ytv1.Spyt

func (*YtsaurusBuilder) CreateTabletNodeSpec

func (b *YtsaurusBuilder) CreateTabletNodeSpec(instanceCount int32) ytv1.InstanceSpec

func (*YtsaurusBuilder) CreateVolumeClaim

func (b *YtsaurusBuilder) CreateVolumeClaim(name string, size resource.Quantity) ytv1.EmbeddedPersistentVolumeClaim

func (*YtsaurusBuilder) SetupCRIJobEnvironment

func (b *YtsaurusBuilder) SetupCRIJobEnvironment(node *ytv1.ExecNodesSpec)

func (*YtsaurusBuilder) WithAllClusterFeatures

func (b *YtsaurusBuilder) WithAllClusterFeatures()

func (*YtsaurusBuilder) WithAllGlobalPodOptions

func (b *YtsaurusBuilder) WithAllGlobalPodOptions()

func (*YtsaurusBuilder) WithAllInstancePodOptions

func (b *YtsaurusBuilder) WithAllInstancePodOptions(spec *ytv1.InstanceSpec)

func (*YtsaurusBuilder) WithBaseComponents

func (b *YtsaurusBuilder) WithBaseComponents()

func (*YtsaurusBuilder) WithBootstrap

func (b *YtsaurusBuilder) WithBootstrap()

func (*YtsaurusBuilder) WithCRIJobEnvironment

func (b *YtsaurusBuilder) WithCRIJobEnvironment()

func (*YtsaurusBuilder) WithControllerAgents

func (b *YtsaurusBuilder) WithControllerAgents()

func (*YtsaurusBuilder) WithDataNodes

func (b *YtsaurusBuilder) WithDataNodes()

TODO (l0kix2): merge with ytconfig build spec helpers.

func (*YtsaurusBuilder) WithDataNodesCount

func (b *YtsaurusBuilder) WithDataNodesCount(count int32, name *string)

func (*YtsaurusBuilder) WithExecNodes

func (b *YtsaurusBuilder) WithExecNodes()

func (*YtsaurusBuilder) WithHTTPSProxies

func (b *YtsaurusBuilder) WithHTTPSProxies(httpsCert string, httpsOnly bool)

func (*YtsaurusBuilder) WithHydraPersistenceUploader added in v0.31.0

func (b *YtsaurusBuilder) WithHydraPersistenceUploader()

func (*YtsaurusBuilder) WithMasterCaches

func (b *YtsaurusBuilder) WithMasterCaches()

func (*YtsaurusBuilder) WithNamedDataNodes

func (b *YtsaurusBuilder) WithNamedDataNodes(name *string)

func (*YtsaurusBuilder) WithNativeTransportTLS

func (b *YtsaurusBuilder) WithNativeTransportTLS(serverCert, clientCert string)

func (*YtsaurusBuilder) WithNvidiaContainerRuntime

func (b *YtsaurusBuilder) WithNvidiaContainerRuntime()

func (*YtsaurusBuilder) WithOverrides

func (b *YtsaurusBuilder) WithOverrides()

func (*YtsaurusBuilder) WithQueryTracker

func (b *YtsaurusBuilder) WithQueryTracker()

func (*YtsaurusBuilder) WithQueueAgent

func (b *YtsaurusBuilder) WithQueueAgent()

func (*YtsaurusBuilder) WithRPCProxies

func (b *YtsaurusBuilder) WithRPCProxies()

func (*YtsaurusBuilder) WithScheduler

func (b *YtsaurusBuilder) WithScheduler()

func (*YtsaurusBuilder) WithStrawberryController

func (b *YtsaurusBuilder) WithStrawberryController()

func (*YtsaurusBuilder) WithTabletNodes

func (b *YtsaurusBuilder) WithTabletNodes()

func (*YtsaurusBuilder) WithTabletNodesCount

func (b *YtsaurusBuilder) WithTabletNodesCount(count int32)

func (*YtsaurusBuilder) WithTimbertruck added in v0.31.0

func (b *YtsaurusBuilder) WithTimbertruck()

func (*YtsaurusBuilder) WithYqlAgent

func (b *YtsaurusBuilder) WithYqlAgent()

type YtsaurusImages

type YtsaurusImages struct {
	YtsaurusVersion     version.Version
	QueryTrackerVersion version.Version

	Job          string
	Core         string
	Sidecars     string
	Strawberry   string
	Chyt         string
	QueryTracker string
}

Jump to

Keyboard shortcuts

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