Port Guestbook tests to mutiarch

This commit is contained in:
Manjunath A Kumatagi 2017-09-09 11:18:38 +05:30
parent 42e2ca8c18
commit 96c0945e69
8 changed files with 144 additions and 14 deletions

View File

@ -99,21 +99,21 @@ var (
) )
var testImages = struct { var testImages = struct {
FrontendImage string GBFrontendImage string
PauseImage string PauseImage string
NginxSlimImage string NginxSlimImage string
NginxSlimNewImage string NginxSlimNewImage string
RedisImage string RedisImage string
RedisslaveImage string GBRedisSlaveImage string
NautilusImage string NautilusImage string
KittenImage string KittenImage string
}{ }{
imageutils.GetE2EImage(imageutils.Frontend), imageutils.GetE2EImage(imageutils.GBFrontend),
imageutils.GetE2EImage(imageutils.Pause), imageutils.GetE2EImage(imageutils.Pause),
imageutils.GetE2EImage(imageutils.NginxSlim), imageutils.GetE2EImage(imageutils.NginxSlim),
imageutils.GetE2EImage(imageutils.NginxSlimNew), imageutils.GetE2EImage(imageutils.NginxSlimNew),
imageutils.GetE2EImage(imageutils.Redis), imageutils.GetE2EImage(imageutils.Redis),
imageutils.GetE2EImage(imageutils.Redisslave), imageutils.GetE2EImage(imageutils.GBRedisSlave),
imageutils.GetE2EImage(imageutils.Nautilus), imageutils.GetE2EImage(imageutils.Nautilus),
imageutils.GetE2EImage(imageutils.Kitten), imageutils.GetE2EImage(imageutils.Kitten),
} }
@ -340,16 +340,17 @@ var _ = SIGDescribe("Kubectl client", func() {
framework.KubeDescribe("Guestbook application", func() { framework.KubeDescribe("Guestbook application", func() {
forEachGBFile := func(run func(s string)) { forEachGBFile := func(run func(s string)) {
guestbookRoot := "test/e2e/testing-manifests/guestbook"
for _, gbAppFile := range []string{ for _, gbAppFile := range []string{
"examples/guestbook/frontend-deployment.yaml", "frontend-deployment.yaml.in",
"examples/guestbook/frontend-service.yaml", "frontend-service.yaml",
"examples/guestbook/redis-master-deployment.yaml", "redis-master-deployment.yaml.in",
"examples/guestbook/redis-master-service.yaml", "redis-master-service.yaml",
"examples/guestbook/redis-slave-deployment.yaml", "redis-slave-deployment.yaml.in",
"examples/guestbook/redis-slave-service.yaml", "redis-slave-service.yaml",
} { } {
contents := generated.ReadOrDie(gbAppFile) contents := substituteImageName(string(generated.ReadOrDie(filepath.Join(guestbookRoot, gbAppFile))))
run(string(contents)) run(contents)
} }
} }

View File

@ -0,0 +1,29 @@
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: frontend
spec:
replicas: 3
template:
metadata:
labels:
app: guestbook
tier: frontend
spec:
containers:
- name: php-redis
image: {{.GBFrontendImage}}
resources:
requests:
cpu: 100m
memory: 100Mi
env:
- name: GET_HOSTS_FROM
value: dns
# If your cluster config does not include a dns service, then to
# instead access environment variables to find service host
# info, comment out the 'value: dns' line above, and uncomment the
# line below:
# value: env
ports:
- containerPort: 80

View File

@ -0,0 +1,16 @@
apiVersion: v1
kind: Service
metadata:
name: frontend
labels:
app: guestbook
tier: frontend
spec:
# if your cluster supports it, uncomment the following to automatically create
# an external load-balanced IP for the frontend service.
# type: LoadBalancer
ports:
- port: 80
selector:
app: guestbook
tier: frontend

View File

@ -0,0 +1,22 @@
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: redis-master
spec:
replicas: 1
template:
metadata:
labels:
app: redis
role: master
tier: backend
spec:
containers:
- name: master
image: {{.RedisImage}}
resources:
requests:
cpu: 100m
memory: 100Mi
ports:
- containerPort: 6379

View File

@ -0,0 +1,16 @@
apiVersion: v1
kind: Service
metadata:
name: redis-master
labels:
app: redis
role: master
tier: backend
spec:
ports:
- port: 6379
targetPort: 6379
selector:
app: redis
role: master
tier: backend

View File

@ -0,0 +1,30 @@
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: redis-slave
spec:
replicas: 2
template:
metadata:
labels:
app: redis
role: slave
tier: backend
spec:
containers:
- name: slave
image: {{.GBRedisSlaveImage}}
resources:
requests:
cpu: 100m
memory: 100Mi
env:
- name: GET_HOSTS_FROM
value: dns
# If your cluster config does not include a dns service, then to
# instead access an environment variable to find the master
# service's host, comment out the 'value: dns' line above, and
# uncomment the line below:
# value: env
ports:
- containerPort: 6379

View File

@ -0,0 +1,15 @@
apiVersion: v1
kind: Service
metadata:
name: redis-slave
labels:
app: redis
role: slave
tier: backend
spec:
ports:
- port: 6379
selector:
app: redis
role: slave
tier: backend

View File

@ -25,6 +25,7 @@ const (
e2eRegistry = "gcr.io/kubernetes-e2e-test-images" e2eRegistry = "gcr.io/kubernetes-e2e-test-images"
gcRegistry = "gcr.io/google-containers" gcRegistry = "gcr.io/google-containers"
PrivateRegistry = "gcr.io/k8s-authenticated-test" PrivateRegistry = "gcr.io/k8s-authenticated-test"
sampleRegistry = "gcr.io/google-samples"
) )
type ImageConfig struct { type ImageConfig struct {
@ -51,7 +52,8 @@ var (
Dnsutils = ImageConfig{e2eRegistry, "dnsutils", "1.0"} Dnsutils = ImageConfig{e2eRegistry, "dnsutils", "1.0"}
EntrypointTester = ImageConfig{e2eRegistry, "entrypoint-tester", "1.0"} EntrypointTester = ImageConfig{e2eRegistry, "entrypoint-tester", "1.0"}
Fakegitserver = ImageConfig{e2eRegistry, "fakegitserver", "1.0"} Fakegitserver = ImageConfig{e2eRegistry, "fakegitserver", "1.0"}
Frontend = ImageConfig{e2eRegistry, "frontend", "1.0"} GBFrontend = ImageConfig{sampleRegistry, "gb-frontend", "v5"}
GBRedisSlave = ImageConfig{sampleRegistry, "gb-redisslave", "v2"}
Goproxy = ImageConfig{e2eRegistry, "goproxy", "1.0"} Goproxy = ImageConfig{e2eRegistry, "goproxy", "1.0"}
Hostexec = ImageConfig{e2eRegistry, "hostexec", "1.0"} Hostexec = ImageConfig{e2eRegistry, "hostexec", "1.0"}
Iperf = ImageConfig{e2eRegistry, "iperf", "1.0"} Iperf = ImageConfig{e2eRegistry, "iperf", "1.0"}
@ -74,7 +76,6 @@ var (
Porter = ImageConfig{e2eRegistry, "porter", "1.0"} Porter = ImageConfig{e2eRegistry, "porter", "1.0"}
PortForwardTester = ImageConfig{e2eRegistry, "port-forward-tester", "1.0"} PortForwardTester = ImageConfig{e2eRegistry, "port-forward-tester", "1.0"}
Redis = ImageConfig{e2eRegistry, "redis", "1.0"} Redis = ImageConfig{e2eRegistry, "redis", "1.0"}
Redisslave = ImageConfig{e2eRegistry, "redis-slave", "1.0"}
ResourceConsumer = ImageConfig{e2eRegistry, "resource-consumer", "1.1"} ResourceConsumer = ImageConfig{e2eRegistry, "resource-consumer", "1.1"}
ResourceController = ImageConfig{e2eRegistry, "resource-consumer/controller", "1.0"} ResourceController = ImageConfig{e2eRegistry, "resource-consumer/controller", "1.0"}
ServeHostname = ImageConfig{e2eRegistry, "serve-hostname", "1.0"} ServeHostname = ImageConfig{e2eRegistry, "serve-hostname", "1.0"}