From e565370c50b8ddc8aff41e710de53bff84c0826a Mon Sep 17 00:00:00 2001 From: TeoV Date: Wed, 8 Jan 2020 05:02:28 -0500 Subject: [PATCH] Add sanity check for Session Replicate Connection --- config/config_defaults.go | 1 - config/config_it_test.go | 2 +- config/configsanity.go | 5 +++++ data/conf/samples/dispatchers/all/cgrates.json | 4 ++++ .../sessions_replication/smgreplcslave/cgrates.json | 2 +- dispatchers/sessions_it_test.go | 8 +------- 6 files changed, 12 insertions(+), 10 deletions(-) diff --git a/config/config_defaults.go b/config/config_defaults.go index 318b8eb9d..6c815dbc9 100755 --- a/config/config_defaults.go +++ b/config/config_defaults.go @@ -56,7 +56,6 @@ const CGRATES_CFG_JSON = ` "rpc_conns": { "*localhost": { - "strategy": "*first", "conns": [{"address": "127.0.0.1:2012", "transport":"*json"}], }, }, // rpc connections definitions diff --git a/config/config_it_test.go b/config/config_it_test.go index 89f09fb42..baa3f7342 100644 --- a/config/config_it_test.go +++ b/config/config_it_test.go @@ -358,7 +358,7 @@ func TestCGRConfigReloadSessionS(t *testing.T) { AttrSConns: []string{utils.MetaLocalHost}, CDRsConns: []string{utils.ConcatenatedKey(utils.MetaInternal, utils.MetaCDRs)}, - ReplicationConns: []*RemoteHost{}, + ReplicationConns: []string{}, MaxCallDuration: 3 * time.Hour, SessionIndexes: utils.NewStringMap(), ClientProtocol: 1, diff --git a/config/configsanity.go b/config/configsanity.go index 32b0be1aa..546f95ffe 100644 --- a/config/configsanity.go +++ b/config/configsanity.go @@ -207,6 +207,11 @@ func (cfg *CGRConfig) checkConfigSanity() error { return fmt.Errorf("<%s> Connection with id: <%s> not defined", utils.SessionS, connID) } } + for _, connID := range cfg.sessionSCfg.ReplicationConns { + if _, has := cfg.rpcConns[connID]; !has { + return fmt.Errorf("<%s> Connection with id: <%s> not defined", utils.SessionS, connID) + } + } if cfg.cacheCfg[utils.CacheClosedSessions].Limit == 0 { return fmt.Errorf("<%s> %s needs to be != 0, received: %d", utils.CacheS, utils.CacheClosedSessions, cfg.cacheCfg[utils.CacheClosedSessions].Limit) } diff --git a/data/conf/samples/dispatchers/all/cgrates.json b/data/conf/samples/dispatchers/all/cgrates.json index a4321f0f4..e57fda0ba 100644 --- a/data/conf/samples/dispatchers/all/cgrates.json +++ b/data/conf/samples/dispatchers/all/cgrates.json @@ -27,6 +27,10 @@ "strategy": "*first", "conns": [{"address": "127.0.0.1:6012", "transport":"*json"}], }, + "rplConn": { + "strategy": "*broadcast_sync", + "conns": [{"address": "127.0.0.1:7012", "transport":"*json"}], + } }, diff --git a/data/conf/samples/sessions_replication/smgreplcslave/cgrates.json b/data/conf/samples/sessions_replication/smgreplcslave/cgrates.json index df9a7728b..825e0cbb9 100644 --- a/data/conf/samples/sessions_replication/smgreplcslave/cgrates.json +++ b/data/conf/samples/sessions_replication/smgreplcslave/cgrates.json @@ -19,7 +19,7 @@ "conns": [{"address": "127.0.0.1:22012", "transport":"*json"}], }, "rplConn": { - "strategy": "*broadcast_sync", + "strategy": "*broadcast", "conns": [{"address": "127.0.0.1:2012", "transport": "*json"}], } }, diff --git a/dispatchers/sessions_it_test.go b/dispatchers/sessions_it_test.go index af4d5bc0b..6a7c6db84 100755 --- a/dispatchers/sessions_it_test.go +++ b/dispatchers/sessions_it_test.go @@ -28,7 +28,6 @@ import ( "testing" "time" - "github.com/cgrates/cgrates/config" "github.com/cgrates/cgrates/engine" "github.com/cgrates/cgrates/sessions" "github.com/cgrates/cgrates/utils" @@ -705,12 +704,7 @@ func testDspSessionReplicate(t *testing.T) { ArgsReplicateSessions: sessions.ArgsReplicateSessions{ CGRID: "c87609aa1cb6e9529ab1836cfeeebaab7aa7ebaf", Passive: false, - Connections: []*config.RemoteHost{ - &config.RemoteHost{ - Address: "127.0.0.1:7012", - Transport: utils.MetaJSON, - }, - }, + ConnIDs: []string{"rplConn"}, }, }, &reply); err != nil { t.Fatal(err)