Documentation ¶
Index ¶
- Constants
- Variables
- func CreateTestingNamespace(baseName string, apiserver *httptest.Server, t *testing.T) *v1.Namespace
- func DefaultEtcdOptions() *options.EtcdOptions
- func DefaultOpenAPIConfig() *openapicommon.Config
- func DefaultOpenAPIV3Config() *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 NewControlPlaneConfig() *controlplane.Config
- func NewControlPlaneConfigWithOptions(opts *ControlPlaneConfigOptions) *controlplane.Config
- func NewIntegrationTestControlPlaneConfig() *controlplane.Config
- func NewIntegrationTestControlPlaneConfigWithOptions(opts *ControlPlaneConfigOptions) *controlplane.Config
- func NewIntegrationTestNodePreparer(client clientset.Interface, countToStrategy []testutils.CountToStrategy, ...) testutils.TestNodePreparer
- func NewIntegrationTestNodePreparerWithNodeSpec(client clientset.Interface, countToStrategy []testutils.CountToStrategy, ...) testutils.TestNodePreparer
- 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 APIServerHolder
- type APIServerReceiver
- type CloseFunc
- type Config
- type ControlPlaneConfigOptions
- type IntegrationTestNodePreparer
- type TestServerSetup
Constants ¶
const (
UnprivilegedUserToken = "unprivileged-user"
)
Variables ¶
var MinVerbosity = 4
MinVerbosity determines the minimum klog verbosity when running tests that involve the apiserver. This overrides the -v value from the command line, i.e. -v=0 has no effect when MinVerbosity is 4 (the default). Tests can opt out of this by setting MinVerbosity to zero before starting the control plane or choose some different minimum verbosity.
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 DefaultOpenAPIV3Config ¶ added in v1.24.0
func DefaultOpenAPIV3Config() *openapicommon.Config
DefaultOpenAPIV3Config returns an openapicommon.Config initialized to default values.
func DeleteTestingNamespace ¶ added in v1.4.0
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
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
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
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
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 RunCustomEtcd ¶ added in v1.20.0
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.