Documentation ¶
Index ¶
- func AddLabelsToNode(c clientset.Interface, nodeName string, labels map[string]string) error
- func CheckDeploymentRevisionAndImage(c clientset.Interface, ns, deploymentName, revision, image string) error
- func CreateConfigMapWithRetries(c clientset.Interface, namespace string, obj *v1.ConfigMap) error
- func CreateDaemonSetWithRetries(c clientset.Interface, namespace string, obj *extensions.DaemonSet) error
- func CreateDeploymentWithRetries(c clientset.Interface, namespace string, obj *extensions.Deployment) error
- func CreateJobWithRetries(c clientset.Interface, namespace string, obj *batch.Job) error
- func CreatePod(client clientset.Interface, namespace string, podCount int, ...) 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 *extensions.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 DeleteResourceWithRetries(c clientset.Interface, kind schema.GroupKind, namespace, name string, ...) error
- func DoCleanupNode(client clientset.Interface, nodeName string, strategy PrepareNodeStrategy) error
- func DoPrepareNode(client clientset.Interface, node *v1.Node, strategy PrepareNodeStrategy) error
- func FailedContainers(pod *v1.Pod) map[string]ContainerFailures
- func GetCAdvisorRootDir() (string, error)
- func GetK8sBuildOutputDir() (string, error)
- func GetK8sRootDir() (string, error)
- func IsRetryableAPIError(err error) bool
- func LogPodsOfDeployment(c clientset.Interface, deployment *apps.Deployment, rsList []*apps.ReplicaSet, ...)
- func LogReplicaSetsOfDeployment(deployment *apps.Deployment, allOldRSs []*apps.ReplicaSet, ...)
- func MakePodSpec() v1.PodSpec
- func MakeTempDirOrDie(prefix string, baseDir string) string
- func PodNotReady(p *v1.Pod) (bool, error)
- func PodRunningReady(p *v1.Pod) (bool, error)
- func PodRunningReadyOrSucceeded(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(config DeploymentConfig) error
- func RunJob(config JobConfig) error
- func RunPodAndGetNodeName(c clientset.Interface, pod *v1.Pod, timeout time.Duration) (string, error)
- func RunRC(config RCConfig) error
- func RunReplicaSet(config ReplicaSetConfig) error
- func ScaleResourceWithRetries(scalesGetter scale.ScalesGetter, namespace, name string, size uint, ...) error
- func StartPods(c clientset.Interface, replicas int, namespace string, podNamePrefix string, ...) error
- func TerminatedContainers(pod *v1.Pod) map[string]string
- func UpdateDeploymentWithRetries(c clientset.Interface, namespace, name string, ...) (*apps.Deployment, error)
- func UpdateReplicaSetStatusWithRetries(c clientset.Interface, namespace, name string, ...) (*apps.ReplicaSet, error)
- func UpdateReplicaSetWithRetries(c clientset.Interface, namespace, name string, ...) (*apps.ReplicaSet, error)
- func VerifyLabelsRemoved(c clientset.Interface, nodeName string, labelKeys []string) error
- func WaitForDeploymentComplete(c clientset.Interface, d *apps.Deployment, logf LogfFn, ...) error
- func WaitForDeploymentCompleteAndCheckRolling(c clientset.Interface, d *apps.Deployment, logf LogfFn, ...) error
- func WaitForDeploymentRevisionAndImage(c clientset.Interface, ns, deploymentName string, revision, image string, ...) error
- func WaitForDeploymentRollbackCleared(c clientset.Interface, ns, deploymentName string, ...) error
- func WaitForDeploymentUpdatedReplicasGTE(c clientset.Interface, ns, deploymentName string, minUpdatedReplicas int32, ...) error
- func WaitForDeploymentWithCondition(c clientset.Interface, ns, deploymentName, reason string, ...) 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, ...) error
- func WaitUntilPodIsScheduled(c clientset.Interface, name, namespace string, timeout time.Duration) (*v1.Pod, error)
- type AuditEvent
- type ConfigMapConfig
- type ContainerFailures
- type CountToPodStrategy
- type CountToStrategy
- type DaemonConfig
- type DeploymentConfig
- type JobConfig
- type LabelNodePrepareStrategy
- type LogfFn
- type PodDiff
- type PodStore
- type PrepareNodeStrategy
- type RCConfig
- func (config *RCConfig) GetClient() clientset.Interface
- func (config *RCConfig) GetGroupResource() schema.GroupResource
- func (config *RCConfig) GetInternalClient() internalclientset.Interface
- 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() error
- func (config *RCConfig) SetClient(c clientset.Interface)
- func (config *RCConfig) SetInternalClient(c internalclientset.Interface)
- func (config *RCConfig) SetScalesClient(getter scaleclient.ScalesGetter)
- type RCStartupStatus
- type ReplicaSetConfig
- type RunObjectConfig
- type SecretConfig
- type TestNodePreparer
- type TestPodCreateStrategy
- type TestPodCreator
- type TestPodCreatorConfig
- type TrivialNodePrepareStrategy
- type UpdateDeploymentFunc
- type UpdateReplicaSetFunc
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func AddLabelsToNode ¶
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 CreateDeploymentWithRetries ¶
func CreateDeploymentWithRetries(c clientset.Interface, namespace string, obj *extensions.Deployment) error
func CreateJobWithRetries ¶
func CreatePodWithRetries ¶
func CreateRCWithRetries ¶
func CreateReplicaSetWithRetries ¶
func CreateReplicaSetWithRetries(c clientset.Interface, namespace string, obj *extensions.ReplicaSet) error
func CreateSecretWithRetries ¶
func DoCleanupNode ¶
func DoCleanupNode(client clientset.Interface, nodeName string, strategy PrepareNodeStrategy) error
func DoPrepareNode ¶
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 GetCAdvisorRootDir ¶
GetCAdvisorRootDir returns the root directory for cAdvisor, if present in the gopath.
func GetK8sBuildOutputDir ¶
GetK8sBuildOutputDir returns the build output directory for k8s
func GetK8sRootDir ¶
GetK8sRootDir returns the root directory for kubernetes, if present in the gopath.
func IsRetryableAPIError ¶
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 MakeTempDirOrDie ¶
func PodNotReady ¶
PodNotReady checks whether pod p's has a ready condition of status false.
func PodRunningReady ¶
PodRunningReady checks whether pod p's phase is running and it has a ready condition of status true.
func RemoveLabelOffNode ¶
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 ¶
RootDir gets the on-disk kubernetes source directory, returning an error is none is found
func RunDeployment ¶
func RunDeployment(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 ¶
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 RunRC ¶
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(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 scale.ScalesGetter, namespace, name string, size uint, gr schema.GroupResource) 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 ¶
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 ¶
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 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 WaitForPodsWithLabelRunning ¶
Wait up to 10 minutes for all matching pods to become Running and at least one matching pod exists.
Types ¶
type AuditEvent ¶
type AuditEvent struct { Level auditinternal.Level Stage auditinternal.Stage RequestURI string Verb string Code int32 User string Resource string Namespace string RequestObject bool ResponseObject bool AuthorizeDecision string }
func CheckAuditLines ¶
func CheckAuditLines(stream io.Reader, expected []AuditEvent, version schema.GroupVersion) (missing []AuditEvent, err error)
Search the audit log for the expected audit lines.
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 glog. 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 glog. 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() error
type DeploymentConfig ¶
type DeploymentConfig struct {
RCConfig
}
func (*DeploymentConfig) GetGroupResource ¶
func (config *DeploymentConfig) GetGroupResource() schema.GroupResource
func (*DeploymentConfig) GetKind ¶
func (config *DeploymentConfig) GetKind() schema.GroupKind
func (*DeploymentConfig) Run ¶
func (config *DeploymentConfig) Run() error
type JobConfig ¶
type JobConfig struct {
RCConfig
}
func (*JobConfig) GetGroupResource ¶
func (config *JobConfig) GetGroupResource() schema.GroupResource
type LabelNodePrepareStrategy ¶
type LabelNodePrepareStrategy struct {
// contains filtered or unexported fields
}
func NewLabelNodePrepareStrategy ¶
func NewLabelNodePrepareStrategy(labelKey string, labelValue string) *LabelNodePrepareStrategy
func (*LabelNodePrepareStrategy) CleanupNode ¶
func (s *LabelNodePrepareStrategy) CleanupNode(node *v1.Node) *v1.Node
func (*LabelNodePrepareStrategy) PreparePatch ¶
func (s *LabelNodePrepareStrategy) PreparePatch(*v1.Node) []byte
type PodDiff ¶
type PodDiff map[string]*podInfo
PodDiff is a map of pod name to podInfos
type PodStore ¶
type PodStore struct { cache.Store Reflector *cache.Reflector // contains filtered or unexported fields }
Convenient wrapper around cache.Store that returns list of v1.Pod instead of interface{}.
func NewPodStore ¶
type PrepareNodeStrategy ¶
type RCConfig ¶
type RCConfig struct { Affinity *v1.Affinity Client clientset.Interface InternalClient internalclientset.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 // 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 // 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 glog. 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(c clientset.Interface, nodeNames []string, logFunc func(fmt string, args ...interface{})) ContainerDumpFunc func(c clientset.Interface, ns string, logFunc func(ftm string, args ...interface{})) // Names of the secrets and configmaps to mount. SecretNames []string ConfigMapNames []string }
func (*RCConfig) GetGroupResource ¶
func (config *RCConfig) GetGroupResource() schema.GroupResource
func (*RCConfig) GetInternalClient ¶
func (config *RCConfig) GetInternalClient() internalclientset.Interface
func (*RCConfig) GetNamespace ¶
func (*RCConfig) GetReplicas ¶
func (*RCConfig) GetScalesGetter ¶
func (config *RCConfig) GetScalesGetter() scaleclient.ScalesGetter
func (*RCConfig) RCConfigLog ¶
func (*RCConfig) SetInternalClient ¶
func (config *RCConfig) SetInternalClient(c internalclientset.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) GetKind ¶
func (config *ReplicaSetConfig) GetKind() schema.GroupKind
func (*ReplicaSetConfig) Run ¶
func (config *ReplicaSetConfig) Run() error
type RunObjectConfig ¶
type RunObjectConfig interface { Run() error GetName() string GetNamespace() string GetKind() schema.GroupKind GetClient() clientset.Interface GetInternalClient() internalclientset.Interface GetScalesGetter() scaleclient.ScalesGetter SetClient(clientset.Interface) SetInternalClient(internalclientset.Interface) SetScalesClient(scaleclient.ScalesGetter) GetReplicas() int GetLabelValue(string) (string, bool) GetGroupResource() schema.GroupResource }
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 glog. 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 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() 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) CleanupNode ¶
func (*TrivialNodePrepareStrategy) CleanupNode(node *v1.Node) *v1.Node
func (*TrivialNodePrepareStrategy) PreparePatch ¶
func (*TrivialNodePrepareStrategy) PreparePatch(*v1.Node) []byte
type UpdateDeploymentFunc ¶
type UpdateDeploymentFunc func(d *apps.Deployment)
type UpdateReplicaSetFunc ¶
type UpdateReplicaSetFunc func(d *apps.ReplicaSet)