From c56d8633cb42d57ba95d12f8b7985b159febd3c7 Mon Sep 17 00:00:00 2001 From: Anevo Date: Wed, 2 May 2018 09:06:06 -0400 Subject: [PATCH] Added scheduler_address to loader config params, fixes #19 --- cmd/cgr-loader/cgr-loader.go | 9 +++++++++ cmd/cgr-migrator/cgr-migrator.go | 4 ---- config/config_defaults.go | 3 +++ config/config_json_test.go | 15 +++++++++++---- config/config_test.go | 5 +++++ config/libconfig_json.go | 1 + config/loadercfg.go | 8 ++++++++ 7 files changed, 37 insertions(+), 8 deletions(-) diff --git a/cmd/cgr-loader/cgr-loader.go b/cmd/cgr-loader/cgr-loader.go index a2249a08c..51b691ebf 100755 --- a/cmd/cgr-loader/cgr-loader.go +++ b/cmd/cgr-loader/cgr-loader.go @@ -86,6 +86,7 @@ var ( rpcEncoding = flag.String("rpc_encoding", utils.MetaJSONrpc, "RPC encoding used ") cacheSAddress = flag.String("caches_address", dfltCfg.LoaderCgrConfig.CachesConns[0].Address, "CacheS component to contact for cache reloads, empty to disable automatic cache reloads") + schedulerAddress = flag.String("scheduler_address", dfltCfg.LoaderCgrConfig.SchedulerConns[0].Address, "") importID = flag.String("import_id", "", "Uniquely identify an import/load, postpended to some automatic fields") timezone = flag.String("timezone", "", `Timezone for timestamps where not specified <""|UTC|Local|$IANA_TZ_DB>`) @@ -184,6 +185,14 @@ func main() { } } + if *schedulerAddress != dfltCfg.LoaderCgrConfig.SchedulerConns[0].Address { + ldrCfg.LoaderCgrConfig.SchedulerConns = make([]*config.HaPoolConfig, 0) + if *schedulerAddress != "" { + ldrCfg.LoaderCgrConfig.SchedulerConns = append(ldrCfg.LoaderCgrConfig.SchedulerConns, + &config.HaPoolConfig{Address: *schedulerAddress}) + } + } + if *rpcEncoding != dfltCfg.LoaderCgrConfig.CachesConns[0].Transport && len(ldrCfg.LoaderCgrConfig.CachesConns) != 0 { ldrCfg.LoaderCgrConfig.CachesConns[0].Transport = *rpcEncoding diff --git a/cmd/cgr-migrator/cgr-migrator.go b/cmd/cgr-migrator/cgr-migrator.go index eddd1ecae..0c6c743cd 100755 --- a/cmd/cgr-migrator/cgr-migrator.go +++ b/cmd/cgr-migrator/cgr-migrator.go @@ -109,8 +109,6 @@ func main() { ldrCfg := config.CgrConfig() - //fmt.Printf("Before change: %+v \n \n", ldrCfg) - if *inDataDBType != dfltCfg.DataDbType { ldrCfg.DataDbType = *inDataDBType } @@ -163,8 +161,6 @@ func main() { ldrCfg.DBDataEncoding = *inDBDataEncoding } - //fmt.Printf("After change: %+v \n \n", ldrCfg) - if *outDataDBType == utils.MetaDynamic { *outDataDBType = ldrCfg.DataDbType *outDataDBHost = ldrCfg.DataDbHost diff --git a/config/config_defaults.go b/config/config_defaults.go index d50d2e547..9ba4bccf9 100755 --- a/config/config_defaults.go +++ b/config/config_defaults.go @@ -619,6 +619,9 @@ const CGRATES_CFG_JSON = ` "caches_conns":[ // addresses towards cacheS components for reloads {"address": "127.0.0.1:2012", "transport": "*json"} ], + "scheduler_conns": [ + {"address": "127.0.0.1:2012"} + ], }, diff --git a/config/config_json_test.go b/config/config_json_test.go index 9ffba5992..51c5a6ae4 100755 --- a/config/config_json_test.go +++ b/config/config_json_test.go @@ -1249,10 +1249,17 @@ func TestDfLoaderCfg(t *testing.T) { Tpid: utils.StringPointer(""), Data_path: utils.StringPointer(""), Disable_reverse: utils.BoolPointer(false), - Caches_conns: &[]*HaPoolJsonCfg{&HaPoolJsonCfg{ - Address: utils.StringPointer("127.0.0.1:2012"), - Transport: utils.StringPointer(utils.MetaJSONrpc), - }}, + Caches_conns: &[]*HaPoolJsonCfg{ + &HaPoolJsonCfg{ + Address: utils.StringPointer("127.0.0.1:2012"), + Transport: utils.StringPointer(utils.MetaJSONrpc), + }, + }, + Scheduler_conns: &[]*HaPoolJsonCfg{ + &HaPoolJsonCfg{ + Address: utils.StringPointer("127.0.0.1:2012"), + }, + }, } if cfg, err := dfCgrJsonCfg.LoaderCfgJson(); err != nil { t.Error(err) diff --git a/config/config_test.go b/config/config_test.go index 0a9ea1f88..9fe38f47b 100755 --- a/config/config_test.go +++ b/config/config_test.go @@ -1276,6 +1276,11 @@ func TestCgrLoaderCfgDefault(t *testing.T) { Transport: utils.MetaJSONrpc, }, }, + SchedulerConns: []*HaPoolConfig{ + &HaPoolConfig{ + Address: "127.0.0.1:2012", + }, + }, } if !reflect.DeepEqual(cgrCfg.LoaderCgrConfig, eLdrCfg) { t.Errorf("received: %+v, expecting: %+v", utils.ToJSON(cgrCfg.LoaderCgrConfig), utils.ToJSON(eLdrCfg)) diff --git a/config/libconfig_json.go b/config/libconfig_json.go index 6cd3c671b..75db5a272 100755 --- a/config/libconfig_json.go +++ b/config/libconfig_json.go @@ -496,4 +496,5 @@ type LoaderCfgJson struct { Data_path *string Disable_reverse *bool Caches_conns *[]*HaPoolJsonCfg + Scheduler_conns *[]*HaPoolJsonCfg } diff --git a/config/loadercfg.go b/config/loadercfg.go index 43e5f794a..9cd385226 100644 --- a/config/loadercfg.go +++ b/config/loadercfg.go @@ -23,6 +23,7 @@ type LoaderCgrCfg struct { DataPath string DisableReverse bool CachesConns []*HaPoolConfig + SchedulerConns []*HaPoolConfig } func (ld *LoaderCgrCfg) loadFromJsonCfg(jsnCfg *LoaderCfgJson) (err error) { @@ -42,5 +43,12 @@ func (ld *LoaderCgrCfg) loadFromJsonCfg(jsnCfg *LoaderCfgJson) (err error) { ld.CachesConns[idx].loadFromJsonCfg(jsnHaCfg) } } + if jsnCfg.Scheduler_conns != nil { + ld.SchedulerConns = make([]*HaPoolConfig, len(*jsnCfg.Scheduler_conns)) + for idx, jsnScheHaCfg := range *jsnCfg.Scheduler_conns { + ld.SchedulerConns[idx] = NewDfltHaPoolConfig() + ld.SchedulerConns[idx].loadFromJsonCfg(jsnScheHaCfg) + } + } return nil }