Skip to content

Commit 58077a4

Browse files
authored
Fix mysql/maria sample to have a sampleapp and data (#612)
* Fix mysql/maria sample to have a sampleapp and data This should fix issue: #609 This adds a mediawiki app that uses mariadb and has data associated with it. * use todolist app vs. mediawiki * ensure mariadb uses mysql as the meta name * add e2e-app labels * fix mariadb local storage path * remove mediawiki pv, it is not used
1 parent 40e29a3 commit 58077a4

File tree

2 files changed

+167
-85
lines changed

2 files changed

+167
-85
lines changed

tests/e2e/sample-applications/mysql-persistent/mysql-persistent-csi-template.yaml

Lines changed: 87 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,13 @@ items:
77
name: mysql-persistent
88
labels:
99
app: mysql
10+
- apiVersion: v1
11+
kind: ServiceAccount
12+
metadata:
13+
name: mysql-persistent-sa
14+
namespace: mysql-persistent
15+
labels:
16+
component: mysql-persistent
1017
- apiVersion: v1
1118
kind: PersistentVolumeClaim
1219
metadata:
@@ -20,14 +27,7 @@ items:
2027
storageClassName: gp2-csi
2128
resources:
2229
requests:
23-
storage: 2Gi
24-
- apiVersion: v1
25-
kind: ServiceAccount
26-
metadata:
27-
name: mysql-persistent-sa
28-
namespace: mysql-persistent
29-
labels:
30-
component: mysql-persistent
30+
storage: 1Gi
3131
- kind: SecurityContextConstraints
3232
apiVersion: security.openshift.io/v1
3333
metadata:
@@ -47,33 +47,23 @@ items:
4747
users:
4848
- system:admin
4949
- system:serviceaccount:mysql-persistent:mysql-persistent-sa
50-
- apiVersion: v1
51-
kind: Secret
52-
metadata:
53-
name: mysql
54-
namespace: mysql-persistent
55-
labels:
56-
app: mysql
57-
stringData:
58-
database-name: MYSQL_DATABASE
59-
database-password: MYSQL_PASSWORD
60-
database-root-password: MYSQL_ROOT_PASSWORD
61-
database-user: MYSQL_USER
6250
- apiVersion: v1
6351
kind: Service
6452
metadata:
6553
annotations:
66-
template.openshift.io/expose-uri: mysql://{.spec.clusterIP}:{.spec.ports[?(.name=="mysql")].port}
54+
template.openshift.io/expose-uri: mariadb://{.spec.clusterIP}:{.spec.ports[?(.name=="mysql")].port}
6755
name: mysql
6856
namespace: mysql-persistent
6957
labels:
7058
app: mysql
59+
service: mysql
7160
spec:
7261
ports:
73-
- name: mysql
62+
- protocol: TCP
63+
name: mysql
7464
port: 3306
7565
selector:
76-
name: mysql
66+
app: mysql
7767
- apiVersion: apps/v1
7868
kind: Deployment
7969
metadata:
@@ -97,31 +87,19 @@ items:
9787
spec:
9888
serviceAccountName: mysql-persistent-sa
9989
containers:
100-
- image: registry.redhat.io/rhel8/mysql-80:latest
101-
name: mysql
90+
- image: registry.redhat.io/rhel8/mariadb-105:latest
91+
name: mysql
10292
securityContext:
10393
privileged: true
10494
env:
105-
- name: MYSQL_USER
106-
valueFrom:
107-
secretKeyRef:
108-
key: database-user
109-
name: mysql
110-
- name: MYSQL_PASSWORD
111-
valueFrom:
112-
secretKeyRef:
113-
key: database-password
114-
name: mysql
115-
- name: MYSQL_ROOT_PASSWORD
116-
valueFrom:
117-
secretKeyRef:
118-
key: database-root-password
119-
name: mysql
120-
- name: MYSQL_DATABASE
121-
valueFrom:
122-
secretKeyRef:
123-
key: database-name
124-
name: mysql
95+
- name: MYSQL_USER
96+
value: changeme
97+
- name: MYSQL_PASSWORD
98+
value: changeme
99+
- name: MYSQL_ROOT_PASSWORD
100+
value: root
101+
- name: MYSQL_DATABASE
102+
value: todolist
125103
ports:
126104
- containerPort: 3306
127105
name: mysql
@@ -134,4 +112,67 @@ items:
134112
volumes:
135113
- name: mysql-data
136114
persistentVolumeClaim:
137-
claimName: mysql
115+
claimName: mysql
116+
- apiVersion: v1
117+
kind: Service
118+
metadata:
119+
name: todolist
120+
namespace: mysql-persistent
121+
labels:
122+
app: todolist
123+
service: todolist
124+
e2e-app: "true"
125+
spec:
126+
ports:
127+
- name: web
128+
port: 8000
129+
targetPort: 8000
130+
selector:
131+
app: todolist
132+
service: todolist
133+
- apiVersion: apps.openshift.io/v1
134+
kind: DeploymentConfig
135+
metadata:
136+
name: todolist
137+
namespace: mysql-persistent
138+
labels:
139+
app: todolist
140+
service: todolist
141+
e2e-app: "true"
142+
spec:
143+
replicas: 1
144+
selector:
145+
app: todolist
146+
service: todolist
147+
strategy:
148+
type: Recreate
149+
template:
150+
metadata:
151+
labels:
152+
app: todolist
153+
service: todolist
154+
e2e-app: "true"
155+
spec:
156+
containers:
157+
- name: todolist
158+
image: quay.io/rhn_engineering_whayutin/todolist-mariadb-go:latest
159+
env:
160+
- name: foo
161+
value: bar
162+
ports:
163+
- containerPort: 8000
164+
protocol: TCP
165+
initContainers:
166+
- name: init-myservice
167+
image: registry.access.redhat.com/ubi8/ubi:latest
168+
command: ['sh', '-c', 'sleep 10; until getent hosts mysql; do echo waiting for mysql; sleep 5; done;']
169+
- apiVersion: route.openshift.io/v1
170+
kind: Route
171+
metadata:
172+
name: todolist-route
173+
namespace: mysql-persistent
174+
spec:
175+
path: "/"
176+
to:
177+
kind: Service
178+
name: todolist

tests/e2e/sample-applications/mysql-persistent/mysql-persistent-template.yaml

Lines changed: 80 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ items:
2626
- ReadWriteOnce
2727
resources:
2828
requests:
29-
storage: 2Gi
29+
storage: 1Gi
3030
- kind: SecurityContextConstraints
3131
apiVersion: security.openshift.io/v1
3232
metadata:
@@ -46,33 +46,23 @@ items:
4646
users:
4747
- system:admin
4848
- system:serviceaccount:mysql-persistent:mysql-persistent-sa
49-
- apiVersion: v1
50-
kind: Secret
51-
metadata:
52-
name: mysql
53-
namespace: mysql-persistent
54-
labels:
55-
app: mysql
56-
stringData:
57-
database-name: MYSQL_DATABASE
58-
database-password: MYSQL_PASSWORD
59-
database-root-password: MYSQL_ROOT_PASSWORD
60-
database-user: MYSQL_USER
6149
- apiVersion: v1
6250
kind: Service
6351
metadata:
6452
annotations:
65-
template.openshift.io/expose-uri: mysql://{.spec.clusterIP}:{.spec.ports[?(.name=="mysql")].port}
53+
template.openshift.io/expose-uri: mariadb://{.spec.clusterIP}:{.spec.ports[?(.name=="mysql")].port}
6654
name: mysql
6755
namespace: mysql-persistent
6856
labels:
6957
app: mysql
58+
service: mysql
7059
spec:
7160
ports:
72-
- name: mysql
61+
- protocol: TCP
62+
name: mysql
7363
port: 3306
7464
selector:
75-
name: mysql
65+
app: mysql
7666
- apiVersion: apps/v1
7767
kind: Deployment
7868
metadata:
@@ -96,31 +86,19 @@ items:
9686
spec:
9787
serviceAccountName: mysql-persistent-sa
9888
containers:
99-
- image: registry.redhat.io/rhel8/mysql-80:latest
100-
name: mysql
89+
- image: registry.redhat.io/rhel8/mariadb-105:latest
90+
name: mysql
10191
securityContext:
10292
privileged: true
10393
env:
104-
- name: MYSQL_USER
105-
valueFrom:
106-
secretKeyRef:
107-
key: database-user
108-
name: mysql
109-
- name: MYSQL_PASSWORD
110-
valueFrom:
111-
secretKeyRef:
112-
key: database-password
113-
name: mysql
114-
- name: MYSQL_ROOT_PASSWORD
115-
valueFrom:
116-
secretKeyRef:
117-
key: database-root-password
118-
name: mysql
119-
- name: MYSQL_DATABASE
120-
valueFrom:
121-
secretKeyRef:
122-
key: database-name
123-
name: mysql
94+
- name: MYSQL_USER
95+
value: changeme
96+
- name: MYSQL_PASSWORD
97+
value: changeme
98+
- name: MYSQL_ROOT_PASSWORD
99+
value: root
100+
- name: MYSQL_DATABASE
101+
value: todolist
124102
ports:
125103
- containerPort: 3306
126104
name: mysql
@@ -133,4 +111,67 @@ items:
133111
volumes:
134112
- name: mysql-data
135113
persistentVolumeClaim:
136-
claimName: mysql
114+
claimName: mysql
115+
- apiVersion: v1
116+
kind: Service
117+
metadata:
118+
name: todolist
119+
namespace: mysql-persistent
120+
labels:
121+
app: todolist
122+
service: todolist
123+
e2e-app: "true"
124+
spec:
125+
ports:
126+
- name: web
127+
port: 8000
128+
targetPort: 8000
129+
selector:
130+
app: todolist
131+
service: todolist
132+
- apiVersion: apps.openshift.io/v1
133+
kind: DeploymentConfig
134+
metadata:
135+
name: todolist
136+
namespace: mysql-persistent
137+
labels:
138+
app: todolist
139+
service: todolist
140+
e2e-app: "true"
141+
spec:
142+
replicas: 1
143+
selector:
144+
app: todolist
145+
service: todolist
146+
strategy:
147+
type: Recreate
148+
template:
149+
metadata:
150+
labels:
151+
app: todolist
152+
service: todolist
153+
e2e-app: "true"
154+
spec:
155+
containers:
156+
- name: todolist
157+
image: quay.io/rhn_engineering_whayutin/todolist-mariadb-go:latest
158+
env:
159+
- name: foo
160+
value: bar
161+
ports:
162+
- containerPort: 8000
163+
protocol: TCP
164+
initContainers:
165+
- name: init-myservice
166+
image: registry.access.redhat.com/ubi8/ubi:latest
167+
command: ['sh', '-c', 'sleep 10; until getent hosts mysql; do echo waiting for mysql; sleep 5; done;']
168+
- apiVersion: route.openshift.io/v1
169+
kind: Route
170+
metadata:
171+
name: todolist-route
172+
namespace: mysql-persistent
173+
spec:
174+
path: "/"
175+
to:
176+
kind: Service
177+
name: todolist

0 commit comments

Comments
 (0)