Documentation ¶
Index ¶
- Constants
- Variables
- func CreateAppArmorTestPod(f *framework.Framework, unconfined bool, runOnce bool) *v1.Pod
- func CreateCPUHorizontalPodAutoscaler(rc *ResourceConsumer, cpu, minReplicas, maxRepl int32) *autoscalingv1.HorizontalPodAutoscaler
- func DeleteHorizontalPodAutoscaler(rc *ResourceConsumer, autoscalerName string)
- func GetContainerStartedTime(p *v1.Pod, containerName string) (time.Time, error)
- func GetResourceConsumerImage() string
- func GetTransitionTimeForReadyCondition(p *v1.Pod) (time.Time, error)
- func IsAppArmorSupported() bool
- func LoadAppArmorProfiles(f *framework.Framework)
- func NewRCByName(c clientset.Interface, ns, name string, replicas int32, gracePeriod *int64, ...) (*v1.ReplicationController, error)
- func NewSVCByName(c clientset.Interface, ns, name string) error
- func ObserveEventAfterAction(f *framework.Framework, eventPredicate func(*v1.Event) bool, action Action) (bool, error)
- func ObserveNodeUpdateAfterAction(f *framework.Framework, nodeName string, nodePredicate func(*v1.Node) bool, ...) (bool, error)
- func RestartNodes(c clientset.Interface, nodes []v1.Node) error
- func RunLivenessTest(f *framework.Framework, pod *v1.Pod, expectNumRestarts int, ...)
- func SkipIfAppArmorNotSupported()
- func SubstituteImageName(content string) string
- func WaitTimeoutForEvent(c clientset.Interface, namespace, eventSelector, msg string, ...) error
- type Action
- type ConformanceContainer
- func (cc *ConformanceContainer) Create()
- func (cc *ConformanceContainer) Delete() error
- func (cc *ConformanceContainer) GetPhase() (v1.PodPhase, error)
- func (cc *ConformanceContainer) GetStatus() (v1.ContainerStatus, error)
- func (cc *ConformanceContainer) IsReady() (bool, error)
- func (cc *ConformanceContainer) Present() (bool, error)
- type ContainerState
- type KubeletManagedHostConfig
- type PrivilegedPodTestConfig
- type ResourceConsumer
- func NewDynamicResourceConsumer(name, nsName string, kind schema.GroupVersionKind, ...) *ResourceConsumer
- func NewMetricExporter(name, nsName string, podAnnotations, serviceAnnotations map[string]string, ...) *ResourceConsumer
- func NewStaticResourceConsumer(name, nsName string, ...) *ResourceConsumer
- func (rc *ResourceConsumer) CleanUp()
- func (rc *ResourceConsumer) ConsumeCPU(millicores int)
- func (rc *ResourceConsumer) ConsumeCustomMetric(amount int)
- func (rc *ResourceConsumer) ConsumeMem(megabytes int)
- func (rc *ResourceConsumer) EnsureDesiredReplicas(desiredReplicas int, duration time.Duration, hpaName string)
- func (rc *ResourceConsumer) EnsureDesiredReplicasInRange(minDesiredReplicas, maxDesiredReplicas int, duration time.Duration, ...)
- func (rc *ResourceConsumer) GetHpa(name string) (*autoscalingv1.HorizontalPodAutoscaler, error)
- func (rc *ResourceConsumer) GetReplicas() int
- func (rc *ResourceConsumer) Pause()
- func (rc *ResourceConsumer) Resume()
- func (rc *ResourceConsumer) WaitForReplicas(desiredReplicas int, duration time.Duration)
- type Suite
Constants ¶
const ( ContainerStatusRetryTimeout = time.Minute * 5 ContainerStatusPollInterval = time.Second * 1 )
Variables ¶
var ( KindRC = schema.GroupVersionKind{Version: "v1", Kind: "ReplicationController"} KindDeployment = schema.GroupVersionKind{Group: "apps", Version: "v1beta2", Kind: "Deployment"} KindReplicaSet = schema.GroupVersionKind{Group: "apps", Version: "v1beta2", Kind: "ReplicaSet"} )
var AppArmorDistros = []string{"gci", "ubuntu"}
AppArmorDistros are distros with AppArmor support
var CommonImageWhiteList = sets.NewString( imageutils.GetE2EImage(imageutils.Agnhost), imageutils.GetE2EImage(imageutils.BusyBox), imageutils.GetE2EImage(imageutils.IpcUtils), imageutils.GetE2EImage(imageutils.Mounttest), imageutils.GetE2EImage(imageutils.MounttestUser), imageutils.GetE2EImage(imageutils.Nginx), imageutils.GetE2EImage(imageutils.Httpd), imageutils.GetE2EImage(imageutils.TestWebserver), imageutils.GetE2EImage(imageutils.VolumeNFSServer), imageutils.GetE2EImage(imageutils.VolumeGlusterServer), imageutils.GetE2EImage(imageutils.NonRoot), )
CommonImageWhiteList is the list of images used in common test. These images should be prepulled before a tests starts, so that the tests won't fail due image pulling flakes. Currently, this is only used by node e2e test. TODO(random-liu): Change the image puller pod to use similar mechanism.
Functions ¶
func CreateAppArmorTestPod ¶
CreateAppArmorTestPod creates a pod that tests apparmor profile enforcement. The pod exits with an error code if the profile is incorrectly enforced. If runOnce is true the pod will exit after a single test, otherwise it will repeat the test every 1 second until failure.
func CreateCPUHorizontalPodAutoscaler ¶
func CreateCPUHorizontalPodAutoscaler(rc *ResourceConsumer, cpu, minReplicas, maxRepl int32) *autoscalingv1.HorizontalPodAutoscaler
func DeleteHorizontalPodAutoscaler ¶
func DeleteHorizontalPodAutoscaler(rc *ResourceConsumer, autoscalerName string)
func GetContainerStartedTime ¶
func GetResourceConsumerImage ¶
func GetResourceConsumerImage() string
func IsAppArmorSupported ¶
func IsAppArmorSupported() bool
func LoadAppArmorProfiles ¶
func NewRCByName ¶
func NewRCByName(c clientset.Interface, ns, name string, replicas int32, gracePeriod *int64, containerArgs []string) (*v1.ReplicationController, error)
NewRCByName creates a replication controller with a selector by name of name.
func NewSVCByName ¶
NewSVCByName creates a service by name.
func ObserveEventAfterAction ¶
func ObserveEventAfterAction(f *framework.Framework, eventPredicate func(*v1.Event) bool, action Action) (bool, error)
Returns true if an event matching the predicate was emitted from the system after performing the supplied action.
func ObserveNodeUpdateAfterAction ¶
func ObserveNodeUpdateAfterAction(f *framework.Framework, nodeName string, nodePredicate func(*v1.Node) bool, action Action) (bool, error)
Returns true if a node update matching the predicate was emitted from the system after performing the supplied action.
func RestartNodes ¶
RestartNodes restarts specific nodes.
func RunLivenessTest ¶
func SkipIfAppArmorNotSupported ¶
func SkipIfAppArmorNotSupported()
func SubstituteImageName ¶
SubstituteImageName replaces image name in content.
Types ¶
type ConformanceContainer ¶
type ConformanceContainer struct { Container v1.Container RestartPolicy v1.RestartPolicy Volumes []v1.Volume ImagePullSecrets []string PodClient *framework.PodClient PodSecurityContext *v1.PodSecurityContext // contains filtered or unexported fields }
One pod one container
func (*ConformanceContainer) Create ¶
func (cc *ConformanceContainer) Create()
func (*ConformanceContainer) Delete ¶
func (cc *ConformanceContainer) Delete() error
func (*ConformanceContainer) GetPhase ¶
func (cc *ConformanceContainer) GetPhase() (v1.PodPhase, error)
func (*ConformanceContainer) GetStatus ¶
func (cc *ConformanceContainer) GetStatus() (v1.ContainerStatus, error)
func (*ConformanceContainer) IsReady ¶
func (cc *ConformanceContainer) IsReady() (bool, error)
func (*ConformanceContainer) Present ¶
func (cc *ConformanceContainer) Present() (bool, error)
type ContainerState ¶
type ContainerState string
const ( ContainerStateWaiting ContainerState = "Waiting" ContainerStateRunning ContainerState = "Running" ContainerStateTerminated ContainerState = "Terminated" ContainerStateUnknown ContainerState = "Unknown" )
func GetContainerState ¶
func GetContainerState(state v1.ContainerState) ContainerState
type KubeletManagedHostConfig ¶
type KubeletManagedHostConfig struct {
// contains filtered or unexported fields
}
type PrivilegedPodTestConfig ¶
type PrivilegedPodTestConfig struct {
// contains filtered or unexported fields
}
PrivilegedPodTestConfig is configuration struct for privileged pod test TODO: Merge with tests in security_context.go
type ResourceConsumer ¶
type ResourceConsumer struct {
// contains filtered or unexported fields
}
ResourceConsumer is a tool for testing. It helps create specified usage of CPU or memory (Warning: memory not supported) typical use case: rc.ConsumeCPU(600) // ... check your assumption here rc.ConsumeCPU(300) // ... check your assumption here
func NewDynamicResourceConsumer ¶
func NewDynamicResourceConsumer(name, nsName string, kind schema.GroupVersionKind, replicas, initCPUTotal, initMemoryTotal, initCustomMetric int, cpuLimit, memLimit int64, clientset clientset.Interface, scaleClient scaleclient.ScalesGetter) *ResourceConsumer
func NewMetricExporter ¶
func NewMetricExporter(name, nsName string, podAnnotations, serviceAnnotations map[string]string, metricValue int, clientset clientset.Interface, scaleClient scaleclient.ScalesGetter) *ResourceConsumer
func NewStaticResourceConsumer ¶
func NewStaticResourceConsumer(name, nsName string, replicas, initCPUTotal, initMemoryTotal, initCustomMetric int, cpuLimit, memLimit int64, clientset clientset.Interface, scaleClient scaleclient.ScalesGetter) *ResourceConsumer
TODO this still defaults to replication controller
func (*ResourceConsumer) CleanUp ¶
func (rc *ResourceConsumer) CleanUp()
func (*ResourceConsumer) ConsumeCPU ¶
func (rc *ResourceConsumer) ConsumeCPU(millicores int)
ConsumeCPU consumes given number of CPU
func (*ResourceConsumer) ConsumeCustomMetric ¶
func (rc *ResourceConsumer) ConsumeCustomMetric(amount int)
ConsumeMem consumes given number of custom metric
func (*ResourceConsumer) ConsumeMem ¶
func (rc *ResourceConsumer) ConsumeMem(megabytes int)
ConsumeMem consumes given number of Mem
func (*ResourceConsumer) EnsureDesiredReplicas ¶
func (rc *ResourceConsumer) EnsureDesiredReplicas(desiredReplicas int, duration time.Duration, hpaName string)
func (*ResourceConsumer) EnsureDesiredReplicasInRange ¶
func (rc *ResourceConsumer) EnsureDesiredReplicasInRange(minDesiredReplicas, maxDesiredReplicas int, duration time.Duration, hpaName string)
func (*ResourceConsumer) GetHpa ¶
func (rc *ResourceConsumer) GetHpa(name string) (*autoscalingv1.HorizontalPodAutoscaler, error)
func (*ResourceConsumer) GetReplicas ¶
func (rc *ResourceConsumer) GetReplicas() int
func (*ResourceConsumer) Pause ¶
func (rc *ResourceConsumer) Pause()
Pause stops background goroutines responsible for consuming resources.
func (*ResourceConsumer) Resume ¶
func (rc *ResourceConsumer) Resume()
Pause starts background goroutines responsible for consuming resources.
func (*ResourceConsumer) WaitForReplicas ¶
func (rc *ResourceConsumer) WaitForReplicas(desiredReplicas int, duration time.Duration)
Source Files ¶
- apparmor.go
- autoscaling_utils.go
- configmap.go
- configmap_volume.go
- container.go
- container_probe.go
- docker_containers.go
- downward_api.go
- downwardapi_volume.go
- empty_dir.go
- events.go
- expansion.go
- host_path.go
- init_container.go
- kubelet.go
- kubelet_etc_hosts.go
- lease.go
- lifecycle_hook.go
- networking.go
- node_lease.go
- pods.go
- privileged.go
- projected_combined.go
- projected_configmap.go
- projected_downwardapi.go
- projected_secret.go
- runtime.go
- runtimeclass.go
- secrets.go
- secrets_volume.go
- security_context.go
- sysctl.go
- util.go
- volumes.go