Skip to content

Commit e9769a8

Browse files
committed
replacing mssql with multi-arch mysql
1 parent 726af63 commit e9769a8

File tree

4 files changed

+291
-17
lines changed

4 files changed

+291
-17
lines changed

tests/e2e/backup_restore_suite_test.go

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -49,16 +49,16 @@ var _ = Describe("AWS backup restore tests", func() {
4949
Eventually(IsDCReady(ocClient, "parks-app", "restify"), timeoutMultiplier*time.Minute*10, time.Second*10).Should(BeTrue())
5050
return nil
5151
})
52-
mssqlReady := VerificationFunction(func(ocClient client.Client, namespace string) error {
52+
mysqlReady := VerificationFunction(func(ocClient client.Client, namespace string) error {
5353
// This test confirms that SCC restore logic in our plugin is working
54-
Eventually(IsDCReady(ocClient, "mssql-persistent", "mssql-deployment"), timeoutMultiplier*time.Minute*10, time.Second*10).Should(BeTrue())
55-
Eventually(IsDeploymentReady(ocClient, "mssql-persistent", "mssql-app-deployment"), timeoutMultiplier*time.Minute*10, time.Second*10).Should(BeTrue())
56-
exists, err := DoesSCCExist(ocClient, "mssql-persistent-scc")
54+
//Eventually(IsDCReady(ocClient, "mssql-persistent", "mysql"), timeoutMultiplier*time.Minute*10, time.Second*10).Should(BeTrue())
55+
Eventually(IsDeploymentReady(ocClient, "mysql-persistent", "mysql"), timeoutMultiplier*time.Minute*10, time.Second*10).Should(BeTrue())
56+
exists, err := DoesSCCExist(ocClient, "mysql-persistent-scc")
5757
if err != nil {
5858
return err
5959
}
6060
if !exists {
61-
return errors.New("did not find MSSQL scc")
61+
return errors.New("did not find MYSQL scc")
6262
}
6363
return nil
6464
})
@@ -168,13 +168,13 @@ var _ = Describe("AWS backup restore tests", func() {
168168
}
169169

170170
},
171-
Entry("MSSQL application CSI", Label("aws"), BackupRestoreCase{
172-
ApplicationTemplate: "./sample-applications/mssql-persistent/mssql-persistent-csi-template.yaml",
173-
ApplicationNamespace: "mssql-persistent",
174-
Name: "mssql-e2e",
171+
Entry("MySQL application CSI", Label("aws"), BackupRestoreCase{
172+
ApplicationTemplate: "./sample-applications/mysql-persisten/mysql-persistent-csi-template.yaml",
173+
ApplicationNamespace: "mysql-persistent",
174+
Name: "mysql-e2e",
175175
BackupRestoreType: CSI,
176-
PreBackupVerify: mssqlReady,
177-
PostRestoreVerify: mssqlReady,
176+
PreBackupVerify: mysqlReady,
177+
PostRestoreVerify: mysqlReady,
178178
}, nil),
179179
Entry("Parks application <4.8.0", BackupRestoreCase{
180180
ApplicationTemplate: "./sample-applications/parks-app/manifest.yaml",
@@ -185,13 +185,13 @@ var _ = Describe("AWS backup restore tests", func() {
185185
PostRestoreVerify: parksAppReady,
186186
MaxK8SVersion: &K8sVersionOcp47,
187187
}, nil),
188-
Entry("MSSQL application", BackupRestoreCase{
189-
ApplicationTemplate: "./sample-applications/mssql-persistent/mssql-persistent-template.yaml",
190-
ApplicationNamespace: "mssql-persistent",
191-
Name: "mssql-e2e",
188+
Entry("MySQL application", BackupRestoreCase{
189+
ApplicationTemplate: "./sample-applications/mysql-persistent/mysql-persistent-template.yaml",
190+
ApplicationNamespace: "mysql-persistent",
191+
Name: "mysql-e2e",
192192
BackupRestoreType: RESTIC,
193-
PreBackupVerify: mssqlReady,
194-
PostRestoreVerify: mssqlReady,
193+
PreBackupVerify: mysqlReady,
194+
PostRestoreVerify: mysqlReady,
195195
}, nil),
196196
Entry("Parks application >=4.8.0", BackupRestoreCase{
197197
ApplicationTemplate: "./sample-applications/parks-app/manifest4.8.yaml",

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ items:
3636
resources:
3737
requests:
3838
storage: 10Gi
39+
storageClassName: gp2
3940
- kind: SecurityContextConstraints
4041
apiVersion: security.openshift.io/v1
4142
metadata:
Lines changed: 137 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,137 @@
1+
apiVersion: v1
2+
kind: List
3+
items:
4+
- kind: Namespace
5+
apiVersion: v1
6+
metadata:
7+
name: mysql-persistent
8+
labels:
9+
app: mysql
10+
- apiVersion: v1
11+
kind: PersistentVolumeClaim
12+
metadata:
13+
name: mysql
14+
namespace: mysql-persistent
15+
labels:
16+
app: mysql
17+
spec:
18+
accessModes:
19+
- ReadWriteOnce
20+
storageClassName: gp2-csi
21+
resources:
22+
requests:
23+
storage: 1Gi
24+
- apiVersion: v1
25+
kind: ServiceAccount
26+
metadata:
27+
name: mysql-persistent-sa
28+
namespace: mysql-persistent
29+
labels:
30+
component: mysql-persistent
31+
- kind: SecurityContextConstraints
32+
apiVersion: security.openshift.io/v1
33+
metadata:
34+
name: mysql-persistent-scc
35+
allowPrivilegeEscalation: true
36+
allowPrivilegedContainer: true
37+
runAsUser:
38+
type: RunAsAny
39+
seLinuxContext:
40+
type: RunAsAny
41+
fsGroup:
42+
type: RunAsAny
43+
supplementalGroups:
44+
type: RunAsAny
45+
volumes:
46+
- '*'
47+
users:
48+
- system:admin
49+
- 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
62+
- apiVersion: v1
63+
kind: Service
64+
metadata:
65+
annotations:
66+
template.openshift.io/expose-uri: mysql://{.spec.clusterIP}:{.spec.ports[?(.name=="mysql")].port}
67+
name: mysql
68+
namespace: mysql-persistent
69+
labels:
70+
app: mysql
71+
spec:
72+
ports:
73+
- name: mysql
74+
port: 3306
75+
selector:
76+
name: mysql
77+
- apiVersion: apps/v1
78+
kind: Deployment
79+
metadata:
80+
annotations:
81+
template.alpha.openshift.io/wait-for-ready: 'true'
82+
name: mysql
83+
namespace: mysql-persistent
84+
labels:
85+
e2e-app: "true"
86+
spec:
87+
selector:
88+
matchLabels:
89+
app: mysql
90+
strategy:
91+
type: Recreate
92+
template:
93+
metadata:
94+
labels:
95+
e2e-app: "true"
96+
app: mysql
97+
spec:
98+
serviceAccountName: mysql-persistent-sa
99+
containers:
100+
- image: registry.redhat.io/rhel8/mysql-80:latest
101+
name: mysql
102+
securityContext:
103+
privileged: true
104+
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
125+
ports:
126+
- containerPort: 3306
127+
name: mysql
128+
resources:
129+
limits:
130+
memory: 512Mi
131+
volumeMounts:
132+
- name: mysql-data
133+
mountPath: /var/lib/mysql
134+
volumes:
135+
- name: mysql-data
136+
persistentVolumeClaim:
137+
claimName: mysql
Lines changed: 136 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,136 @@
1+
apiVersion: v1
2+
kind: List
3+
items:
4+
- kind: Namespace
5+
apiVersion: v1
6+
metadata:
7+
name: mysql-persistent
8+
labels:
9+
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
17+
- apiVersion: v1
18+
kind: PersistentVolumeClaim
19+
metadata:
20+
name: mysql
21+
namespace: mysql-persistent
22+
labels:
23+
app: mysql
24+
spec:
25+
accessModes:
26+
- ReadWriteOnce
27+
resources:
28+
requests:
29+
storage: 1Gi
30+
- kind: SecurityContextConstraints
31+
apiVersion: security.openshift.io/v1
32+
metadata:
33+
name: mysql-persistent-scc
34+
allowPrivilegeEscalation: true
35+
allowPrivilegedContainer: true
36+
runAsUser:
37+
type: RunAsAny
38+
seLinuxContext:
39+
type: RunAsAny
40+
fsGroup:
41+
type: RunAsAny
42+
supplementalGroups:
43+
type: RunAsAny
44+
volumes:
45+
- '*'
46+
users:
47+
- system:admin
48+
- 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
61+
- apiVersion: v1
62+
kind: Service
63+
metadata:
64+
annotations:
65+
template.openshift.io/expose-uri: mysql://{.spec.clusterIP}:{.spec.ports[?(.name=="mysql")].port}
66+
name: mysql
67+
namespace: mysql-persistent
68+
labels:
69+
app: mysql
70+
spec:
71+
ports:
72+
- name: mysql
73+
port: 3306
74+
selector:
75+
name: mysql
76+
- apiVersion: apps/v1
77+
kind: Deployment
78+
metadata:
79+
annotations:
80+
template.alpha.openshift.io/wait-for-ready: 'true'
81+
name: mysql
82+
namespace: mysql-persistent
83+
labels:
84+
e2e-app: "true"
85+
spec:
86+
selector:
87+
matchLabels:
88+
app: mysql
89+
strategy:
90+
type: Recreate
91+
template:
92+
metadata:
93+
labels:
94+
e2e-app: "true"
95+
app: mysql
96+
spec:
97+
serviceAccountName: mysql-persistent-sa
98+
containers:
99+
- image: registry.redhat.io/rhel8/mysql-80:latest
100+
name: mysql
101+
securityContext:
102+
privileged: true
103+
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
124+
ports:
125+
- containerPort: 3306
126+
name: mysql
127+
resources:
128+
limits:
129+
memory: 512Mi
130+
volumeMounts:
131+
- name: mysql-data
132+
mountPath: /var/lib/mysql
133+
volumes:
134+
- name: mysql-data
135+
persistentVolumeClaim:
136+
claimName: mysql

0 commit comments

Comments
 (0)