Skip to content

Commit 58d822a

Browse files
authored
Merge pull request #447 from runkecheng/feature_use_cm_save_xenon_metadata
*: Save Xenon's metadata to config map.
2 parents 1c9ddb8 + 458143b commit 58d822a

File tree

18 files changed

+245
-103
lines changed

18 files changed

+245
-103
lines changed

controllers/mysqlcluster_controller.go

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -99,8 +99,8 @@ func (r *MysqlClusterReconciler) Reconcile(ctx context.Context, req ctrl.Request
9999
}
100100
}()
101101

102-
configMapSyncer := clustersyncer.NewConfigMapSyncer(r.Client, instance)
103-
if err = syncer.Sync(ctx, configMapSyncer, r.Recorder); err != nil {
102+
mysqlCMSyncer := clustersyncer.NewMysqlCMSyncer(r.Client, instance)
103+
if err = syncer.Sync(ctx, mysqlCMSyncer, r.Recorder); err != nil {
104104
return ctrl.Result{}, err
105105
}
106106

@@ -109,7 +109,8 @@ func (r *MysqlClusterReconciler) Reconcile(ctx context.Context, req ctrl.Request
109109
return ctrl.Result{}, err
110110
}
111111

112-
cmRev := configMapSyncer.Object().(*corev1.ConfigMap).ResourceVersion
112+
// Todo: modify mysql cm will trigger rolling update but it will not be applied.
113+
cmRev := mysqlCMSyncer.Object().(*corev1.ConfigMap).ResourceVersion
113114
sctRev := secretSyncer.Object().(*corev1.Secret).ResourceVersion
114115

115116
r.XenonExecutor.SetRootPassword(instance.Spec.MysqlOpts.RootPassword)
@@ -124,6 +125,7 @@ func (r *MysqlClusterReconciler) Reconcile(ctx context.Context, req ctrl.Request
124125
clustersyncer.NewFollowerSVCSyncer(r.Client, instance),
125126
clustersyncer.NewStatefulSetSyncer(r.Client, instance, cmRev, sctRev, r.SQLRunnerFactory, r.XenonExecutor),
126127
clustersyncer.NewPDBSyncer(r.Client, instance),
128+
clustersyncer.NewXenonCMSyncer(r.Client, instance),
127129
}
128130

129131
if instance.Spec.MetricsOpts.Enabled {

mysqlcluster/container/backup.go

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -128,13 +128,12 @@ func (c *backupSidecar) getReadinessProbe() *corev1.Probe {
128128
func (c *backupSidecar) getVolumeMounts() []corev1.VolumeMount {
129129
return []corev1.VolumeMount{
130130
{
131-
Name: utils.ConfVolumeName,
132-
MountPath: utils.ConfVolumeMountPath,
131+
Name: utils.MysqlConfVolumeName,
132+
MountPath: utils.MysqlConfVolumeMountPath,
133133
},
134134
{
135135
Name: utils.DataVolumeName,
136136
MountPath: utils.DataVolumeMountPath,
137-
SubPath: utils.MysqlDataSubPath,
138137
},
139138
{
140139
Name: utils.LogsVolumeName,

mysqlcluster/container/init_mysql.go

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -110,13 +110,12 @@ func (c *initMysql) getReadinessProbe() *corev1.Probe {
110110
func (c *initMysql) getVolumeMounts() []corev1.VolumeMount {
111111
return []corev1.VolumeMount{
112112
{
113-
Name: utils.ConfVolumeName,
114-
MountPath: utils.ConfVolumeMountPath,
113+
Name: utils.MysqlConfVolumeName,
114+
MountPath: utils.MysqlConfVolumeMountPath,
115115
},
116116
{
117117
Name: utils.DataVolumeName,
118118
MountPath: utils.DataVolumeMountPath,
119-
SubPath: utils.MysqlDataSubPath,
120119
},
121120
{
122121
Name: utils.LogsVolumeName,

mysqlcluster/container/init_mysql_test.go

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -53,13 +53,12 @@ var (
5353
}
5454
initMysqlVolumeMounts = []corev1.VolumeMount{
5555
{
56-
Name: utils.ConfVolumeName,
57-
MountPath: utils.ConfVolumeMountPath,
56+
Name: utils.MysqlConfVolumeName,
57+
MountPath: utils.MysqlConfVolumeMountPath,
5858
},
5959
{
6060
Name: utils.DataVolumeName,
6161
MountPath: utils.DataVolumeMountPath,
62-
SubPath: utils.MysqlDataSubPath,
6362
},
6463
{
6564
Name: utils.LogsVolumeName,

mysqlcluster/container/init_sidecar.go

Lines changed: 14 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -163,20 +163,28 @@ func (c *initSidecar) getReadinessProbe() *corev1.Probe {
163163
func (c *initSidecar) getVolumeMounts() []corev1.VolumeMount {
164164
volumeMounts := []corev1.VolumeMount{
165165
{
166-
Name: utils.ConfVolumeName,
167-
MountPath: utils.ConfVolumeMountPath,
166+
Name: utils.MysqlConfVolumeName,
167+
MountPath: utils.MysqlConfVolumeMountPath,
168168
},
169169
{
170-
Name: utils.ConfMapVolumeName,
171-
MountPath: utils.ConfMapVolumeMountPath,
170+
Name: utils.MysqlCMVolumeName,
171+
MountPath: utils.MysqlCMVolumeMountPath,
172+
},
173+
{
174+
Name: utils.XenonCMVolumeName,
175+
MountPath: utils.XenonCMVolumeMountPath,
176+
},
177+
{
178+
Name: utils.XenonMetaVolumeName,
179+
MountPath: utils.XenonMetaVolumeMountPath,
172180
},
173181
{
174182
Name: utils.ScriptsVolumeName,
175183
MountPath: utils.ScriptsVolumeMountPath,
176184
},
177185
{
178-
Name: utils.XenonVolumeName,
179-
MountPath: utils.XenonVolumeMountPath,
186+
Name: utils.XenonConfVolumeName,
187+
MountPath: utils.XenonConfVolumeMountPath,
180188
},
181189
{
182190
Name: utils.InitFileVolumeName,
@@ -202,12 +210,6 @@ func (c *initSidecar) getVolumeMounts() []corev1.VolumeMount {
202210
corev1.VolumeMount{
203211
Name: utils.DataVolumeName,
204212
MountPath: utils.DataVolumeMountPath,
205-
SubPath: utils.MysqlDataSubPath,
206-
},
207-
corev1.VolumeMount{
208-
Name: utils.DataVolumeName,
209-
MountPath: utils.XenonDataVolumeMountPath,
210-
SubPath: utils.XenonDataSubPath,
211213
},
212214
)
213215
}

mysqlcluster/container/init_sidecar_test.go

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -272,20 +272,28 @@ var (
272272
}
273273
defaultInitsidecarVolumeMounts = []corev1.VolumeMount{
274274
{
275-
Name: utils.ConfVolumeName,
276-
MountPath: utils.ConfVolumeMountPath,
275+
Name: utils.MysqlConfVolumeName,
276+
MountPath: utils.MysqlConfVolumeMountPath,
277277
},
278278
{
279-
Name: utils.ConfMapVolumeName,
280-
MountPath: utils.ConfMapVolumeMountPath,
279+
Name: utils.MysqlCMVolumeName,
280+
MountPath: utils.MysqlCMVolumeMountPath,
281+
},
282+
{
283+
Name: utils.XenonCMVolumeName,
284+
MountPath: utils.XenonCMVolumeMountPath,
285+
},
286+
{
287+
Name: utils.XenonMetaVolumeName,
288+
MountPath: utils.XenonMetaVolumeMountPath,
281289
},
282290
{
283291
Name: utils.ScriptsVolumeName,
284292
MountPath: utils.ScriptsVolumeMountPath,
285293
},
286294
{
287-
Name: utils.XenonVolumeName,
288-
MountPath: utils.XenonVolumeMountPath,
295+
Name: utils.XenonConfVolumeName,
296+
MountPath: utils.XenonConfVolumeMountPath,
289297
},
290298
{
291299
Name: utils.InitFileVolumeName,
@@ -437,7 +445,7 @@ func TestGetInitSidecarVolumeMounts(t *testing.T) {
437445
MysqlCluster: &testToKuDBMysqlCluster,
438446
}
439447
tokudbCase := EnsureContainer("init-sidecar", &testTokuDBCluster)
440-
tokuDBVolumeMounts := make([]corev1.VolumeMount, 6, 7)
448+
tokuDBVolumeMounts := make([]corev1.VolumeMount, 8, 9)
441449
copy(tokuDBVolumeMounts, defaultInitsidecarVolumeMounts)
442450
tokuDBVolumeMounts = append(tokuDBVolumeMounts, corev1.VolumeMount{
443451
Name: utils.SysVolumeName,
@@ -453,20 +461,12 @@ func TestGetInitSidecarVolumeMounts(t *testing.T) {
453461
MysqlCluster: &testPersistenceMysqlCluster,
454462
}
455463
persistenceCase := EnsureContainer("init-sidecar", &testPersistenceCluster)
456-
persistenceVolumeMounts := make([]corev1.VolumeMount, 6, 7)
464+
persistenceVolumeMounts := make([]corev1.VolumeMount, 8, 9)
457465
copy(persistenceVolumeMounts, defaultInitsidecarVolumeMounts)
458-
persistenceVolumeMounts = append(persistenceVolumeMounts,
459-
corev1.VolumeMount{
460-
Name: utils.DataVolumeName,
461-
MountPath: utils.DataVolumeMountPath,
462-
SubPath: utils.MysqlDataSubPath,
463-
},
464-
corev1.VolumeMount{
465-
Name: utils.DataVolumeName,
466-
MountPath: utils.XenonDataVolumeMountPath,
467-
SubPath: utils.XenonDataSubPath,
468-
},
469-
)
466+
persistenceVolumeMounts = append(persistenceVolumeMounts, corev1.VolumeMount{
467+
Name: utils.DataVolumeName,
468+
MountPath: utils.DataVolumeMountPath,
469+
})
470470
assert.Equal(t, persistenceVolumeMounts, persistenceCase.VolumeMounts)
471471
}
472472
}

mysqlcluster/container/mysql.go

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -135,13 +135,12 @@ func (c *mysql) getReadinessProbe() *corev1.Probe {
135135
func (c *mysql) getVolumeMounts() []corev1.VolumeMount {
136136
return []corev1.VolumeMount{
137137
{
138-
Name: utils.ConfVolumeName,
139-
MountPath: utils.ConfVolumeMountPath,
138+
Name: utils.MysqlConfVolumeName,
139+
MountPath: utils.MysqlConfVolumeMountPath,
140140
},
141141
{
142142
Name: utils.DataVolumeName,
143143
MountPath: utils.DataVolumeMountPath,
144-
SubPath: utils.MysqlDataSubPath,
145144
},
146145
{
147146
Name: utils.LogsVolumeName,

mysqlcluster/container/mysql_test.go

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -141,13 +141,12 @@ func TestGetMysqlReadinessProbe(t *testing.T) {
141141
func TestGetMysqlVolumeMounts(t *testing.T) {
142142
volumeMounts := []corev1.VolumeMount{
143143
{
144-
Name: "conf",
144+
Name: "mysql-conf",
145145
MountPath: "/etc/mysql",
146146
},
147147
{
148148
Name: "data",
149149
MountPath: "/var/lib/mysql",
150-
SubPath: "mysql",
151150
},
152151
{
153152
Name: "logs",

mysqlcluster/container/xenon.go

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -115,13 +115,12 @@ func (c *xenon) getVolumeMounts() []corev1.VolumeMount {
115115
MountPath: utils.ScriptsVolumeMountPath,
116116
},
117117
{
118-
Name: utils.DataVolumeName,
119-
MountPath: utils.XenonDataVolumeMountPath,
120-
SubPath: utils.XenonDataSubPath,
118+
Name: utils.XenonConfVolumeName,
119+
MountPath: utils.XenonConfVolumeMountPath,
121120
},
122121
{
123-
Name: utils.XenonVolumeName,
124-
MountPath: utils.XenonVolumeMountPath,
122+
Name: utils.XenonMetaVolumeName,
123+
MountPath: utils.XenonMetaVolumeMountPath,
125124
},
126125
{
127126
Name: utils.SysLocalTimeZone,

mysqlcluster/container/xenon_test.go

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -135,13 +135,12 @@ func TestGetXenonVolumeMounts(t *testing.T) {
135135
MountPath: "/scripts",
136136
},
137137
{
138-
Name: "data",
139-
MountPath: "/var/lib/xenon",
140-
SubPath: "xenon",
138+
Name: "xenon-conf",
139+
MountPath: "/etc/xenon",
141140
},
142141
{
143-
Name: "xenon",
144-
MountPath: "/etc/xenon",
142+
Name: "xenon-meta",
143+
MountPath: "/var/lib/xenon",
145144
},
146145
{
147146
Name: utils.SysLocalTimeZone,

0 commit comments

Comments
 (0)