...

Package utils

import "k8s.io/kubernetes/test/utils"
Overview
Index
Subdirectories

Overview ▾

Index ▾

Variables
func AddLabelsToNode(c clientset.Interface, nodeName string, labels map[string]string) error
func AdmissionWebhookHandler(t *testing.T, admit func(*v1beta1.AdmissionReview) error) http.HandlerFunc
func CheckDeploymentRevisionAndImage(c clientset.Interface, ns, deploymentName, revision, image string) error
func CheckForDuplicates(el auditinternal.EventList) (auditinternal.EventList, error)
func CreateConfigMapWithRetries(c clientset.Interface, namespace string, obj *v1.ConfigMap) error
func CreateDaemonSetWithRetries(c clientset.Interface, namespace string, obj *apps.DaemonSet) error
func CreateDeploymentWithRetries(c clientset.Interface, namespace string, obj *apps.Deployment) error
func CreateJobWithRetries(c clientset.Interface, namespace string, obj *batch.Job) error
func CreatePersistentVolumeClaimWithRetries(c clientset.Interface, namespace string, obj *v1.PersistentVolumeClaim) error
func CreatePersistentVolumeWithRetries(c clientset.Interface, obj *v1.PersistentVolume) error
func CreatePod(ctx context.Context, client clientset.Interface, namespace string, podCount int, podTemplate *v1.Pod) error
func CreatePodWithPersistentVolume(ctx context.Context, client clientset.Interface, namespace string, claimTemplate *v1.PersistentVolumeClaim, factory volumeFactory, podTemplate *v1.Pod, count int, bindVolume bool) error
func CreatePodWithRetries(c clientset.Interface, namespace string, obj *v1.Pod) error
func CreateRCWithRetries(c clientset.Interface, namespace string, obj *v1.ReplicationController) error
func CreateReplicaSetWithRetries(c clientset.Interface, namespace string, obj *apps.ReplicaSet) error
func CreateResourceQuotaWithRetries(c clientset.Interface, namespace string, obj *v1.ResourceQuota) error
func CreateSecretWithRetries(c clientset.Interface, namespace string, obj *v1.Secret) error
func CreateServiceWithRetries(c clientset.Interface, namespace string, obj *v1.Service) error
func CreateStorageClassWithRetries(c clientset.Interface, obj *storage.StorageClass) error
func DeleteResource(c clientset.Interface, kind schema.GroupKind, namespace, name string, options metav1.DeleteOptions) error
func DeleteResourceWithRetries(c clientset.Interface, kind schema.GroupKind, namespace, name string, options metav1.DeleteOptions) error
func DoCleanupNode(ctx context.Context, client clientset.Interface, nodeName string, strategy PrepareNodeStrategy) error
func DoPrepareNode(ctx context.Context, client clientset.Interface, node *v1.Node, strategy PrepareNodeStrategy) error
func EncodeCertPEM(cert *x509.Certificate) []byte
func FailedContainers(pod *v1.Pod) map[string]ContainerFailures
func GetAllReplicaSets(deployment *apps.Deployment, c clientset.Interface) ([]*apps.ReplicaSet, []*apps.ReplicaSet, *apps.ReplicaSet, error)
func GetCAdvisorRootDir() (string, error)
func GetK8sBuildOutputDir(isDockerizedBuild bool, targetArch string) (string, error)
func GetK8sRootDir() (string, error)
func GetNewReplicaSet(deployment *apps.Deployment, c clientset.Interface) (*apps.ReplicaSet, error)
func GetNodeCondition(status *v1.NodeStatus, conditionType v1.NodeConditionType) (int, *v1.NodeCondition)
func GetOldReplicaSets(deployment *apps.Deployment, c clientset.Interface) ([]*apps.ReplicaSet, []*apps.ReplicaSet, error)
func LogPodsOfDeployment(c clientset.Interface, deployment *apps.Deployment, rsList []*apps.ReplicaSet, logf LogfFn)
func LogReplicaSetsOfDeployment(deployment *apps.Deployment, allOldRSs []*apps.ReplicaSet, newRS *apps.ReplicaSet, logf LogfFn)
func MakePodSpec() v1.PodSpec
func MakeTempDirOrDie(prefix string, baseDir string) string
func NewAdmissionWebhookServer(handler http.Handler) (string, func(), error)
func NewPrivateKey() (*rsa.PrivateKey, error)
func NewSignedCert(cfg *certutil.Config, key crypto.Signer, caCert *x509.Certificate, caKey crypto.Signer) (*x509.Certificate, error)
func PodNotReady(p *v1.Pod) (bool, error)
func PodRunningReady(p *v1.Pod) (bool, error)
func PodRunningReadyOrSucceeded(p *v1.Pod) (bool, error)
func PodSucceeded(p *v1.Pod) (bool, error)
func RemoveLabelOffNode(c clientset.Interface, nodeName string, labelKeys []string) error
func RetryErrorCondition(condition wait.ConditionFunc) wait.ConditionFunc
func RetryWithExponentialBackOff(fn wait.ConditionFunc) error
func RootDir() (string, error)
func RunDeployment(ctx context.Context, config DeploymentConfig) error
func RunJob(ctx context.Context, config JobConfig) error
func RunPodAndGetNodeName(ctx context.Context, c clientset.Interface, pod *v1.Pod, timeout time.Duration) (string, error)
func RunRC(ctx context.Context, config RCConfig) error
func RunReplicaSet(ctx context.Context, config ReplicaSetConfig) error
func ScaleResourceWithRetries(scalesGetter scaleclient.ScalesGetter, namespace, name string, size uint, gvr schema.GroupVersionResource) error
func StartPods(c clientset.Interface, replicas int, namespace string, podNamePrefix string, pod v1.Pod, waitForRunning bool, logFunc func(fmt string, args ...interface{})) error
func TerminatedContainers(pod *v1.Pod) map[string]string
func UpdateDeploymentWithRetries(c clientset.Interface, namespace, name string, applyUpdate UpdateDeploymentFunc, logf LogfFn, pollInterval, pollTimeout time.Duration) (*apps.Deployment, error)
func UpdateReplicaSetStatusWithRetries(c clientset.Interface, namespace, name string, applyUpdate UpdateReplicaSetFunc, logf LogfFn, pollInterval, pollTimeout time.Duration) (*apps.ReplicaSet, error)
func UpdateReplicaSetWithRetries(c clientset.Interface, namespace, name string, applyUpdate UpdateReplicaSetFunc, logf LogfFn, pollInterval, pollTimeout time.Duration) (*apps.ReplicaSet, error)
func VerifyLabelsRemoved(c clientset.Interface, nodeName string, labelKeys []string) error
func WaitForDeploymentComplete(c clientset.Interface, d *apps.Deployment, logf LogfFn, pollInterval, pollTimeout time.Duration) error
func WaitForDeploymentCompleteAndCheckRolling(c clientset.Interface, d *apps.Deployment, logf LogfFn, pollInterval, pollTimeout time.Duration) error
func WaitForDeploymentRevisionAndImage(c clientset.Interface, ns, deploymentName string, revision, image string, logf LogfFn, pollInterval, pollTimeout time.Duration) error
func WaitForDeploymentRollbackCleared(c clientset.Interface, ns, deploymentName string, pollInterval, pollTimeout time.Duration) error
func WaitForDeploymentUpdatedReplicasGTE(c clientset.Interface, ns, deploymentName string, minUpdatedReplicas int32, desiredGeneration int64, pollInterval, pollTimeout time.Duration) error
func WaitForDeploymentWithCondition(c clientset.Interface, ns, deploymentName, reason string, condType apps.DeploymentConditionType, logf LogfFn, pollInterval, pollTimeout time.Duration) error
func WaitForEnoughPodsWithLabelRunning(c clientset.Interface, ns string, label labels.Selector, replicas int) error
func WaitForObservedDeployment(c clientset.Interface, ns, deploymentName string, desiredGeneration int64) error
func WaitForPodsWithLabelRunning(c clientset.Interface, ns string, label labels.Selector) error
func WaitRSStable(t *testing.T, clientSet clientset.Interface, rs *apps.ReplicaSet, pollInterval, pollTimeout time.Duration) error
func WaitUntilPodIsScheduled(ctx context.Context, c clientset.Interface, name, namespace string, timeout time.Duration) (*v1.Pod, error)
type AuditAnnotationsFilter
type AuditEvent
    func CheckAuditList(el auditinternal.EventList, expected []AuditEvent) (missing []AuditEvent, err error)
type ConfigMapConfig
    func (config *ConfigMapConfig) Run() error
    func (config *ConfigMapConfig) Stop() error
type ContainerFailures
type CountToPodStrategy
type CountToStrategy
type DaemonConfig
    func (config *DaemonConfig) Run(ctx context.Context) error
type DeploymentConfig
    func (config *DeploymentConfig) GetGroupResource() schema.GroupResource
    func (config *DeploymentConfig) GetGroupVersionResource() schema.GroupVersionResource
    func (config *DeploymentConfig) GetKind() schema.GroupKind
    func (config *DeploymentConfig) Run(ctx context.Context) error
type JobConfig
    func (config *JobConfig) GetGroupResource() schema.GroupResource
    func (config *JobConfig) GetGroupVersionResource() schema.GroupVersionResource
    func (config *JobConfig) GetKind() schema.GroupKind
    func (config *JobConfig) Run(ctx context.Context) error
type LabelNodePrepareStrategy
    func NewLabelNodePrepareStrategy(labelKey string, labelValues ...string) *LabelNodePrepareStrategy
    func (*LabelNodePrepareStrategy) CleanupDependentObjects(ctx context.Context, nodeName string, client clientset.Interface) error
    func (s *LabelNodePrepareStrategy) CleanupNode(ctx context.Context, node *v1.Node) *v1.Node
    func (*LabelNodePrepareStrategy) PrepareDependentObjects(ctx context.Context, node *v1.Node, client clientset.Interface) error
    func (s *LabelNodePrepareStrategy) PreparePatch(*v1.Node) []byte
type LogfFn
type MissingEventsReport
    func CheckAuditLines(stream io.Reader, expected []AuditEvent, version schema.GroupVersion) (missingReport *MissingEventsReport, err error)
    func CheckAuditLinesFiltered(stream io.Reader, expected []AuditEvent, version schema.GroupVersion, customAnnotationsFilter AuditAnnotationsFilter) (missingReport *MissingEventsReport, err error)
    func (m *MissingEventsReport) String() string
type NodeAllocatableStrategy
    func NewNodeAllocatableStrategy(nodeAllocatable map[v1.ResourceName]string, csiNodeAllocatable map[string]*storagev1.VolumeNodeResources, migratedPlugins []string) *NodeAllocatableStrategy
    func (s *NodeAllocatableStrategy) CleanupDependentObjects(ctx context.Context, nodeName string, client clientset.Interface) error
    func (s *NodeAllocatableStrategy) CleanupNode(ctx context.Context, node *v1.Node) *v1.Node
    func (s *NodeAllocatableStrategy) PrepareDependentObjects(ctx context.Context, node *v1.Node, client clientset.Interface) error
    func (s *NodeAllocatableStrategy) PreparePatch(node *v1.Node) []byte
type PodDiff
    func Diff(oldPods []*v1.Pod, curPods []*v1.Pod) PodDiff
    func (p PodDiff) DeletedPods() []string
    func (p PodDiff) String(ignorePhases sets.String) string
type PodStore
    func NewPodStore(c clientset.Interface, namespace string, label labels.Selector, field fields.Selector) (*PodStore, error)
    func (s *PodStore) List() []*v1.Pod
    func (s *PodStore) Stop()
type PrepareNodeStrategy
type RCConfig
    func (config *RCConfig) GetClient() clientset.Interface
    func (config *RCConfig) GetGroupResource() schema.GroupResource
    func (config *RCConfig) GetGroupVersionResource() schema.GroupVersionResource
    func (config *RCConfig) GetKind() schema.GroupKind
    func (config *RCConfig) GetLabelValue(key string) (string, bool)
    func (config *RCConfig) GetName() string
    func (config *RCConfig) GetNamespace() string
    func (config *RCConfig) GetReplicas() int
    func (config *RCConfig) GetScalesGetter() scaleclient.ScalesGetter
    func (rc *RCConfig) RCConfigLog(fmt string, args ...interface{})
    func (config *RCConfig) Run(ctx context.Context) error
    func (config *RCConfig) SetClient(c clientset.Interface)
    func (config *RCConfig) SetScalesClient(getter scaleclient.ScalesGetter)
type RCStartupStatus
    func ComputeRCStartupStatus(pods []*v1.Pod, expected int) RCStartupStatus
    func (s *RCStartupStatus) String(name string) string
type ReplicaSetConfig
    func (config *ReplicaSetConfig) GetGroupResource() schema.GroupResource
    func (config *ReplicaSetConfig) GetGroupVersionResource() schema.GroupVersionResource
    func (config *ReplicaSetConfig) GetKind() schema.GroupKind
    func (config *ReplicaSetConfig) Run(ctx context.Context) error
type RunObjectConfig
type SecretConfig
    func (config *SecretConfig) Run() error
    func (config *SecretConfig) Stop() error
type TestNodePreparer
type TestPodCreateStrategy
    func NewCreatePodWithPersistentVolumeStrategy(claimTemplate *v1.PersistentVolumeClaim, factory volumeFactory, podTemplate *v1.Pod) TestPodCreateStrategy
    func NewCreatePodWithPersistentVolumeWithFirstConsumerStrategy(factory volumeFactory, podTemplate *v1.Pod) TestPodCreateStrategy
    func NewCustomCreatePodStrategy(podTemplate *v1.Pod) TestPodCreateStrategy
    func NewSimpleCreatePodStrategy() TestPodCreateStrategy
    func NewSimpleWithControllerCreatePodStrategy(controllerName string) TestPodCreateStrategy
type TestPodCreator
    func NewTestPodCreator(client clientset.Interface, config *TestPodCreatorConfig) *TestPodCreator
    func (c *TestPodCreator) CreatePods(ctx context.Context) error
type TestPodCreatorConfig
    func NewTestPodCreatorConfig() *TestPodCreatorConfig
    func (c *TestPodCreatorConfig) AddStrategy(namespace string, podCount int, strategy TestPodCreateStrategy)
type TrivialNodePrepareStrategy
    func (*TrivialNodePrepareStrategy) CleanupDependentObjects(ctx context.Context, nodeName string, client clientset.Interface) error
    func (*TrivialNodePrepareStrategy) CleanupNode(ctx context.Context, node *v1.Node) *v1.Node
    func (*TrivialNodePrepareStrategy) PrepareDependentObjects(ctx context.Context, node *v1.Node, client clientset.Interface) error
    func (*TrivialNodePrepareStrategy) PreparePatch(*v1.Node) []byte
type UniqueNodeLabelStrategy
    func NewUniqueNodeLabelStrategy(labelKey string) *UniqueNodeLabelStrategy
    func (*UniqueNodeLabelStrategy) CleanupDependentObjects(ctx context.Context, nodeName string, client clientset.Interface) error
    func (s *UniqueNodeLabelStrategy) CleanupNode(ctx context.Context, node *v1.Node) *v1.Node
    func (*UniqueNodeLabelStrategy) PrepareDependentObjects(ctx context.Context, node *v1.Node, client clientset.Interface) error
    func (s *UniqueNodeLabelStrategy) PreparePatch(*v1.Node) []byte
type UpdateDeploymentFunc
type UpdateReplicaSetFunc

Package files

admission_webhook.go audit.go conditions.go create_resources.go delete_resources.go density_utils.go deployment.go node.go paths.go pki_helpers.go pod_store.go replicaset.go runners.go tmpdir.go update_resources.go

Variables

LocalhostCert was generated from crypto/tls/generate_cert.go with the following command:

go run generate_cert.go  --rsa-bits 2048 --host 127.0.0.1,::1,example.com --ca --start-date "Jan 1 00:00:00 1970" --duration=1000000h
var LocalhostCert = []byte(`-----BEGIN CERTIFICATE-----
MIIDGDCCAgCgAwIBAgIQTKCKn99d5HhQVCLln2Q+eTANBgkqhkiG9w0BAQsFADAS
MRAwDgYDVQQKEwdBY21lIENvMCAXDTcwMDEwMTAwMDAwMFoYDzIwODQwMTI5MTYw
MDAwWjASMRAwDgYDVQQKEwdBY21lIENvMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A
MIIBCgKCAQEA1Z5/aTwqY706M34tn60l8ZHkanWDl8mM1pYf4Q7qg3zA9XqWLX6S
4rTYDYCb4stEasC72lQnbEWHbthiQE76zubP8WOFHdvGR3mjAvHWz4FxvLOTheZ+
3iDUrl6Aj9UIsYqzmpBJAoY4+vGGf+xHvuukHrVcFqR9ZuBdZuJ/HbbjUyuNr3X9
erNIr5Ha17gVzf17SNbYgNrX9gbCeEB8Z9Ox7dVuJhLDkpF0T/B5Zld3BjyUVY/T
cukU4dTVp6isbWPvCMRCZCCOpb+qIhxEjJ0n6tnPt8nf9lvDl4SWMl6X1bH+2EFa
a8R06G0QI+XhwPyjXUyCR8QEOZPCR5wyqQIDAQABo2gwZjAOBgNVHQ8BAf8EBAMC
AqQwEwYDVR0lBAwwCgYIKwYBBQUHAwEwDwYDVR0TAQH/BAUwAwEB/zAuBgNVHREE
JzAlggtleGFtcGxlLmNvbYcEfwAAAYcQAAAAAAAAAAAAAAAAAAAAATANBgkqhkiG
9w0BAQsFAAOCAQEAThqgJ/AFqaANsOp48lojDZfZBFxJQ3A4zfR/MgggUoQ9cP3V
rxuKAFWQjze1EZc7J9iO1WvH98lOGVNRY/t2VIrVoSsBiALP86Eew9WucP60tbv2
8/zsBDSfEo9Wl+Q/gwdEh8dgciUKROvCm76EgAwPGicMAgRsxXgwXHhS5e8nnbIE
Ewaqvb5dY++6kh0Oz+adtNT5OqOwXTIRI67WuEe6/B3Z4LNVPQDIj7ZUJGNw8e6L
F4nkUthwlKx4yEJHZBRuFPnO7Z81jNKuwL276+mczRH7piI6z9uyMV/JbEsOIxyL
W6CzB7pZ9Nj1YLpgzc1r6oONHLokMJJIz/IvkQ==
-----END CERTIFICATE-----`)

LocalhostKey is the private key for LocalhostCert.

var LocalhostKey = []byte(`-----BEGIN RSA PRIVATE KEY-----
MIIEowIBAAKCAQEA1Z5/aTwqY706M34tn60l8ZHkanWDl8mM1pYf4Q7qg3zA9XqW
LX6S4rTYDYCb4stEasC72lQnbEWHbthiQE76zubP8WOFHdvGR3mjAvHWz4FxvLOT
heZ+3iDUrl6Aj9UIsYqzmpBJAoY4+vGGf+xHvuukHrVcFqR9ZuBdZuJ/HbbjUyuN
r3X9erNIr5Ha17gVzf17SNbYgNrX9gbCeEB8Z9Ox7dVuJhLDkpF0T/B5Zld3BjyU
VY/TcukU4dTVp6isbWPvCMRCZCCOpb+qIhxEjJ0n6tnPt8nf9lvDl4SWMl6X1bH+
2EFaa8R06G0QI+XhwPyjXUyCR8QEOZPCR5wyqQIDAQABAoIBAFAJmb1pMIy8OpFO
hnOcYWoYepe0vgBiIOXJy9n8R7vKQ1X2f0w+b3SHw6eTd1TLSjAhVIEiJL85cdwD
MRTdQrXA30qXOioMzUa8eWpCCHUpD99e/TgfO4uoi2dluw+pBx/WUyLnSqOqfLDx
S66kbeFH0u86jm1hZibki7pfxLbxvu7KQgPe0meO5/13Retztz7/xa/pWIY71Zqd
YC8UckuQdWUTxfuQf0470lAK34GZlDy9tvdVOG/PmNkG4j6OQjy0Kmz4Uk7rewKo
ZbdphaLPJ2A4Rdqfn4WCoyDnxlfV861T922/dEDZEbNWiQpB81G8OfLL+FLHxyIT
LKEu4R0CgYEA4RDj9jatJ/wGkMZBt+UF05mcJlRVMEijqdKgFwR2PP8b924Ka1mj
9zqWsfbxQbdPdwsCeVBZrSlTEmuFSQLeWtqBxBKBTps/tUP0qZf7HjfSmcVI89WE
3ab8LFjfh4PtK/LOq2D1GRZZkFliqi0gKwYdDoK6gxXWwrumXq4c2l8CgYEA8vrX
dMuGCNDjNQkGXx3sr8pyHCDrSNR4Z4FrSlVUkgAW1L7FrCM911BuGh86FcOu9O/1
Ggo0E8ge7qhQiXhB5vOo7hiVzSp0FxxCtGSlpdp4W6wx6ZWK8+Pc+6Moos03XdG7
MKsdPGDciUn9VMOP3r8huX/btFTh90C/L50sH/cCgYAd02wyW8qUqux/0RYydZJR
GWE9Hx3u+SFfRv9aLYgxyyj8oEOXOFjnUYdY7D3KlK1ePEJGq2RG81wD6+XM6Clp
Zt2di0pBjYdi0S+iLfbkaUdqg1+ImLoz2YY/pkNxJQWQNmw2//FbMsAJxh6yKKrD
qNq+6oonBwTf55hDodVHBwKBgEHgEBnyM9ygBXmTgM645jqiwF0v75pHQH2PcO8u
Q0dyDr6PGjiZNWLyw2cBoFXWP9DYXbM5oPTcBMbfizY6DGP5G4uxzqtZHzBE0TDn
OKHGoWr5PG7/xDRrSrZOfe3lhWVCP2XqfnqoKCJwlOYuPws89n+8UmyJttm6DBt0
mUnxAoGBAIvbR87ZFXkvqstLs4KrdqTz4TQIcpzB3wENukHODPA6C1gzWTqp+OEe
GMNltPfGCLO+YmoMQuTpb0kECYV3k4jR3gXO6YvlL9KbY+UOA6P0dDX4ROi2Rklj
yh+lxFLYa1vlzzi9r8B7nkR9hrOGMvkfXF42X89g7lx4uMtu2I4q
-----END RSA PRIVATE KEY-----`)

func AddLabelsToNode

func AddLabelsToNode(c clientset.Interface, nodeName string, labels map[string]string) error

func AdmissionWebhookHandler

func AdmissionWebhookHandler(t *testing.T, admit func(*v1beta1.AdmissionReview) error) http.HandlerFunc

AdmissionWebhookHandler creates a HandlerFunc that decodes/encodes AdmissionReview and performs given admit function

func CheckDeploymentRevisionAndImage

func CheckDeploymentRevisionAndImage(c clientset.Interface, ns, deploymentName, revision, image string) error

CheckDeploymentRevisionAndImage checks if the input deployment's and its new replica set's revision and image are as expected.

func CheckForDuplicates

func CheckForDuplicates(el auditinternal.EventList) (auditinternal.EventList, error)

CheckForDuplicates checks a list for duplicate events

func CreateConfigMapWithRetries

func CreateConfigMapWithRetries(c clientset.Interface, namespace string, obj *v1.ConfigMap) error

func CreateDaemonSetWithRetries

func CreateDaemonSetWithRetries(c clientset.Interface, namespace string, obj *apps.DaemonSet) error

func CreateDeploymentWithRetries

func CreateDeploymentWithRetries(c clientset.Interface, namespace string, obj *apps.Deployment) error

func CreateJobWithRetries

func CreateJobWithRetries(c clientset.Interface, namespace string, obj *batch.Job) error

func CreatePersistentVolumeClaimWithRetries

func CreatePersistentVolumeClaimWithRetries(c clientset.Interface, namespace string, obj *v1.PersistentVolumeClaim) error

func CreatePersistentVolumeWithRetries

func CreatePersistentVolumeWithRetries(c clientset.Interface, obj *v1.PersistentVolume) error

func CreatePod

func CreatePod(ctx context.Context, client clientset.Interface, namespace string, podCount int, podTemplate *v1.Pod) error

func CreatePodWithPersistentVolume

func CreatePodWithPersistentVolume(ctx context.Context, client clientset.Interface, namespace string, claimTemplate *v1.PersistentVolumeClaim, factory volumeFactory, podTemplate *v1.Pod, count int, bindVolume bool) error

func CreatePodWithRetries

func CreatePodWithRetries(c clientset.Interface, namespace string, obj *v1.Pod) error

func CreateRCWithRetries

func CreateRCWithRetries(c clientset.Interface, namespace string, obj *v1.ReplicationController) error

func CreateReplicaSetWithRetries

func CreateReplicaSetWithRetries(c clientset.Interface, namespace string, obj *apps.ReplicaSet) error

func CreateResourceQuotaWithRetries

func CreateResourceQuotaWithRetries(c clientset.Interface, namespace string, obj *v1.ResourceQuota) error

func CreateSecretWithRetries

func CreateSecretWithRetries(c clientset.Interface, namespace string, obj *v1.Secret) error

func CreateServiceWithRetries

func CreateServiceWithRetries(c clientset.Interface, namespace string, obj *v1.Service) error

func CreateStorageClassWithRetries

func CreateStorageClassWithRetries(c clientset.Interface, obj *storage.StorageClass) error

func DeleteResource

func DeleteResource(c clientset.Interface, kind schema.GroupKind, namespace, name string, options metav1.DeleteOptions) error

func DeleteResourceWithRetries

func DeleteResourceWithRetries(c clientset.Interface, kind schema.GroupKind, namespace, name string, options metav1.DeleteOptions) error

func DoCleanupNode

func DoCleanupNode(ctx context.Context, client clientset.Interface, nodeName string, strategy PrepareNodeStrategy) error

func DoPrepareNode

func DoPrepareNode(ctx context.Context, client clientset.Interface, node *v1.Node, strategy PrepareNodeStrategy) error

func EncodeCertPEM

func EncodeCertPEM(cert *x509.Certificate) []byte

EncodeCertPEM returns PEM-endcoded certificate data

func FailedContainers

func FailedContainers(pod *v1.Pod) map[string]ContainerFailures

FailedContainers inspects all containers in a pod and returns failure information for containers that have failed or been restarted. A map is returned where the key is the containerID and the value is a struct containing the restart and failure information

func GetAllReplicaSets

func GetAllReplicaSets(deployment *apps.Deployment, c clientset.Interface) ([]*apps.ReplicaSet, []*apps.ReplicaSet, *apps.ReplicaSet, error)

GetAllReplicaSets returns the old and new replica sets targeted by the given Deployment. It gets PodList and ReplicaSetList from client interface. Note that the first set of old replica sets doesn't include the ones with no pods, and the second set of old replica sets include all old replica sets. The third returned value is the new replica set, and it may be nil if it doesn't exist yet.

func GetCAdvisorRootDir

func GetCAdvisorRootDir() (string, error)

GetCAdvisorRootDir returns the root directory for cAdvisor, if present in the gopath.

func GetK8sBuildOutputDir

func GetK8sBuildOutputDir(isDockerizedBuild bool, targetArch string) (string, error)

GetK8sBuildOutputDir returns the build output directory for k8s For dockerized build, targetArch (eg: 'linux/arm64', 'linux/amd64') must be explicitly specified For non dockerized build, targetArch is ignored

func GetK8sRootDir

func GetK8sRootDir() (string, error)

GetK8sRootDir returns the root directory for kubernetes, if present in the gopath.

func GetNewReplicaSet

func GetNewReplicaSet(deployment *apps.Deployment, c clientset.Interface) (*apps.ReplicaSet, error)

GetNewReplicaSet returns a replica set that matches the intent of the given deployment; get ReplicaSetList from client interface. Returns nil if the new replica set doesn't exist yet.

func GetNodeCondition

func GetNodeCondition(status *v1.NodeStatus, conditionType v1.NodeConditionType) (int, *v1.NodeCondition)

GetNodeCondition extracts the provided condition from the given status and returns that. Returns nil and -1 if the condition is not present, and the index of the located condition.

func GetOldReplicaSets

func GetOldReplicaSets(deployment *apps.Deployment, c clientset.Interface) ([]*apps.ReplicaSet, []*apps.ReplicaSet, error)

GetOldReplicaSets returns the old replica sets targeted by the given Deployment; get PodList and ReplicaSetList from client interface. Note that the first set of old replica sets doesn't include the ones with no pods, and the second set of old replica sets include all old replica sets.

func LogPodsOfDeployment

func LogPodsOfDeployment(c clientset.Interface, deployment *apps.Deployment, rsList []*apps.ReplicaSet, logf LogfFn)

func LogReplicaSetsOfDeployment

func LogReplicaSetsOfDeployment(deployment *apps.Deployment, allOldRSs []*apps.ReplicaSet, newRS *apps.ReplicaSet, logf LogfFn)

func MakePodSpec

func MakePodSpec() v1.PodSpec

func MakeTempDirOrDie

func MakeTempDirOrDie(prefix string, baseDir string) string

func NewAdmissionWebhookServer

func NewAdmissionWebhookServer(handler http.Handler) (string, func(), error)

NewAdmissionWebhookServer sets up a webhook server with TLS enabled, returns URL and Close function for the server

func NewPrivateKey

func NewPrivateKey() (*rsa.PrivateKey, error)

NewPrivateKey creates an RSA private key

func NewSignedCert

func NewSignedCert(cfg *certutil.Config, key crypto.Signer, caCert *x509.Certificate, caKey crypto.Signer) (*x509.Certificate, error)

NewSignedCert creates a signed certificate using the given CA certificate and key

func PodNotReady

func PodNotReady(p *v1.Pod) (bool, error)

PodNotReady checks whether pod p's has a ready condition of status false.

func PodRunningReady

func PodRunningReady(p *v1.Pod) (bool, error)

PodRunningReady checks whether pod p's phase is running and it has a ready condition of status true.

func PodRunningReadyOrSucceeded

func PodRunningReadyOrSucceeded(p *v1.Pod) (bool, error)

func PodSucceeded

func PodSucceeded(p *v1.Pod) (bool, error)

func RemoveLabelOffNode

func RemoveLabelOffNode(c clientset.Interface, nodeName string, labelKeys []string) error

RemoveLabelOffNode is for cleaning up labels temporarily added to node, won't fail if target label doesn't exist or has been removed.

func RetryErrorCondition

func RetryErrorCondition(condition wait.ConditionFunc) wait.ConditionFunc

func RetryWithExponentialBackOff

func RetryWithExponentialBackOff(fn wait.ConditionFunc) error

Utility for retrying the given function with exponential backoff.

func RootDir

func RootDir() (string, error)

RootDir gets the on-disk kubernetes source directory, returning an error is none is found

func RunDeployment

func RunDeployment(ctx context.Context, config DeploymentConfig) error

RunDeployment Launches (and verifies correctness) of a Deployment and will wait for all pods it spawns to become "Running". It's the caller's responsibility to clean up externally (i.e. use the namespace lifecycle for handling Cleanup).

func RunJob

func RunJob(ctx context.Context, config JobConfig) error

RunJob baunches (and verifies correctness) of a Job and will wait for all pods it spawns to become "Running". It's the caller's responsibility to clean up externally (i.e. use the namespace lifecycle for handling Cleanup).

func RunPodAndGetNodeName

func RunPodAndGetNodeName(ctx context.Context, c clientset.Interface, pod *v1.Pod, timeout time.Duration) (string, error)

func RunRC

func RunRC(ctx context.Context, config RCConfig) error

RunRC Launches (and verifies correctness) of a Replication Controller and will wait for all pods it spawns to become "Running". It's the caller's responsibility to clean up externally (i.e. use the namespace lifecycle for handling Cleanup).

func RunReplicaSet

func RunReplicaSet(ctx context.Context, config ReplicaSetConfig) error

RunReplicaSet launches (and verifies correctness) of a ReplicaSet and waits until all the pods it launches to reach the "Running" state. It's the caller's responsibility to clean up externally (i.e. use the namespace lifecycle for handling Cleanup).

func ScaleResourceWithRetries

func ScaleResourceWithRetries(scalesGetter scaleclient.ScalesGetter, namespace, name string, size uint, gvr schema.GroupVersionResource) error

func StartPods

func StartPods(c clientset.Interface, replicas int, namespace string, podNamePrefix string,
    pod v1.Pod, waitForRunning bool, logFunc func(fmt string, args ...interface{})) error

Simplified version of RunRC, that does not create RC, but creates plain Pods. Optionally waits for pods to start running (if waitForRunning == true). The number of replicas must be non-zero.

func TerminatedContainers

func TerminatedContainers(pod *v1.Pod) map[string]string

TerminatedContainers inspects all containers in a pod and returns a map of "container name: termination reason", for all currently terminated containers.

func UpdateDeploymentWithRetries

func UpdateDeploymentWithRetries(c clientset.Interface, namespace, name string, applyUpdate UpdateDeploymentFunc, logf LogfFn, pollInterval, pollTimeout time.Duration) (*apps.Deployment, error)

func UpdateReplicaSetStatusWithRetries

func UpdateReplicaSetStatusWithRetries(c clientset.Interface, namespace, name string, applyUpdate UpdateReplicaSetFunc, logf LogfFn, pollInterval, pollTimeout time.Duration) (*apps.ReplicaSet, error)

func UpdateReplicaSetWithRetries

func UpdateReplicaSetWithRetries(c clientset.Interface, namespace, name string, applyUpdate UpdateReplicaSetFunc, logf LogfFn, pollInterval, pollTimeout time.Duration) (*apps.ReplicaSet, error)

func VerifyLabelsRemoved

func VerifyLabelsRemoved(c clientset.Interface, nodeName string, labelKeys []string) error

VerifyLabelsRemoved checks if Node for given nodeName does not have any of labels from labelKeys. Return non-nil error if it does.

func WaitForDeploymentComplete

func WaitForDeploymentComplete(c clientset.Interface, d *apps.Deployment, logf LogfFn, pollInterval, pollTimeout time.Duration) error

Waits for the deployment to complete, and don't check if rolling update strategy is broken. Rolling update strategy is used only during a rolling update, and can be violated in other situations, such as shortly after a scaling event or the deployment is just created.

func WaitForDeploymentCompleteAndCheckRolling

func WaitForDeploymentCompleteAndCheckRolling(c clientset.Interface, d *apps.Deployment, logf LogfFn, pollInterval, pollTimeout time.Duration) error

Waits for the deployment to complete, and check rolling update strategy isn't broken at any times. Rolling update strategy should not be broken during a rolling update.

func WaitForDeploymentRevisionAndImage

func WaitForDeploymentRevisionAndImage(c clientset.Interface, ns, deploymentName string, revision, image string, logf LogfFn, pollInterval, pollTimeout time.Duration) error

WaitForDeploymentRevisionAndImage waits for the deployment's and its new RS's revision and container image to match the given revision and image. Note that deployment revision and its new RS revision should be updated shortly, so we only wait for 1 minute here to fail early.

func WaitForDeploymentRollbackCleared

func WaitForDeploymentRollbackCleared(c clientset.Interface, ns, deploymentName string, pollInterval, pollTimeout time.Duration) error

WaitForDeploymentRollbackCleared waits for given deployment either started rolling back or doesn't need to rollback.

func WaitForDeploymentUpdatedReplicasGTE

func WaitForDeploymentUpdatedReplicasGTE(c clientset.Interface, ns, deploymentName string, minUpdatedReplicas int32, desiredGeneration int64, pollInterval, pollTimeout time.Duration) error

WaitForDeploymentUpdatedReplicasGTE waits for given deployment to be observed by the controller and has at least a number of updatedReplicas

func WaitForDeploymentWithCondition

func WaitForDeploymentWithCondition(c clientset.Interface, ns, deploymentName, reason string, condType apps.DeploymentConditionType, logf LogfFn, pollInterval, pollTimeout time.Duration) error

func WaitForEnoughPodsWithLabelRunning

func WaitForEnoughPodsWithLabelRunning(c clientset.Interface, ns string, label labels.Selector, replicas int) error

Wait up to 10 minutes for at least 'replicas' many pods to be Running and at least one matching pod exists. If 'replicas' is < 0, wait for all matching pods running.

func WaitForObservedDeployment

func WaitForObservedDeployment(c clientset.Interface, ns, deploymentName string, desiredGeneration int64) error

func WaitForPodsWithLabelRunning

func WaitForPodsWithLabelRunning(c clientset.Interface, ns string, label labels.Selector) error

Wait up to 10 minutes for all matching pods to become Running and at least one matching pod exists.

func WaitRSStable

func WaitRSStable(t *testing.T, clientSet clientset.Interface, rs *apps.ReplicaSet, pollInterval, pollTimeout time.Duration) error

Verify .Status.Replicas is equal to .Spec.Replicas

func WaitUntilPodIsScheduled

func WaitUntilPodIsScheduled(ctx context.Context, c clientset.Interface, name, namespace string, timeout time.Duration) (*v1.Pod, error)

type AuditAnnotationsFilter

type AuditAnnotationsFilter func(key, val string) bool

type AuditEvent

AuditEvent is a simplified representation of an audit event for testing purposes

type AuditEvent struct {
    ID                 types.UID
    Level              auditinternal.Level
    Stage              auditinternal.Stage
    RequestURI         string
    Verb               string
    Code               int32
    User               string
    ImpersonatedUser   string
    ImpersonatedGroups string
    Resource           string
    Namespace          string
    RequestObject      bool
    ResponseObject     bool
    AuthorizeDecision  string

    // The Check functions in this package takes ownerships of these maps. You should
    // not reference these maps after calling the Check functions.
    AdmissionWebhookMutationAnnotations map[string]string
    AdmissionWebhookPatchAnnotations    map[string]string

    // Only populated when a filter is provided to testEventFromInternalFiltered
    CustomAuditAnnotations map[string]string
}

func CheckAuditList

func CheckAuditList(el auditinternal.EventList, expected []AuditEvent) (missing []AuditEvent, err error)

CheckAuditList searches an audit event list for the expected audit events.

type ConfigMapConfig

type ConfigMapConfig struct {
    Content   map[string]string
    Client    clientset.Interface
    Name      string
    Namespace string
    // If set this function will be used to print log lines instead of klog.
    LogFunc func(fmt string, args ...interface{})
}

func (*ConfigMapConfig) Run

func (config *ConfigMapConfig) Run() error

func (*ConfigMapConfig) Stop

func (config *ConfigMapConfig) Stop() error

type ContainerFailures

type ContainerFailures struct {
    Restarts int
    // contains filtered or unexported fields
}

type CountToPodStrategy

type CountToPodStrategy struct {
    Count    int
    Strategy TestPodCreateStrategy
}

type CountToStrategy

type CountToStrategy struct {
    Count    int
    Strategy PrepareNodeStrategy
}

type DaemonConfig

type DaemonConfig struct {
    Client    clientset.Interface
    Name      string
    Namespace string
    Image     string
    // If set this function will be used to print log lines instead of klog.
    LogFunc func(fmt string, args ...interface{})
    // How long we wait for DaemonSet to become running.
    Timeout time.Duration
}

func (*DaemonConfig) Run

func (config *DaemonConfig) Run(ctx context.Context) error

type DeploymentConfig

type DeploymentConfig struct {
    RCConfig
}

func (*DeploymentConfig) GetGroupResource

func (config *DeploymentConfig) GetGroupResource() schema.GroupResource

func (*DeploymentConfig) GetGroupVersionResource

func (config *DeploymentConfig) GetGroupVersionResource() schema.GroupVersionResource

func (*DeploymentConfig) GetKind

func (config *DeploymentConfig) GetKind() schema.GroupKind

func (*DeploymentConfig) Run

func (config *DeploymentConfig) Run(ctx context.Context) error

type JobConfig

type JobConfig struct {
    RCConfig
}

func (*JobConfig) GetGroupResource

func (config *JobConfig) GetGroupResource() schema.GroupResource

func (*JobConfig) GetGroupVersionResource

func (config *JobConfig) GetGroupVersionResource() schema.GroupVersionResource

func (*JobConfig) GetKind

func (config *JobConfig) GetKind() schema.GroupKind

func (*JobConfig) Run

func (config *JobConfig) Run(ctx context.Context) error

type LabelNodePrepareStrategy

type LabelNodePrepareStrategy struct {
    LabelKey    string
    LabelValues []string
    // contains filtered or unexported fields
}

func NewLabelNodePrepareStrategy

func NewLabelNodePrepareStrategy(labelKey string, labelValues ...string) *LabelNodePrepareStrategy

func (*LabelNodePrepareStrategy) CleanupDependentObjects

func (*LabelNodePrepareStrategy) CleanupDependentObjects(ctx context.Context, nodeName string, client clientset.Interface) error

func (*LabelNodePrepareStrategy) CleanupNode

func (s *LabelNodePrepareStrategy) CleanupNode(ctx context.Context, node *v1.Node) *v1.Node

func (*LabelNodePrepareStrategy) PrepareDependentObjects

func (*LabelNodePrepareStrategy) PrepareDependentObjects(ctx context.Context, node *v1.Node, client clientset.Interface) error

func (*LabelNodePrepareStrategy) PreparePatch

func (s *LabelNodePrepareStrategy) PreparePatch(*v1.Node) []byte

type LogfFn

type LogfFn func(format string, args ...interface{})

type MissingEventsReport

MissingEventsReport provides an analysis if any events are missing

type MissingEventsReport struct {
    FirstEventChecked *auditinternal.Event
    LastEventChecked  *auditinternal.Event
    NumEventsChecked  int
    MissingEvents     []AuditEvent
}

func CheckAuditLines

func CheckAuditLines(stream io.Reader, expected []AuditEvent, version schema.GroupVersion) (missingReport *MissingEventsReport, err error)

CheckAuditLines searches the audit log for the expected audit lines.

func CheckAuditLinesFiltered

func CheckAuditLinesFiltered(stream io.Reader, expected []AuditEvent, version schema.GroupVersion, customAnnotationsFilter AuditAnnotationsFilter) (missingReport *MissingEventsReport, err error)

CheckAuditLinesFiltered searches the audit log for the expected audit lines, customAnnotationsFilter controls which audit annotations are added to AuditEvent.CustomAuditAnnotations. If the customAnnotationsFilter is nil, AuditEvent.CustomAuditAnnotations will be empty.

func (*MissingEventsReport) String

func (m *MissingEventsReport) String() string

String returns a human readable string representation of the report

type NodeAllocatableStrategy

NodeAllocatableStrategy fills node.status.allocatable and csiNode.spec.drivers[*].allocatable. csiNode is created if it does not exist. On cleanup, any csiNode.spec.drivers[*].allocatable is set to nil.

type NodeAllocatableStrategy struct {
    // Node.status.allocatable to fill to all nodes.
    NodeAllocatable map[v1.ResourceName]string
    // Map <driver_name> -> VolumeNodeResources to fill into csiNode.spec.drivers[<driver_name>].
    CsiNodeAllocatable map[string]*storagev1.VolumeNodeResources
    // List of in-tree volume plugins migrated to CSI.
    MigratedPlugins []string
}

func NewNodeAllocatableStrategy

func NewNodeAllocatableStrategy(nodeAllocatable map[v1.ResourceName]string, csiNodeAllocatable map[string]*storagev1.VolumeNodeResources, migratedPlugins []string) *NodeAllocatableStrategy

func (*NodeAllocatableStrategy) CleanupDependentObjects

func (s *NodeAllocatableStrategy) CleanupDependentObjects(ctx context.Context, nodeName string, client clientset.Interface) error

func (*NodeAllocatableStrategy) CleanupNode

func (s *NodeAllocatableStrategy) CleanupNode(ctx context.Context, node *v1.Node) *v1.Node

func (*NodeAllocatableStrategy) PrepareDependentObjects

func (s *NodeAllocatableStrategy) PrepareDependentObjects(ctx context.Context, node *v1.Node, client clientset.Interface) error

func (*NodeAllocatableStrategy) PreparePatch

func (s *NodeAllocatableStrategy) PreparePatch(node *v1.Node) []byte

type PodDiff

PodDiff is a map of pod name to podInfos

type PodDiff map[string]*podInfo

func Diff

func Diff(oldPods []*v1.Pod, curPods []*v1.Pod) PodDiff

Diff computes a PodDiff given 2 lists of pods.

func (PodDiff) DeletedPods

func (p PodDiff) DeletedPods() []string

DeletedPods returns a slice of pods that were present at the beginning and then disappeared.

func (PodDiff) String

func (p PodDiff) String(ignorePhases sets.String) string

Print formats and prints the give PodDiff.

type PodStore

Convenient wrapper around cache.Store that returns list of v1.Pod instead of interface{}.

type PodStore struct {
    cache.Store

    Reflector *cache.Reflector
    // contains filtered or unexported fields
}

func NewPodStore

func NewPodStore(c clientset.Interface, namespace string, label labels.Selector, field fields.Selector) (*PodStore, error)

func (*PodStore) List

func (s *PodStore) List() []*v1.Pod

func (*PodStore) Stop

func (s *PodStore) Stop()

type PrepareNodeStrategy

type PrepareNodeStrategy interface {
    // Modify pre-created Node objects before the test starts.
    PreparePatch(node *v1.Node) []byte
    // Create or modify any objects that depend on the node before the test starts.
    // Caller will re-try when http.StatusConflict error is returned.
    PrepareDependentObjects(ctx context.Context, node *v1.Node, client clientset.Interface) error
    // Clean up any node modifications after the test finishes.
    CleanupNode(ctx context.Context, node *v1.Node) *v1.Node
    // Clean up any objects that depend on the node after the test finishes.
    // Caller will re-try when http.StatusConflict error is returned.
    CleanupDependentObjects(ctx context.Context, nodeName string, client clientset.Interface) error
}

type RCConfig

type RCConfig struct {
    Affinity                      *v1.Affinity
    Client                        clientset.Interface
    ScalesGetter                  scaleclient.ScalesGetter
    Image                         string
    Command                       []string
    Name                          string
    Namespace                     string
    PollInterval                  time.Duration
    Timeout                       time.Duration
    PodStatusFile                 *os.File
    Replicas                      int
    CpuRequest                    int64 // millicores
    CpuLimit                      int64 // millicores
    MemRequest                    int64 // bytes
    MemLimit                      int64 // bytes
    GpuLimit                      int64 // count
    ReadinessProbe                *v1.Probe
    DNSPolicy                     *v1.DNSPolicy
    PriorityClassName             string
    TerminationGracePeriodSeconds *int64
    Lifecycle                     *v1.Lifecycle
    SchedulerName                 string

    // Env vars, set the same for every pod.
    Env map[string]string

    // Extra labels and annotations added to every pod.
    Labels      map[string]string
    Annotations map[string]string

    // Node selector for pods in the RC.
    NodeSelector map[string]string

    // Tolerations for pods in the RC.
    Tolerations []v1.Toleration

    // Ports to declare in the container (map of name to containerPort).
    Ports map[string]int
    // Ports to declare in the container as host and container ports.
    HostPorts map[string]int

    Volumes      []v1.Volume
    VolumeMounts []v1.VolumeMount

    // Pointer to a list of pods; if non-nil, will be set to a list of pods
    // created by this RC by RunRC.
    CreatedPods *[]*v1.Pod

    // Maximum allowable container failures. If exceeded, RunRC returns an error.
    // Defaults to replicas*0.1 if unspecified.
    MaxContainerFailures *int
    // Maximum allowed pod deletions count. If exceeded, RunRC returns an error.
    // Defaults to 0.
    MaxAllowedPodDeletions int

    // If set to false starting RC will print progress, otherwise only errors will be printed.
    Silent bool

    // If set this function will be used to print log lines instead of klog.
    LogFunc func(fmt string, args ...interface{})
    // If set those functions will be used to gather data from Nodes - in integration tests where no
    // kubelets are running those variables should be nil.
    NodeDumpFunc      func(ctx context.Context, c clientset.Interface, nodeNames []string, logFunc func(fmt string, args ...interface{}))
    ContainerDumpFunc func(ctx context.Context, c clientset.Interface, ns string, logFunc func(ftm string, args ...interface{}))

    // Names of the secrets and configmaps to mount.
    SecretNames    []string
    ConfigMapNames []string

    ServiceAccountTokenProjections int

    // Additional containers to run in the pod
    AdditionalContainers []v1.Container

    // Security context for created pods
    SecurityContext *v1.SecurityContext
}

func (*RCConfig) GetClient

func (config *RCConfig) GetClient() clientset.Interface

func (*RCConfig) GetGroupResource

func (config *RCConfig) GetGroupResource() schema.GroupResource

func (*RCConfig) GetGroupVersionResource

func (config *RCConfig) GetGroupVersionResource() schema.GroupVersionResource

func (*RCConfig) GetKind

func (config *RCConfig) GetKind() schema.GroupKind

func (*RCConfig) GetLabelValue

func (config *RCConfig) GetLabelValue(key string) (string, bool)

func (*RCConfig) GetName

func (config *RCConfig) GetName() string

func (*RCConfig) GetNamespace

func (config *RCConfig) GetNamespace() string

func (*RCConfig) GetReplicas

func (config *RCConfig) GetReplicas() int

func (*RCConfig) GetScalesGetter

func (config *RCConfig) GetScalesGetter() scaleclient.ScalesGetter

func (*RCConfig) RCConfigLog

func (rc *RCConfig) RCConfigLog(fmt string, args ...interface{})

func (*RCConfig) Run

func (config *RCConfig) Run(ctx context.Context) error

func (*RCConfig) SetClient

func (config *RCConfig) SetClient(c clientset.Interface)

func (*RCConfig) SetScalesClient

func (config *RCConfig) SetScalesClient(getter scaleclient.ScalesGetter)

type RCStartupStatus

type RCStartupStatus struct {
    Expected              int
    Terminating           int
    Running               int
    RunningButNotReady    int
    Waiting               int
    Pending               int
    Scheduled             int
    Unknown               int
    Inactive              int
    FailedContainers      int
    Created               []*v1.Pod
    ContainerRestartNodes sets.String
}

func ComputeRCStartupStatus

func ComputeRCStartupStatus(pods []*v1.Pod, expected int) RCStartupStatus

func (*RCStartupStatus) String

func (s *RCStartupStatus) String(name string) string

type ReplicaSetConfig

type ReplicaSetConfig struct {
    RCConfig
}

func (*ReplicaSetConfig) GetGroupResource

func (config *ReplicaSetConfig) GetGroupResource() schema.GroupResource

func (*ReplicaSetConfig) GetGroupVersionResource

func (config *ReplicaSetConfig) GetGroupVersionResource() schema.GroupVersionResource

func (*ReplicaSetConfig) GetKind

func (config *ReplicaSetConfig) GetKind() schema.GroupKind

func (*ReplicaSetConfig) Run

func (config *ReplicaSetConfig) Run(ctx context.Context) error

type RunObjectConfig

type RunObjectConfig interface {
    Run() error
    GetName() string
    GetNamespace() string
    GetKind() schema.GroupKind
    GetClient() clientset.Interface
    GetScalesGetter() scaleclient.ScalesGetter
    SetClient(clientset.Interface)
    SetScalesClient(scaleclient.ScalesGetter)
    GetReplicas() int
    GetLabelValue(string) (string, bool)
    GetGroupResource() schema.GroupResource
    GetGroupVersionResource() schema.GroupVersionResource
}

type SecretConfig

type SecretConfig struct {
    Content   map[string]string
    Client    clientset.Interface
    Name      string
    Namespace string
    // If set this function will be used to print log lines instead of klog.
    LogFunc func(fmt string, args ...interface{})
}

func (*SecretConfig) Run

func (config *SecretConfig) Run() error

func (*SecretConfig) Stop

func (config *SecretConfig) Stop() error

type TestNodePreparer

type TestNodePreparer interface {
    PrepareNodes(ctx context.Context, nextNodeIndex int) error
    CleanupNodes(ctx context.Context) error
}

type TestPodCreateStrategy

type TestPodCreateStrategy func(ctx context.Context, client clientset.Interface, namespace string, podCount int) error

func NewCreatePodWithPersistentVolumeStrategy

func NewCreatePodWithPersistentVolumeStrategy(claimTemplate *v1.PersistentVolumeClaim, factory volumeFactory, podTemplate *v1.Pod) TestPodCreateStrategy

func NewCreatePodWithPersistentVolumeWithFirstConsumerStrategy

func NewCreatePodWithPersistentVolumeWithFirstConsumerStrategy(factory volumeFactory, podTemplate *v1.Pod) TestPodCreateStrategy

func NewCustomCreatePodStrategy

func NewCustomCreatePodStrategy(podTemplate *v1.Pod) TestPodCreateStrategy

func NewSimpleCreatePodStrategy

func NewSimpleCreatePodStrategy() TestPodCreateStrategy

func NewSimpleWithControllerCreatePodStrategy

func NewSimpleWithControllerCreatePodStrategy(controllerName string) TestPodCreateStrategy

type TestPodCreator

type TestPodCreator struct {
    Client clientset.Interface
    // namespace -> count -> strategy
    Config *TestPodCreatorConfig
}

func NewTestPodCreator

func NewTestPodCreator(client clientset.Interface, config *TestPodCreatorConfig) *TestPodCreator

func (*TestPodCreator) CreatePods

func (c *TestPodCreator) CreatePods(ctx context.Context) error

type TestPodCreatorConfig

type TestPodCreatorConfig map[string][]CountToPodStrategy

func NewTestPodCreatorConfig

func NewTestPodCreatorConfig() *TestPodCreatorConfig

func (*TestPodCreatorConfig) AddStrategy

func (c *TestPodCreatorConfig) AddStrategy(
    namespace string, podCount int, strategy TestPodCreateStrategy)

type TrivialNodePrepareStrategy

type TrivialNodePrepareStrategy struct{}

func (*TrivialNodePrepareStrategy) CleanupDependentObjects

func (*TrivialNodePrepareStrategy) CleanupDependentObjects(ctx context.Context, nodeName string, client clientset.Interface) error

func (*TrivialNodePrepareStrategy) CleanupNode

func (*TrivialNodePrepareStrategy) CleanupNode(ctx context.Context, node *v1.Node) *v1.Node

func (*TrivialNodePrepareStrategy) PrepareDependentObjects

func (*TrivialNodePrepareStrategy) PrepareDependentObjects(ctx context.Context, node *v1.Node, client clientset.Interface) error

func (*TrivialNodePrepareStrategy) PreparePatch

func (*TrivialNodePrepareStrategy) PreparePatch(*v1.Node) []byte

type UniqueNodeLabelStrategy

UniqueNodeLabelStrategy sets a unique label for each node.

type UniqueNodeLabelStrategy struct {
    LabelKey string
}

func NewUniqueNodeLabelStrategy

func NewUniqueNodeLabelStrategy(labelKey string) *UniqueNodeLabelStrategy

func (*UniqueNodeLabelStrategy) CleanupDependentObjects

func (*UniqueNodeLabelStrategy) CleanupDependentObjects(ctx context.Context, nodeName string, client clientset.Interface) error

func (*UniqueNodeLabelStrategy) CleanupNode

func (s *UniqueNodeLabelStrategy) CleanupNode(ctx context.Context, node *v1.Node) *v1.Node

func (*UniqueNodeLabelStrategy) PrepareDependentObjects

func (*UniqueNodeLabelStrategy) PrepareDependentObjects(ctx context.Context, node *v1.Node, client clientset.Interface) error

func (*UniqueNodeLabelStrategy) PreparePatch

func (s *UniqueNodeLabelStrategy) PreparePatch(*v1.Node) []byte

type UpdateDeploymentFunc

type UpdateDeploymentFunc func(d *apps.Deployment)

type UpdateReplicaSetFunc

type UpdateReplicaSetFunc func(d *apps.ReplicaSet)

Subdirectories

Name Synopsis
..
apiserver
crd
format Package format is an extension of Gomega's format package which improves printing of objects that can be serialized well as YAML, like the structs in the Kubernetes API.
harness
image
junit Package junit provides data structures to allow easy XML encoding and decoding of JUnit test results.
ktesting Package ktesting is a wrapper around k8s.io/klog/v2/ktesting.
examples
gomega The tests will fail and therefore are excluded from normal "make test" via the "example" build tag.
logging The tests will fail and therefore are excluded from normal "make test" via the "example" build tag.
with_ktesting The tests will fail and therefore are excluded from normal "make test" via the "example" build tag.
without_ktesting The tests will fail and therefore are excluded from normal "make test" via the "example" build tag.
initoption
kubeconfig
oidc Package oidc is a generated GoMock package.