framework

package
v1.22.17 Latest Latest
Warning

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

Go to latest
Published: Dec 8, 2022 License: Apache-2.0 Imports: 60 Imported by: 170

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CreateTestingNamespace added in v1.4.0

func CreateTestingNamespace(baseName string, apiserver *httptest.Server, t *testing.T) *v1.Namespace

CreateTestingNamespace creates a namespace for testing.

func DefaultEtcdOptions added in v1.15.0

func DefaultEtcdOptions() *options.EtcdOptions

DefaultEtcdOptions are the default EtcdOptions for use with integration tests.

func DefaultOpenAPIConfig added in v1.14.0

func DefaultOpenAPIConfig() *openapicommon.Config

DefaultOpenAPIConfig returns an openapicommon.Config initialized to default values.

func DeleteTestingNamespace added in v1.4.0

func DeleteTestingNamespace(ns *v1.Namespace, apiserver *httptest.Server, t *testing.T)

DeleteTestingNamespace is currently a no-op function.

func EtcdMain added in v1.8.0

func EtcdMain(tests func() int)

EtcdMain starts an etcd instance before running tests.

func Filter added in v1.19.0

func Filter(nodeList *v1.NodeList, fn func(node v1.Node) bool)

Filter filters nodes in NodeList in place, removing nodes that do not satisfy the given condition

func GetEtcdURL added in v1.8.0

func GetEtcdURL() string

GetEtcdURL returns the URL of the etcd instance started by EtcdMain.

func GetReadySchedulableNodes added in v1.19.0

func GetReadySchedulableNodes(c clientset.Interface) (nodes *v1.NodeList, err error)

GetReadySchedulableNodes addresses the common use case of getting nodes you can do work on. 1) Needs to be schedulable. 2) Needs to be ready. If EITHER 1 or 2 is not true, most tests will want to ignore the node entirely. If there are no nodes that are both ready and schedulable, this will return an error.

func IsConditionSetAsExpected added in v1.19.0

func IsConditionSetAsExpected(node *v1.Node, conditionType v1.NodeConditionType, wantTrue bool) bool

IsConditionSetAsExpected returns a wantTrue value if the node has a match to the conditionType, otherwise returns an opposite value of the wantTrue with detailed logging.

func IsConditionSetAsExpectedSilent added in v1.19.0

func IsConditionSetAsExpectedSilent(node *v1.Node, conditionType v1.NodeConditionType, wantTrue bool) bool

IsConditionSetAsExpectedSilent returns a wantTrue value if the node has a match to the conditionType, otherwise returns an opposite value of the wantTrue.

func IsNodeReady added in v1.19.0

func IsNodeReady(node *v1.Node) bool

IsNodeReady returns true if: 1) it's Ready condition is set to true 2) doesn't have NetworkUnavailable condition set to true

func IsNodeSchedulable added in v1.19.0

func IsNodeSchedulable(node *v1.Node) bool

IsNodeSchedulable returns true if: 1) doesn't have "unschedulable" field set 2) it also returns true from IsNodeReady

func NewControlPlaneConfig added in v1.22.0

func NewControlPlaneConfig() *controlplane.Config

NewControlPlaneConfig returns a basic control plane config.

func NewControlPlaneConfigWithOptions added in v1.22.0

func NewControlPlaneConfigWithOptions(opts *ControlPlaneConfigOptions) *controlplane.Config

NewControlPlaneConfigWithOptions returns a basic control plane config configured with the provided options.

func NewIntegrationTestControlPlaneConfig added in v1.22.0

func NewIntegrationTestControlPlaneConfig() *controlplane.Config

NewIntegrationTestControlPlaneConfig returns the control plane config appropriate for most integration tests.

func NewIntegrationTestControlPlaneConfigWithOptions added in v1.22.0

func NewIntegrationTestControlPlaneConfigWithOptions(opts *ControlPlaneConfigOptions) *controlplane.Config

NewIntegrationTestControlPlaneConfigWithOptions returns the control plane config appropriate for most integration tests configured with the provided options.

func NewIntegrationTestNodePreparer added in v1.5.0

func NewIntegrationTestNodePreparer(client clientset.Interface, countToStrategy []testutils.CountToStrategy, nodeNamePrefix string) testutils.TestNodePreparer

NewIntegrationTestNodePreparer creates an IntegrationTestNodePreparer configured with defaults.

func NewIntegrationTestNodePreparerWithNodeSpec added in v1.18.0

func NewIntegrationTestNodePreparerWithNodeSpec(client clientset.Interface, countToStrategy []testutils.CountToStrategy, nodeSpec *v1.Node) testutils.TestNodePreparer

NewIntegrationTestNodePreparerWithNodeSpec creates an IntegrationTestNodePreparer configured with nodespec.

func NewSingleContentTypeSerializer added in v1.3.0

func NewSingleContentTypeSerializer(scheme *runtime.Scheme, info runtime.SerializerInfo) runtime.StorageSerializer

NewSingleContentTypeSerializer wraps a serializer in a NegotiatedSerializer that handles one content type

func RunCustomEtcd added in v1.20.0

func RunCustomEtcd(dataDir string, customFlags []string) (url string, stopFn func(), err error)

RunCustomEtcd starts a custom etcd instance for test purposes.

func SharedEtcd added in v1.9.0

func SharedEtcd() *storagebackend.Config

SharedEtcd creates a storage config for a shared etcd instance, with a unique prefix.

func StartTestServer added in v1.11.8

func StartTestServer(t *testing.T, stopCh <-chan struct{}, setup TestServerSetup) (client.Interface, *rest.Config)

StartTestServer runs a kube-apiserver, optionally calling out to the setup.ModifyServerRunOptions and setup.ModifyServerConfig functions

Types

type APIServerHolder added in v1.22.0

type APIServerHolder struct {
	Initialized chan struct{}
	M           *controlplane.Instance
}

APIServerHolder implements

func (*APIServerHolder) SetAPIServer added in v1.22.0

func (h *APIServerHolder) SetAPIServer(m *controlplane.Instance)

SetAPIServer assigns the current API server.

type APIServerReceiver added in v1.22.0

type APIServerReceiver interface {
	SetAPIServer(m *controlplane.Instance)
}

APIServerReceiver can be used to provide the API server to a custom incoming server function

type CloseFunc added in v1.7.0

type CloseFunc func()

CloseFunc can be called to cleanup the API server

func RunAnAPIServer added in v1.22.0

func RunAnAPIServer(controlPlaneConfig *controlplane.Config) (*controlplane.Instance, *httptest.Server, CloseFunc)

RunAnAPIServer starts a API server with the provided config.

func RunAnAPIServerUsingServer added in v1.22.0

func RunAnAPIServerUsingServer(controlPlaneConfig *controlplane.Config, s *httptest.Server, apiServerReceiver APIServerReceiver) (*controlplane.Instance, *httptest.Server, CloseFunc)

RunAnAPIServerUsingServer starts up an instance using the provided config on the specified server.

type Config

type Config struct {
	// If nil, a default is used, partially filled configs will not get populated.
	InstanceConfig          *controlplane.Config
	StartReplicationManager bool
	// Client throttling qps
	QPS float32
	// Client burst qps, also burst replicas allowed in rc manager
	Burst int
}

Config is a struct of configuration directives for NewControlPlaneComponents.

type ControlPlaneConfigOptions added in v1.22.0

type ControlPlaneConfigOptions struct {
	EtcdOptions *options.EtcdOptions
}

ControlPlaneConfigOptions are the configurable options for a new integration test control plane config.

type IntegrationTestNodePreparer added in v1.5.0

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

IntegrationTestNodePreparer holds configuration information for the test node preparer.

func (*IntegrationTestNodePreparer) CleanupNodes added in v1.5.0

func (p *IntegrationTestNodePreparer) CleanupNodes() error

CleanupNodes deletes existing test nodes.

func (*IntegrationTestNodePreparer) PrepareNodes added in v1.5.0

func (p *IntegrationTestNodePreparer) PrepareNodes(nextNodeIndex int) error

PrepareNodes prepares countToStrategy test nodes.

type TestServerSetup added in v1.11.8

type TestServerSetup struct {
	ModifyServerRunOptions func(*options.ServerRunOptions)
	ModifyServerConfig     func(*controlplane.Config)
}

TestServerSetup holds configuration information for a kube-apiserver test server.

Jump to

Keyboard shortcuts

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