package framework
import "k8s.io/kubernetes/test/integration/framework"
Index ¶
- func CreateTestingNamespace(baseName string, apiserver *httptest.Server, t *testing.T) *v1.Namespace
- func DefaultEtcdOptions() *options.EtcdOptions
- func DefaultOpenAPIConfig() *openapicommon.Config
- func DeleteTestingNamespace(ns *v1.Namespace, apiserver *httptest.Server, t *testing.T)
- func EtcdMain(tests func() int)
- func Filter(nodeList *v1.NodeList, fn func(node v1.Node) bool)
- func GetEtcdURL() string
- func GetReadySchedulableNodes(c clientset.Interface) (nodes *v1.NodeList, err error)
- func IsConditionSetAsExpected(node *v1.Node, conditionType v1.NodeConditionType, wantTrue bool) bool
- func IsConditionSetAsExpectedSilent(node *v1.Node, conditionType v1.NodeConditionType, wantTrue bool) bool
- func IsNodeReady(node *v1.Node) bool
- func IsNodeSchedulable(node *v1.Node) bool
- func NewIntegrationTestMasterConfig() *controlplane.Config
- func NewIntegrationTestMasterConfigWithOptions(opts *MasterConfigOptions) *controlplane.Config
- func NewIntegrationTestNodePreparer(client clientset.Interface, countToStrategy []testutils.CountToStrategy, nodeNamePrefix string) testutils.TestNodePreparer
- func NewIntegrationTestNodePreparerWithNodeSpec(client clientset.Interface, countToStrategy []testutils.CountToStrategy, nodeSpec *v1.Node) testutils.TestNodePreparer
- func NewMasterConfig() *controlplane.Config
- func NewMasterConfigWithOptions(opts *MasterConfigOptions) *controlplane.Config
- func NewSingleContentTypeSerializer(scheme *runtime.Scheme, info runtime.SerializerInfo) runtime.StorageSerializer
- func RunCustomEtcd(dataDir string, customFlags []string) (url string, stopFn func(), err error)
- func SharedEtcd() *storagebackend.Config
- func StartTestServer(t *testing.T, stopCh <-chan struct{}, setup TestServerSetup) (client.Interface, *rest.Config)
- type CloseFunc
- func RunAMaster(masterConfig *controlplane.Config) (*controlplane.Instance, *httptest.Server, CloseFunc)
- func RunAMasterUsingServer(masterConfig *controlplane.Config, s *httptest.Server, masterReceiver MasterReceiver) (*controlplane.Instance, *httptest.Server, CloseFunc)
- type Config
- type IntegrationTestNodePreparer
- func (p *IntegrationTestNodePreparer) CleanupNodes() error
- func (p *IntegrationTestNodePreparer) PrepareNodes(nextNodeIndex int) error
- type MasterConfigOptions
- type MasterHolder
- type MasterReceiver
- type TestServerSetup
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 ¶
DeleteTestingNamespace is currently a no-op function.
func EtcdMain ¶
func EtcdMain(tests func() int)
EtcdMain starts an etcd instance before running tests.
func Filter ¶
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 ¶
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 ¶
IsNodeReady returns true if: 1) it's Ready condition is set to true 2) doesn't have NetworkUnavailable condition set to true
func IsNodeSchedulable ¶
IsNodeSchedulable returns true if: 1) doesn't have "unschedulable" field set 2) it also returns true from IsNodeReady
func NewIntegrationTestMasterConfig ¶
func NewIntegrationTestMasterConfig() *controlplane.Config
NewIntegrationTestMasterConfig returns the master config appropriate for most integration tests.
func NewIntegrationTestMasterConfigWithOptions ¶
func NewIntegrationTestMasterConfigWithOptions(opts *MasterConfigOptions) *controlplane.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() *controlplane.Config
NewMasterConfig returns a basic master config.
func NewMasterConfigWithOptions ¶
func NewMasterConfigWithOptions(opts *MasterConfigOptions) *controlplane.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 RunCustomEtcd ¶
RunCustomEtcd starts a custom etcd instance for test purposes.
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 *controlplane.Config) (*controlplane.Instance, *httptest.Server, CloseFunc)
RunAMaster starts a master with the provided config.
func RunAMasterUsingServer ¶
func RunAMasterUsingServer(masterConfig *controlplane.Config, s *httptest.Server, masterReceiver MasterReceiver) (*controlplane.Instance, *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 *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 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(nextNodeIndex int) 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 *controlplane.Instance }
MasterHolder implements
func (*MasterHolder) SetMaster ¶
func (h *MasterHolder) SetMaster(m *controlplane.Instance)
SetMaster assigns the current master.
type MasterReceiver ¶
type MasterReceiver interface { SetMaster(m *controlplane.Instance) }
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(*controlplane.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.20.11-rc.0
- Published
- Aug 11, 2021
- Platform
- js/wasm
- Imports
- 61 packages
- Last checked
- 2 minutes ago –
Tools for package owners.