mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-20 18:31:15 +00:00
tests: Replaces images used with agnhost (part 4)
Quite a few images are only used a few times in a few tests. Thus, the images are being centralized into the agnhost image, reducing the number of images that have to be pulled and used. This PR replaces the usage of the following images with agnhost: - resource-consumer-controller - test-webserver
This commit is contained in:
parent
db9123e50e
commit
f7942290af
@ -303,7 +303,8 @@ func testWebServerPodSpec(readinessProbe, livenessProbe *v1.Probe, containerName
|
|||||||
Containers: []v1.Container{
|
Containers: []v1.Container{
|
||||||
{
|
{
|
||||||
Name: containerName,
|
Name: containerName,
|
||||||
Image: imageutils.GetE2EImage(imageutils.TestWebserver),
|
Image: imageutils.GetE2EImage(imageutils.Agnhost),
|
||||||
|
Args: []string{"test-webserver"},
|
||||||
Ports: []v1.ContainerPort{{ContainerPort: int32(port)}},
|
Ports: []v1.ContainerPort{{ContainerPort: int32(port)}},
|
||||||
LivenessProbe: livenessProbe,
|
LivenessProbe: livenessProbe,
|
||||||
ReadinessProbe: readinessProbe,
|
ReadinessProbe: readinessProbe,
|
||||||
|
@ -68,7 +68,6 @@ var CommonImageWhiteList = sets.NewString(
|
|||||||
imageutils.GetE2EImage(imageutils.MounttestUser),
|
imageutils.GetE2EImage(imageutils.MounttestUser),
|
||||||
imageutils.GetE2EImage(imageutils.Nginx),
|
imageutils.GetE2EImage(imageutils.Nginx),
|
||||||
imageutils.GetE2EImage(imageutils.Httpd),
|
imageutils.GetE2EImage(imageutils.Httpd),
|
||||||
imageutils.GetE2EImage(imageutils.TestWebserver),
|
|
||||||
imageutils.GetE2EImage(imageutils.VolumeNFSServer),
|
imageutils.GetE2EImage(imageutils.VolumeNFSServer),
|
||||||
imageutils.GetE2EImage(imageutils.VolumeGlusterServer),
|
imageutils.GetE2EImage(imageutils.VolumeGlusterServer),
|
||||||
imageutils.GetE2EImage(imageutils.NonRoot),
|
imageutils.GetE2EImage(imageutils.NonRoot),
|
||||||
|
@ -65,7 +65,6 @@ const (
|
|||||||
|
|
||||||
var (
|
var (
|
||||||
resourceConsumerImage = imageutils.GetE2EImage(imageutils.ResourceConsumer)
|
resourceConsumerImage = imageutils.GetE2EImage(imageutils.ResourceConsumer)
|
||||||
resourceConsumerControllerImage = imageutils.GetE2EImage(imageutils.ResourceController)
|
|
||||||
)
|
)
|
||||||
|
|
||||||
var (
|
var (
|
||||||
@ -500,12 +499,12 @@ func runServiceAndWorkloadForResourceConsumer(c clientset.Interface, ns, name st
|
|||||||
dnsClusterFirst := v1.DNSClusterFirst
|
dnsClusterFirst := v1.DNSClusterFirst
|
||||||
controllerRcConfig := testutils.RCConfig{
|
controllerRcConfig := testutils.RCConfig{
|
||||||
Client: c,
|
Client: c,
|
||||||
Image: resourceConsumerControllerImage,
|
Image: imageutils.GetE2EImage(imageutils.Agnhost),
|
||||||
Name: controllerName,
|
Name: controllerName,
|
||||||
Namespace: ns,
|
Namespace: ns,
|
||||||
Timeout: timeoutRC,
|
Timeout: timeoutRC,
|
||||||
Replicas: 1,
|
Replicas: 1,
|
||||||
Command: []string{"/controller", "--consumer-service-name=" + name, "--consumer-service-namespace=" + ns, "--consumer-port=80"},
|
Command: []string{"/agnhost", "resource-consumer-controller", "--consumer-service-name=" + name, "--consumer-service-namespace=" + ns, "--consumer-port=80"},
|
||||||
DNSPolicy: &dnsClusterFirst,
|
DNSPolicy: &dnsClusterFirst,
|
||||||
}
|
}
|
||||||
framework.ExpectNoError(e2erc.RunRC(controllerRcConfig))
|
framework.ExpectNoError(e2erc.RunRC(controllerRcConfig))
|
||||||
|
@ -396,7 +396,8 @@ func createDNSPod(namespace, wheezyProbeCmd, jessieProbeCmd, podHostName, servic
|
|||||||
// TODO: Consider scraping logs instead of running a webserver.
|
// TODO: Consider scraping logs instead of running a webserver.
|
||||||
{
|
{
|
||||||
Name: "webserver",
|
Name: "webserver",
|
||||||
Image: imageutils.GetE2EImage(imageutils.TestWebserver),
|
Image: imageutils.GetE2EImage(imageutils.Agnhost),
|
||||||
|
Args: []string{"test-webserver"},
|
||||||
Ports: []v1.ContainerPort{
|
Ports: []v1.ContainerPort{
|
||||||
{
|
{
|
||||||
Name: "http",
|
Name: "http",
|
||||||
|
@ -139,8 +139,9 @@ var _ = SIGDescribe("[Feature:IPv6DualStackAlphaFeature] [LinuxOnly]", func() {
|
|||||||
replicas,
|
replicas,
|
||||||
map[string]string{"test": "dual-stack-server"},
|
map[string]string{"test": "dual-stack-server"},
|
||||||
"dualstack-test-server",
|
"dualstack-test-server",
|
||||||
imageutils.GetE2EImage(imageutils.TestWebserver),
|
imageutils.GetE2EImage(imageutils.Agnhost),
|
||||||
appsv1.RollingUpdateDeploymentStrategyType)
|
appsv1.RollingUpdateDeploymentStrategyType)
|
||||||
|
serverDeploymentSpec.Spec.Template.Spec.Containers[0].Args = []string{"test-webserver"}
|
||||||
|
|
||||||
// to ensure all the pods land on different nodes and we can thereby
|
// to ensure all the pods land on different nodes and we can thereby
|
||||||
// validate connectivity across all nodes.
|
// validate connectivity across all nodes.
|
||||||
|
@ -60,7 +60,7 @@ func NewServerTest(client clientset.Interface, namespace string, serviceName str
|
|||||||
t.services = make(map[string]bool)
|
t.services = make(map[string]bool)
|
||||||
|
|
||||||
t.Name = "webserver"
|
t.Name = "webserver"
|
||||||
t.Image = imageutils.GetE2EImage(imageutils.TestWebserver)
|
t.Image = imageutils.GetE2EImage(imageutils.Agnhost)
|
||||||
|
|
||||||
return t
|
return t
|
||||||
}
|
}
|
||||||
|
@ -127,7 +127,8 @@ var _ = utils.SIGDescribe("EmptyDir wrapper volumes", func() {
|
|||||||
Containers: []v1.Container{
|
Containers: []v1.Container{
|
||||||
{
|
{
|
||||||
Name: "secret-test",
|
Name: "secret-test",
|
||||||
Image: imageutils.GetE2EImage(imageutils.TestWebserver),
|
Image: imageutils.GetE2EImage(imageutils.Agnhost),
|
||||||
|
Args: []string{"test-webserver"},
|
||||||
VolumeMounts: []v1.VolumeMount{
|
VolumeMounts: []v1.VolumeMount{
|
||||||
{
|
{
|
||||||
Name: volumeName,
|
Name: volumeName,
|
||||||
|
@ -36,7 +36,7 @@ const (
|
|||||||
)
|
)
|
||||||
|
|
||||||
var (
|
var (
|
||||||
windowsBusyBoximage = imageutils.GetE2EImage(imageutils.TestWebserver)
|
windowsBusyBoximage = imageutils.GetE2EImage(imageutils.Agnhost)
|
||||||
linuxBusyBoxImage = "docker.io/library/nginx:1.15-alpine"
|
linuxBusyBoxImage = "docker.io/library/nginx:1.15-alpine"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -53,6 +53,7 @@ var _ = SIGDescribe("Hybrid cluster network", func() {
|
|||||||
ginkgo.By("creating linux and windows pods")
|
ginkgo.By("creating linux and windows pods")
|
||||||
linuxPod := createTestPod(f, linuxBusyBoxImage, linuxOS)
|
linuxPod := createTestPod(f, linuxBusyBoxImage, linuxOS)
|
||||||
windowsPod := createTestPod(f, windowsBusyBoximage, windowsOS)
|
windowsPod := createTestPod(f, windowsBusyBoximage, windowsOS)
|
||||||
|
windowsPod.Spec.Containers[0].Args = []string{"test-webserver"}
|
||||||
|
|
||||||
ginkgo.By("checking connectivity to 8.8.8.8 53 (google.com) from Linux")
|
ginkgo.By("checking connectivity to 8.8.8.8 53 (google.com) from Linux")
|
||||||
assertConsistentConnectivity(f, linuxPod.ObjectMeta.Name, linuxOS, linuxCheck("8.8.8.8", 53))
|
assertConsistentConnectivity(f, linuxPod.ObjectMeta.Name, linuxOS, linuxCheck("8.8.8.8", 53))
|
||||||
|
@ -220,7 +220,8 @@ var _ = framework.KubeDescribe("Container Manager Misc [Serial]", func() {
|
|||||||
Spec: v1.PodSpec{
|
Spec: v1.PodSpec{
|
||||||
Containers: []v1.Container{
|
Containers: []v1.Container{
|
||||||
{
|
{
|
||||||
Image: imageutils.GetE2EImage(imageutils.TestWebserver),
|
Image: imageutils.GetE2EImage(imageutils.Agnhost),
|
||||||
|
Args: []string{"test-webserver"},
|
||||||
Name: podName,
|
Name: podName,
|
||||||
Resources: v1.ResourceRequirements{
|
Resources: v1.ResourceRequirements{
|
||||||
Requests: v1.ResourceList{
|
Requests: v1.ResourceList{
|
||||||
|
@ -40,7 +40,7 @@ For example, let's consider the following `pod.yaml` file:
|
|||||||
containers:
|
containers:
|
||||||
- args:
|
- args:
|
||||||
- dns-suffix
|
- dns-suffix
|
||||||
image: gcr.io/kubernetes-e2e-test-images/agnhost:2.10
|
image: us.gcr.io/k8s-artifacts-prod/e2e-test-images/agnhost:2.10
|
||||||
name: agnhost
|
name: agnhost
|
||||||
dnsConfig:
|
dnsConfig:
|
||||||
nameservers:
|
nameservers:
|
||||||
@ -207,7 +207,7 @@ Usage:
|
|||||||
|
|
||||||
```console
|
```console
|
||||||
guestbook="test/e2e/testing-manifests/guestbook"
|
guestbook="test/e2e/testing-manifests/guestbook"
|
||||||
sed_expr="s|{{.AgnhostImage}}|gcr.io/kubernetes-e2e-test-images/agnhost:2.8|"
|
sed_expr="s|{{.AgnhostImage}}|us.gcr.io/k8s-artifacts-prod/e2e-test-images/agnhost:2.10|"
|
||||||
|
|
||||||
# create the services.
|
# create the services.
|
||||||
kubectl create -f ${guestbook}/frontend-service.yaml
|
kubectl create -f ${guestbook}/frontend-service.yaml
|
||||||
@ -290,14 +290,14 @@ Examples:
|
|||||||
|
|
||||||
```console
|
```console
|
||||||
docker run -i \
|
docker run -i \
|
||||||
gcr.io/kubernetes-e2e-test-images/agnhost:2.10 \
|
us.gcr.io/k8s-artifacts-prod/e2e-test-images/agnhost:2.10 \
|
||||||
logs-generator --log-lines-total 10 --run-duration 1s
|
logs-generator --log-lines-total 10 --run-duration 1s
|
||||||
```
|
```
|
||||||
|
|
||||||
```console
|
```console
|
||||||
kubectl run logs-generator \
|
kubectl run logs-generator \
|
||||||
--generator=run-pod/v1 \
|
--generator=run-pod/v1 \
|
||||||
--image=gcr.io/kubernetes-e2e-test-images/agnhost:2.10 \
|
--image=us.gcr.io/k8s-artifacts-prod/e2e-test-images/agnhost:2.10 \
|
||||||
--restart=Never \
|
--restart=Never \
|
||||||
-- logs-generator -t 10 -d 1s
|
-- logs-generator -t 10 -d 1s
|
||||||
```
|
```
|
||||||
@ -455,7 +455,7 @@ Usage:
|
|||||||
```console
|
```console
|
||||||
kubectl run test-agnhost \
|
kubectl run test-agnhost \
|
||||||
--generator=run-pod/v1 \
|
--generator=run-pod/v1 \
|
||||||
--image=gcr.io/kubernetes-e2e-test-images/agnhost:2.10 \
|
--image=us.gcr.io/k8s-artifacts-prod/e2e-test-images/agnhost:2.10 \
|
||||||
--restart=Never \
|
--restart=Never \
|
||||||
--env "POD_IP=<POD_IP>" \
|
--env "POD_IP=<POD_IP>" \
|
||||||
--env "NODE_IP=<NODE_IP>" \
|
--env "NODE_IP=<NODE_IP>" \
|
||||||
@ -510,7 +510,7 @@ Usage:
|
|||||||
```console
|
```console
|
||||||
kubectl run test-agnhost \
|
kubectl run test-agnhost \
|
||||||
--generator=run-pod/v1 \
|
--generator=run-pod/v1 \
|
||||||
--image=gcr.io/kubernetes-e2e-test-images/agnhost:2.10 \
|
--image=us.gcr.io/k8s-artifacts-prod/e2e-test-images/agnhost:2.10 \
|
||||||
--restart=Never \
|
--restart=Never \
|
||||||
--env "BIND_ADDRESS=localhost" \
|
--env "BIND_ADDRESS=localhost" \
|
||||||
--env "BIND_PORT=8080" \
|
--env "BIND_PORT=8080" \
|
||||||
@ -631,6 +631,6 @@ The image contains `iperf`, `curl`, `dns-tools` (including `dig`), CoreDNS.
|
|||||||
|
|
||||||
## Image
|
## Image
|
||||||
|
|
||||||
The image can be found at `gcr.io/kubernetes-e2e-test-images/agnhost:2.10` for Linux
|
The image can be found at `us.gcr.io/k8s-artifacts-prod/e2e-test-images/agnhost:2.10` for Linux
|
||||||
containers, and `e2eteam/agnhost:2.8` for Windows containers. In the future, the same
|
containers, and `e2eteam/agnhost:2.10` for Windows containers. In the future, the same
|
||||||
repository can be used for both OSes.
|
repository can be used for both OSes.
|
||||||
|
@ -31,6 +31,7 @@ type RegistryList struct {
|
|||||||
DockerLibraryRegistry string `yaml:"dockerLibraryRegistry"`
|
DockerLibraryRegistry string `yaml:"dockerLibraryRegistry"`
|
||||||
DockerGluster string `yaml:"dockerGluster"`
|
DockerGluster string `yaml:"dockerGluster"`
|
||||||
E2eRegistry string `yaml:"e2eRegistry"`
|
E2eRegistry string `yaml:"e2eRegistry"`
|
||||||
|
PromoterE2eRegistry string `yaml:"promoterE2eRegistry"`
|
||||||
InvalidRegistry string `yaml:"invalidRegistry"`
|
InvalidRegistry string `yaml:"invalidRegistry"`
|
||||||
GcRegistry string `yaml:"gcRegistry"`
|
GcRegistry string `yaml:"gcRegistry"`
|
||||||
GcrReleaseRegistry string `yaml:"gcrReleaseRegistry"`
|
GcrReleaseRegistry string `yaml:"gcrReleaseRegistry"`
|
||||||
@ -69,6 +70,7 @@ func initReg() RegistryList {
|
|||||||
DockerLibraryRegistry: "docker.io/library",
|
DockerLibraryRegistry: "docker.io/library",
|
||||||
DockerGluster: "docker.io/gluster",
|
DockerGluster: "docker.io/gluster",
|
||||||
E2eRegistry: "gcr.io/kubernetes-e2e-test-images",
|
E2eRegistry: "gcr.io/kubernetes-e2e-test-images",
|
||||||
|
PromoterE2eRegistry: "us.gcr.io/k8s-artifacts-prod/e2e-test-images",
|
||||||
InvalidRegistry: "invalid.com/invalid",
|
InvalidRegistry: "invalid.com/invalid",
|
||||||
GcRegistry: "k8s.gcr.io",
|
GcRegistry: "k8s.gcr.io",
|
||||||
GcrReleaseRegistry: "gcr.io/gke-release",
|
GcrReleaseRegistry: "gcr.io/gke-release",
|
||||||
@ -100,6 +102,7 @@ var (
|
|||||||
dockerLibraryRegistry = registry.DockerLibraryRegistry
|
dockerLibraryRegistry = registry.DockerLibraryRegistry
|
||||||
dockerGluster = registry.DockerGluster
|
dockerGluster = registry.DockerGluster
|
||||||
e2eRegistry = registry.E2eRegistry
|
e2eRegistry = registry.E2eRegistry
|
||||||
|
promoterE2eRegistry = registry.PromoterE2eRegistry
|
||||||
gcAuthenticatedRegistry = registry.GcAuthenticatedRegistry
|
gcAuthenticatedRegistry = registry.GcAuthenticatedRegistry
|
||||||
gcRegistry = registry.GcRegistry
|
gcRegistry = registry.GcRegistry
|
||||||
gcrReleaseRegistry = registry.GcrReleaseRegistry
|
gcrReleaseRegistry = registry.GcrReleaseRegistry
|
||||||
@ -187,14 +190,10 @@ const (
|
|||||||
RegressionIssue74839
|
RegressionIssue74839
|
||||||
// ResourceConsumer image
|
// ResourceConsumer image
|
||||||
ResourceConsumer
|
ResourceConsumer
|
||||||
// ResourceController image
|
|
||||||
ResourceController
|
|
||||||
// SdDummyExporter image
|
// SdDummyExporter image
|
||||||
SdDummyExporter
|
SdDummyExporter
|
||||||
// StartupScript image
|
// StartupScript image
|
||||||
StartupScript
|
StartupScript
|
||||||
// TestWebserver image
|
|
||||||
TestWebserver
|
|
||||||
// VolumeNFSServer image
|
// VolumeNFSServer image
|
||||||
VolumeNFSServer
|
VolumeNFSServer
|
||||||
// VolumeISCSIServer image
|
// VolumeISCSIServer image
|
||||||
@ -207,7 +206,7 @@ const (
|
|||||||
|
|
||||||
func initImageConfigs() map[int]Config {
|
func initImageConfigs() map[int]Config {
|
||||||
configs := map[int]Config{}
|
configs := map[int]Config{}
|
||||||
configs[Agnhost] = Config{e2eRegistry, "agnhost", "2.8"}
|
configs[Agnhost] = Config{promoterE2eRegistry, "agnhost", "2.10"}
|
||||||
configs[AgnhostPrivate] = Config{PrivateRegistry, "agnhost", "2.6"}
|
configs[AgnhostPrivate] = Config{PrivateRegistry, "agnhost", "2.6"}
|
||||||
configs[AuthenticatedAlpine] = Config{gcAuthenticatedRegistry, "alpine", "3.7"}
|
configs[AuthenticatedAlpine] = Config{gcAuthenticatedRegistry, "alpine", "3.7"}
|
||||||
configs[AuthenticatedWindowsNanoServer] = Config{gcAuthenticatedRegistry, "windows-nanoserver", "v1"}
|
configs[AuthenticatedWindowsNanoServer] = Config{gcAuthenticatedRegistry, "windows-nanoserver", "v1"}
|
||||||
@ -243,10 +242,8 @@ func initImageConfigs() map[int]Config {
|
|||||||
configs[Redis] = Config{dockerLibraryRegistry, "redis", "5.0.5-alpine"}
|
configs[Redis] = Config{dockerLibraryRegistry, "redis", "5.0.5-alpine"}
|
||||||
configs[RegressionIssue74839] = Config{e2eRegistry, "regression-issue-74839-amd64", "1.0"}
|
configs[RegressionIssue74839] = Config{e2eRegistry, "regression-issue-74839-amd64", "1.0"}
|
||||||
configs[ResourceConsumer] = Config{e2eRegistry, "resource-consumer", "1.5"}
|
configs[ResourceConsumer] = Config{e2eRegistry, "resource-consumer", "1.5"}
|
||||||
configs[ResourceController] = Config{e2eRegistry, "resource-consumer-controller", "1.0"}
|
|
||||||
configs[SdDummyExporter] = Config{gcRegistry, "sd-dummy-exporter", "v0.2.0"}
|
configs[SdDummyExporter] = Config{gcRegistry, "sd-dummy-exporter", "v0.2.0"}
|
||||||
configs[StartupScript] = Config{googleContainerRegistry, "startup-script", "v1"}
|
configs[StartupScript] = Config{googleContainerRegistry, "startup-script", "v1"}
|
||||||
configs[TestWebserver] = Config{e2eRegistry, "test-webserver", "1.0"}
|
|
||||||
configs[VolumeNFSServer] = Config{e2eRegistry, "volume/nfs", "1.0"}
|
configs[VolumeNFSServer] = Config{e2eRegistry, "volume/nfs", "1.0"}
|
||||||
configs[VolumeISCSIServer] = Config{e2eRegistry, "volume/iscsi", "2.0"}
|
configs[VolumeISCSIServer] = Config{e2eRegistry, "volume/iscsi", "2.0"}
|
||||||
configs[VolumeGlusterServer] = Config{e2eRegistry, "volume/gluster", "1.0"}
|
configs[VolumeGlusterServer] = Config{e2eRegistry, "volume/gluster", "1.0"}
|
||||||
|
Loading…
Reference in New Issue
Block a user