cybozu-go / moco

MySQL operator on Kubernetes using GTID-based semi-synchronous replication.

Home Page:https://cybozu-go.github.io/moco/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Failed to re-create MySQL Pod before StatefulSet's rolling updating

masa213f opened this issue · comments

Describe the bug

When ConfigMap for MySQL config (which is refered in .spec.mysqlConfigMapName) is updated, moco-controller will perform the following operations.

  • Create a new ConfigMap for my.cnf
  • Update StatefulSet to use (mount) the new ConfigMap
  • Delete old ConfigMaps

Currently, the moco-controller does not wait for rolling updates of StatefulSet to delete the old ConfigMap.
Therefore, if a user tries to re-create a pod before the rolling update, the pod will not be created with the following error.

  Warning  FailedMount  82s (x9 over 3m30s)  kubelet            MountVolume.SetUp failed for volume "mysql-conf" : configmap "moco-<clustername>.<hash>" not found

Environments

  • Version: v0.16.1