From 36f216cb7cb16958d98b3d77e121198596fd2213 Mon Sep 17 00:00:00 2001 From: Corey Hulen Date: Mon, 19 Jun 2017 08:44:04 -0700 Subject: PLT-6080 moving clustering to memberlist (#6499) * PLT-6080 adding cluster discovery service * Adding memberlist lib * Adding memberlist lib * WIP * WIP * WIP * WIP * Rolling back config changes * Fixing make file * Fixing config for cluster * WIP * Fixing system console for clustering * Fixing default config * Fixing config * Fixing system console for clustering * Tweaking hub setting * Bumping up time * merging vendor dir * Updating vendor dir * Fixing unit test * Fixing bad merge * Remove some testing code * Moving comment * PLT-6868 adding db ping retry * Removing unused loc strings * Adding defer to cancel --- app/admin.go | 44 +++++++++++++++++++++++++++++--------------- 1 file changed, 29 insertions(+), 15 deletions(-) (limited to 'app/admin.go') diff --git a/app/admin.go b/app/admin.go index 103c4617b..4f8125106 100644 --- a/app/admin.go +++ b/app/admin.go @@ -19,12 +19,23 @@ import ( ) func GetLogs(page, perPage int) ([]string, *model.AppError) { - lines, err := GetLogsSkipSend(page, perPage) + var lines []string + if einterfaces.GetClusterInterface() != nil && *utils.Cfg.ClusterSettings.Enable { + lines = append(lines, "-----------------------------------------------------------------------------------------------------------") + lines = append(lines, "-----------------------------------------------------------------------------------------------------------") + lines = append(lines, einterfaces.GetClusterInterface().GetClusterId()) + lines = append(lines, "-----------------------------------------------------------------------------------------------------------") + lines = append(lines, "-----------------------------------------------------------------------------------------------------------") + } + + melines, err := GetLogsSkipSend(page, perPage) if err != nil { return nil, err } - if einterfaces.GetClusterInterface() != nil { + lines = append(lines, melines...) + + if einterfaces.GetClusterInterface() != nil && *utils.Cfg.ClusterSettings.Enable { clines, err := einterfaces.GetClusterInterface().GetLogs(page, perPage) if err != nil { return nil, err @@ -84,10 +95,14 @@ func InvalidateAllCaches() *model.AppError { InvalidateAllCachesSkipSend() if einterfaces.GetClusterInterface() != nil { - err := einterfaces.GetClusterInterface().InvalidateAllCaches() - if err != nil { - return err + + msg := &model.ClusterMessage{ + Event: model.CLUSTER_EVENT_INVALIDATE_ALL_CACHES, + SendType: model.CLUSTER_SEND_RELIABLE, + WaitForAllToSend: true, } + + einterfaces.GetClusterInterface().SendClusterMessage(msg) } return nil @@ -120,7 +135,8 @@ func ReloadConfig() { InitEmailBatching() } -func SaveConfig(cfg *model.Config) *model.AppError { +func SaveConfig(cfg *model.Config, sendConfigChangeClusterMessage bool) *model.AppError { + oldCfg := utils.Cfg cfg.SetDefaults() utils.Desanitize(cfg) @@ -132,7 +148,7 @@ func SaveConfig(cfg *model.Config) *model.AppError { return err } - if *utils.Cfg.ClusterSettings.Enable { + if *utils.Cfg.ClusterSettings.Enable && *utils.Cfg.ClusterSettings.ReadOnlyConfig { return model.NewLocAppError("saveConfig", "ent.cluster.save_config.error", nil, "") } @@ -149,14 +165,12 @@ func SaveConfig(cfg *model.Config) *model.AppError { } } - // oldCfg := utils.Cfg - // Future feature is to sync the configuration files - // if einterfaces.GetClusterInterface() != nil { - // err := einterfaces.GetClusterInterface().ConfigChanged(cfg, oldCfg, true) - // if err != nil { - // return err - // } - // } + if einterfaces.GetClusterInterface() != nil { + err := einterfaces.GetClusterInterface().ConfigChanged(cfg, oldCfg, sendConfigChangeClusterMessage) + if err != nil { + return err + } + } // start/restart email batching job if necessary InitEmailBatching() -- cgit v1.2.3-1-g7c22