kubernetesk8s.io/kubernetes/test/integration/framework Index | Files

package framework

import "k8s.io/kubernetes/test/integration/framework"

Index

Functions

func CreateTestingNamespace

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

CreateTestingNamespace creates a namespace for testing.

func DefaultEtcdOptions

func DefaultEtcdOptions() *options.EtcdOptions

DefaultEtcdOptions are the default EtcdOptions for use with integration tests.

func DefaultOpenAPIConfig

func DefaultOpenAPIConfig() *openapicommon.Config

DefaultOpenAPIConfig returns an openapicommon.Config initialized to default values.

func DeleteTestingNamespace

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

DeleteTestingNamespace is currently a no-op function.

func EtcdMain

func EtcdMain(tests func() int)

EtcdMain starts an etcd instance before running tests.

func Filter

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

func GetEtcdURL() string

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

func GetReadySchedulableNodes

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

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

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

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

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 NewIntegrationTestMasterConfig

func NewIntegrationTestMasterConfig() *master.Config

NewIntegrationTestMasterConfig returns the master config appropriate for most integration tests.

func NewIntegrationTestMasterConfigWithOptions

func NewIntegrationTestMasterConfigWithOptions(opts *MasterConfigOptions) *master.Config

NewIntegrationTestMasterConfigWithOptions returns the master config appropriate for most integration tests configured with the provided options.

func NewIntegrationTestNodePreparer

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

NewIntegrationTestNodePreparer creates an IntegrationTestNodePreparer configured with defaults.

func NewIntegrationTestNodePreparerWithNodeSpec

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

NewIntegrationTestNodePreparerWithNodeSpec creates an IntegrationTestNodePreparer configured with nodespec.

func NewMasterConfig

func NewMasterConfig() *master.Config

NewMasterConfig returns a basic master config.

func NewMasterConfigWithOptions

func NewMasterConfigWithOptions(opts *MasterConfigOptions) *master.Config

NewMasterConfigWithOptions returns a basic master config configured with the provided options.

func NewSingleContentTypeSerializer

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

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

func SharedEtcd

func SharedEtcd() *storagebackend.Config

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

func StartTestServer

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 CloseFunc

type CloseFunc func()

CloseFunc can be called to cleanup the master

func RunAMaster

func RunAMaster(masterConfig *master.Config) (*master.Master, *httptest.Server, CloseFunc)

RunAMaster starts a master with the provided config.

func RunAMasterUsingServer

func RunAMasterUsingServer(masterConfig *master.Config, s *httptest.Server, masterReceiver MasterReceiver) (*master.Master, *httptest.Server, CloseFunc)

RunAMasterUsingServer starts up a master 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.
	MasterConfig            *master.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 NewMasterComponents.

type IntegrationTestNodePreparer

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

IntegrationTestNodePreparer holds configuration information for the test node preparer.

func (*IntegrationTestNodePreparer) CleanupNodes

func (p *IntegrationTestNodePreparer) CleanupNodes() error

CleanupNodes deletes existing test nodes.

func (*IntegrationTestNodePreparer) PrepareNodes

func (p *IntegrationTestNodePreparer) PrepareNodes() error

PrepareNodes prepares countToStrategy test nodes.

type MasterConfigOptions

type MasterConfigOptions struct {
	EtcdOptions *options.EtcdOptions
}

MasterConfigOptions are the configurable options for a new integration test master config.

type MasterHolder

type MasterHolder struct {
	Initialized chan struct{}
	M           *master.Master
}

MasterHolder implements

func (*MasterHolder) SetMaster

func (h *MasterHolder) SetMaster(m *master.Master)

SetMaster assigns the current master.

type MasterReceiver

type MasterReceiver interface {
	SetMaster(m *master.Master)
}

MasterReceiver can be used to provide the master to a custom incoming server function

type TestServerSetup

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

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

Source Files

etcd.go master_utils.go perf_utils.go serializer.go test_server.go util.go

Version
v1.19.0-rc.0
Published
Jul 9, 2020
Platform
js/wasm
Imports
61 packages
Last checked
1 minute ago

Tools for package owners.