in deploy/kubernetes/operator/pkg/controller/controller/rss.go [468:502]
func (r *rssController) syncConfigMap(rss *unifflev1alpha1.RemoteShuffleService) error {
cm, err := r.kubeClient.CoreV1().ConfigMaps(rss.Namespace).
Get(context.Background(), rss.Spec.ConfigMapName, metav1.GetOptions{})
if err != nil {
klog.Errorf("get configMap of rss (%v) failed: %v", utils.UniqueName(rss), err)
return err
}
if owner := util.GetConfigMapOwner(cm); len(owner) > 0 && owner != rss.Name {
return fmt.Errorf("conflict configMap name of rss (%v <> %v)", owner, rss.Name)
}
if _, ok := cm.Data[constants.CoordinatorConfigKey]; !ok {
return fmt.Errorf("%v not exist", constants.CoordinatorConfigKey)
}
if _, ok := cm.Data[constants.ShuffleServerConfigKey]; !ok {
return fmt.Errorf("%v not exist", constants.ShuffleServerConfigKey)
}
if _, ok := cm.Data[constants.Log4jPropertiesKey]; !ok {
return fmt.Errorf("%v not exist", constants.Log4jPropertiesKey)
}
cm.Data[constants.CoordinatorConfigKey] = propertiestutil.UpdateProperties(
cm.Data[constants.CoordinatorConfigKey], coordinator.GenerateProperties(rss))
cm.Data[constants.ShuffleServerConfigKey] = propertiestutil.UpdateProperties(
cm.Data[constants.ShuffleServerConfigKey], shuffleserver.GenerateProperties(rss))
if cm.Labels == nil {
cm.Labels = make(map[string]string)
}
cm.Labels[controllerconstants.OwnerLabel] = rss.Name
if _, err = r.kubeClient.CoreV1().ConfigMaps(cm.Namespace).
Update(context.Background(), cm, metav1.UpdateOptions{}); err != nil {
klog.Errorf("update configMap (%v) of rss (%v) failed: %v", rss.Spec.ConfigMapName,
utils.UniqueName(rss), err)
}
return err
}