diff --git a/apier/v1/debit_test.go b/apier/v1/debit_test.go index da69c704e..abb3d6222 100644 --- a/apier/v1/debit_test.go +++ b/apier/v1/debit_test.go @@ -37,7 +37,7 @@ var ( func init() { apierDebitStorage, _ = engine.NewMapStorage() cfg, _ := config.NewDefaultCGRConfig() - responder := &engine.Responder{MaxComputedUsage: cfg.RalsCfg().RALsMaxComputedUsage} + responder := &engine.Responder{MaxComputedUsage: cfg.RalsCfg().MaxComputedUsage} dm = engine.NewDataManager(apierDebitStorage) engine.SetDataStorage(dm) apierDebit = &ApierV1{ diff --git a/cmd/cgr-engine/cgr-engine.go b/cmd/cgr-engine/cgr-engine.go index fc9cdc4fa..cdc437157 100644 --- a/cmd/cgr-engine/cgr-engine.go +++ b/cmd/cgr-engine/cgr-engine.go @@ -1286,7 +1286,7 @@ func main() { var loadDb engine.LoadStorage var cdrDb engine.CdrStorage var dm *engine.DataManager - if needsDB := cfg.RalsCfg().RALsEnabled || cfg.SchedulerCfg().Enabled || cfg.ChargerSCfg().Enabled || + if needsDB := cfg.RalsCfg().Enabled || cfg.SchedulerCfg().Enabled || cfg.ChargerSCfg().Enabled || cfg.AttributeSCfg().Enabled || cfg.ResourceSCfg().Enabled || cfg.StatSCfg().Enabled || cfg.ThresholdSCfg().Enabled || cfg.SupplierSCfg().Enabled || cfg.DispatcherSCfg().Enabled; needsDB || cfg.SessionSCfg().Enabled { // Some services can run without db, ie: CDRC @@ -1309,7 +1309,7 @@ func main() { } } } - if cfg.RalsCfg().RALsEnabled || cfg.CdrsCfg().CDRSEnabled { + if cfg.RalsCfg().Enabled || cfg.CdrsCfg().CDRSEnabled { storDb, err := engine.ConfigureStorStorage(cfg.StorDbCfg().StorDBType, cfg.StorDbCfg().StorDBHost, cfg.StorDbCfg().StorDBPort, cfg.StorDbCfg().StorDBName, cfg.StorDbCfg().StorDBUser, @@ -1432,7 +1432,7 @@ func main() { } // Start RALs - if cfg.RalsCfg().RALsEnabled { + if cfg.RalsCfg().Enabled { go startRater(internalRaterChan, internalApierV1Chan, internalApierV2Chan, internalThresholdSChan, internalStatSChan, internalCacheSChan, internalSchedSChan, internalAttributeSChan, internalDispatcherSChan, internalRALsv1Chan, diff --git a/cmd/cgr-engine/rater.go b/cmd/cgr-engine/rater.go index e69faf63e..082947e9f 100755 --- a/cmd/cgr-engine/rater.go +++ b/cmd/cgr-engine/rater.go @@ -71,7 +71,7 @@ func startRater(internalRaterChan, internalApierv1, internalApierv2, internalThd } var thdS rpcclient.RpcClientConnection - if len(cfg.RalsCfg().RALsThresholdSConns) != 0 { // Connections to ThresholdS + if len(cfg.RalsCfg().ThresholdSConns) != 0 { // Connections to ThresholdS thdsTaskChan := make(chan struct{}) waitTasks = append(waitTasks, thdsTaskChan) go func() { @@ -82,7 +82,7 @@ func startRater(internalRaterChan, internalApierv1, internalApierv2, internalThd cfg.TlsCfg().ClientCerificate, cfg.TlsCfg().CaCertificate, cfg.GeneralCfg().ConnectAttempts, cfg.GeneralCfg().Reconnects, cfg.GeneralCfg().ConnectTimeout, cfg.GeneralCfg().ReplyTimeout, - cfg.RalsCfg().RALsThresholdSConns, intThdSChan, false) + cfg.RalsCfg().ThresholdSConns, intThdSChan, false) if err != nil { utils.Logger.Crit(fmt.Sprintf(" Could not connect to ThresholdS, error: %s", err.Error())) exitChan <- true @@ -92,7 +92,7 @@ func startRater(internalRaterChan, internalApierv1, internalApierv2, internalThd } var stats rpcclient.RpcClientConnection - if len(cfg.RalsCfg().RALsStatSConns) != 0 { // Connections to StatS + if len(cfg.RalsCfg().StatSConns) != 0 { // Connections to StatS statsTaskChan := make(chan struct{}) waitTasks = append(waitTasks, statsTaskChan) go func() { @@ -103,7 +103,7 @@ func startRater(internalRaterChan, internalApierv1, internalApierv2, internalThd cfg.TlsCfg().ClientCerificate, cfg.TlsCfg().CaCertificate, cfg.GeneralCfg().ConnectAttempts, cfg.GeneralCfg().Reconnects, cfg.GeneralCfg().ConnectTimeout, cfg.GeneralCfg().ReplyTimeout, - cfg.RalsCfg().RALsStatSConns, intStatSChan, false) + cfg.RalsCfg().StatSConns, intStatSChan, false) if err != nil { utils.Logger.Crit(fmt.Sprintf(" Could not connect to StatS, error: %s", err.Error())) exitChan <- true @@ -185,7 +185,7 @@ func startRater(internalRaterChan, internalApierv1, internalApierv2, internalThd responder := &engine.Responder{ ExitChan: exitChan, - MaxComputedUsage: cfg.RalsCfg().RALsMaxComputedUsage} + MaxComputedUsage: cfg.RalsCfg().MaxComputedUsage} // correct reflect on cacheS since there is no APIer init if cacheSrpc != nil && reflect.ValueOf(cacheSrpc).IsNil() { diff --git a/config/config.go b/config/config.go index c7657b381..164fae6c2 100755 --- a/config/config.go +++ b/config/config.go @@ -145,8 +145,8 @@ func NewDefaultCGRConfig() (cfg *CGRConfig, err error) { cfg.httpCfg = new(HTTPCfg) cfg.filterSCfg = new(FilterSCfg) cfg.ralsCfg = new(RalsCfg) - cfg.ralsCfg.RALsMaxComputedUsage = make(map[string]time.Duration) - cfg.ralsCfg.RALsBalanceRatingSubject = make(map[string]string) + cfg.ralsCfg.MaxComputedUsage = make(map[string]time.Duration) + cfg.ralsCfg.BalanceRatingSubject = make(map[string]string) cfg.schedulerCfg = new(SchedulerCfg) cfg.cdrsCfg = new(CdrsCfg) cfg.CdreProfiles = make(map[string]*CdreCfg) @@ -304,9 +304,9 @@ var possibleReaderTypes = utils.NewStringSet([]string{utils.MetaFileCSV, utils.M func (self *CGRConfig) checkConfigSanity() error { // Rater checks - if self.ralsCfg.RALsEnabled && !self.dispatcherSCfg.Enabled { + if self.ralsCfg.Enabled && !self.dispatcherSCfg.Enabled { if !self.statsCfg.Enabled { - for _, connCfg := range self.ralsCfg.RALsStatSConns { + for _, connCfg := range self.ralsCfg.StatSConns { if connCfg.Address == utils.MetaInternal { return fmt.Errorf("%s not enabled but requested by %s component.", utils.StatS, utils.RALService) @@ -314,7 +314,7 @@ func (self *CGRConfig) checkConfigSanity() error { } } if !self.thresholdSCfg.Enabled { - for _, connCfg := range self.ralsCfg.RALsThresholdSConns { + for _, connCfg := range self.ralsCfg.ThresholdSConns { if connCfg.Address == utils.MetaInternal { return fmt.Errorf("%s not enabled but requested by %s component.", utils.ThresholdS, utils.RALService) @@ -331,7 +331,7 @@ func (self *CGRConfig) checkConfigSanity() error { } } } - if !self.ralsCfg.RALsEnabled { + if !self.ralsCfg.Enabled { for _, cdrsRaterConn := range self.cdrsCfg.CDRSRaterConns { if cdrsRaterConn.Address == utils.MetaInternal { return errors.New("RALs not enabled but requested by CDRS component.") @@ -428,7 +428,7 @@ func (self *CGRConfig) checkConfigSanity() error { } } } - if !self.ralsCfg.RALsEnabled { + if !self.ralsCfg.Enabled { for _, smgRALsConn := range self.sessionSCfg.RALsConns { if smgRALsConn.Address == utils.MetaInternal { return fmt.Errorf("<%s> %s not enabled but requested by SMGeneric component.", utils.SessionS, utils.RALService) diff --git a/config/config_test.go b/config/config_test.go index f23b6c424..9d8232edc 100755 --- a/config/config_test.go +++ b/config/config_test.go @@ -455,11 +455,11 @@ func TestCgrCfgJSONDefaultsStorDB(t *testing.T) { func TestCgrCfgJSONDefaultsRALs(t *testing.T) { eHaPoolcfg := []*RemoteHost{} - if cgrCfg.RalsCfg().RALsEnabled != false { - t.Errorf("Expecting: false , received: %+v", cgrCfg.RalsCfg().RALsEnabled) + if cgrCfg.RalsCfg().Enabled != false { + t.Errorf("Expecting: false , received: %+v", cgrCfg.RalsCfg().Enabled) } - if !reflect.DeepEqual(cgrCfg.RalsCfg().RALsThresholdSConns, eHaPoolcfg) { - t.Errorf("Expecting: %+v , received: %+v", eHaPoolcfg, cgrCfg.RalsCfg().RALsThresholdSConns) + if !reflect.DeepEqual(cgrCfg.RalsCfg().ThresholdSConns, eHaPoolcfg) { + t.Errorf("Expecting: %+v , received: %+v", eHaPoolcfg, cgrCfg.RalsCfg().ThresholdSConns) } if cgrCfg.RalsCfg().RpSubjectPrefixMatching != false { t.Errorf("Expecting: false , received: %+v", cgrCfg.RalsCfg().RpSubjectPrefixMatching) @@ -470,11 +470,11 @@ func TestCgrCfgJSONDefaultsRALs(t *testing.T) { utils.DATA: time.Duration(107374182400), utils.SMS: time.Duration(10000), } - if !reflect.DeepEqual(eMaxCU, cgrCfg.RalsCfg().RALsMaxComputedUsage) { - t.Errorf("Expecting: %+v , received: %+v", eMaxCU, cgrCfg.RalsCfg().RALsMaxComputedUsage) + if !reflect.DeepEqual(eMaxCU, cgrCfg.RalsCfg().MaxComputedUsage) { + t.Errorf("Expecting: %+v , received: %+v", eMaxCU, cgrCfg.RalsCfg().MaxComputedUsage) } - if cgrCfg.RalsCfg().RALsMaxIncrements != int(1000000) { - t.Errorf("Expecting: 1000000 , received: %+v", cgrCfg.RalsCfg().RALsMaxIncrements) + if cgrCfg.RalsCfg().MaxIncrements != int(1000000) { + t.Errorf("Expecting: 1000000 , received: %+v", cgrCfg.RalsCfg().MaxIncrements) } eBalRatingSbj := map[string]string{ utils.ANY: "*zero1ns", @@ -484,8 +484,8 @@ func TestCgrCfgJSONDefaultsRALs(t *testing.T) { utils.MONETARY: "*zero1ns", utils.GENERIC: "*zero1ns", } - if !reflect.DeepEqual(eBalRatingSbj, cgrCfg.RalsCfg().RALsBalanceRatingSubject) { - t.Errorf("Expecting: %+v , received: %+v", eBalRatingSbj, cgrCfg.RalsCfg().RALsBalanceRatingSubject) + if !reflect.DeepEqual(eBalRatingSbj, cgrCfg.RalsCfg().BalanceRatingSubject) { + t.Errorf("Expecting: %+v , received: %+v", eBalRatingSbj, cgrCfg.RalsCfg().BalanceRatingSubject) } } diff --git a/config/ralscfg.go b/config/ralscfg.go index 178994cc3..fb39920b5 100644 --- a/config/ralscfg.go +++ b/config/ralscfg.go @@ -26,14 +26,14 @@ import ( // Rater config section type RalsCfg struct { - RALsEnabled bool // start standalone server (no balancer) - RALsThresholdSConns []*RemoteHost // address where to reach ThresholdS config - RALsStatSConns []*RemoteHost - RpSubjectPrefixMatching bool // enables prefix matching for the rating profile subject - RemoveExpired bool - RALsMaxComputedUsage map[string]time.Duration - RALsBalanceRatingSubject map[string]string - RALsMaxIncrements int + Enabled bool // start standalone server (no balancer) + ThresholdSConns []*RemoteHost // address where to reach ThresholdS config + StatSConns []*RemoteHost + RpSubjectPrefixMatching bool // enables prefix matching for the rating profile subject + RemoveExpired bool + MaxComputedUsage map[string]time.Duration + BalanceRatingSubject map[string]string + MaxIncrements int } //loadFromJsonCfg loads Rals config from JsonCfg @@ -42,20 +42,20 @@ func (ralsCfg *RalsCfg) loadFromJsonCfg(jsnRALsCfg *RalsJsonCfg) (err error) { return nil } if jsnRALsCfg.Enabled != nil { - ralsCfg.RALsEnabled = *jsnRALsCfg.Enabled + ralsCfg.Enabled = *jsnRALsCfg.Enabled } if jsnRALsCfg.Thresholds_conns != nil { - ralsCfg.RALsThresholdSConns = make([]*RemoteHost, len(*jsnRALsCfg.Thresholds_conns)) + ralsCfg.ThresholdSConns = make([]*RemoteHost, len(*jsnRALsCfg.Thresholds_conns)) for idx, jsnHaCfg := range *jsnRALsCfg.Thresholds_conns { - ralsCfg.RALsThresholdSConns[idx] = NewDfltRemoteHost() - ralsCfg.RALsThresholdSConns[idx].loadFromJsonCfg(jsnHaCfg) + ralsCfg.ThresholdSConns[idx] = NewDfltRemoteHost() + ralsCfg.ThresholdSConns[idx].loadFromJsonCfg(jsnHaCfg) } } if jsnRALsCfg.Stats_conns != nil { - ralsCfg.RALsStatSConns = make([]*RemoteHost, len(*jsnRALsCfg.Stats_conns)) + ralsCfg.StatSConns = make([]*RemoteHost, len(*jsnRALsCfg.Stats_conns)) for idx, jsnHaCfg := range *jsnRALsCfg.Stats_conns { - ralsCfg.RALsStatSConns[idx] = NewDfltRemoteHost() - ralsCfg.RALsStatSConns[idx].loadFromJsonCfg(jsnHaCfg) + ralsCfg.StatSConns[idx] = NewDfltRemoteHost() + ralsCfg.StatSConns[idx].loadFromJsonCfg(jsnHaCfg) } } if jsnRALsCfg.Rp_subject_prefix_matching != nil { @@ -66,17 +66,17 @@ func (ralsCfg *RalsCfg) loadFromJsonCfg(jsnRALsCfg *RalsJsonCfg) (err error) { } if jsnRALsCfg.Max_computed_usage != nil { for k, v := range *jsnRALsCfg.Max_computed_usage { - if ralsCfg.RALsMaxComputedUsage[k], err = utils.ParseDurationWithNanosecs(v); err != nil { + if ralsCfg.MaxComputedUsage[k], err = utils.ParseDurationWithNanosecs(v); err != nil { return } } } if jsnRALsCfg.Max_increments != nil { - ralsCfg.RALsMaxIncrements = *jsnRALsCfg.Max_increments + ralsCfg.MaxIncrements = *jsnRALsCfg.Max_increments } if jsnRALsCfg.Balance_rating_subject != nil { for k, v := range *jsnRALsCfg.Balance_rating_subject { - ralsCfg.RALsBalanceRatingSubject[k] = v + ralsCfg.BalanceRatingSubject[k] = v } } diff --git a/config/ralscfg_test.go b/config/ralscfg_test.go index 024842968..ba808a0b2 100644 --- a/config/ralscfg_test.go +++ b/config/ralscfg_test.go @@ -52,13 +52,13 @@ func TestRalsCfgFromJsonCfg(t *testing.T) { }, }, }` - ralscfg.RALsMaxComputedUsage = make(map[string]time.Duration) + ralscfg.MaxComputedUsage = make(map[string]time.Duration) expected = RalsCfg{ - RALsEnabled: false, - RALsThresholdSConns: []*RemoteHost{}, - RALsStatSConns: []*RemoteHost{}, + Enabled: false, + ThresholdSConns: []*RemoteHost{}, + StatSConns: []*RemoteHost{}, RpSubjectPrefixMatching: false, - RALsMaxComputedUsage: map[string]time.Duration{ + MaxComputedUsage: map[string]time.Duration{ utils.ANY: time.Duration(189 * time.Hour), utils.VOICE: time.Duration(72 * time.Hour), utils.DATA: time.Duration(107374182400), diff --git a/engine/balances.go b/engine/balances.go index 56ac99427..a8ef2d240 100644 --- a/engine/balances.go +++ b/engine/balances.go @@ -321,7 +321,7 @@ func (b *Balance) debitUnits(cd *CallDescriptor, ub *Account, moneyBalances Bala if !b.IsActiveAt(cd.TimeStart) || b.GetValue() <= 0 { return } - if duration, err := utils.ParseZeroRatingSubject(cd.TOR, b.RatingSubject, config.CgrConfig().RalsCfg().RALsBalanceRatingSubject); err == nil { + if duration, err := utils.ParseZeroRatingSubject(cd.TOR, b.RatingSubject, config.CgrConfig().RalsCfg().BalanceRatingSubject); err == nil { // we have *zero based units cc = cd.CreateCallCost() cc.Timespans = append(cc.Timespans, &TimeSpan{ diff --git a/engine/responder_test.go b/engine/responder_test.go index f781cfde9..fd4f4d748 100644 --- a/engine/responder_test.go +++ b/engine/responder_test.go @@ -33,7 +33,7 @@ var rsponder *Responder func init() { cfg, _ := config.NewDefaultCGRConfig() config.SetCgrConfig(cfg) - rsponder = &Responder{MaxComputedUsage: cfg.RalsCfg().RALsMaxComputedUsage} + rsponder = &Responder{MaxComputedUsage: cfg.RalsCfg().MaxComputedUsage} } func TestResponderGobSMCost(t *testing.T) { diff --git a/engine/timespans.go b/engine/timespans.go index 763f84768..2278d7747 100644 --- a/engine/timespans.go +++ b/engine/timespans.go @@ -463,7 +463,7 @@ func (ts *TimeSpan) createIncrementsSlice() { // because ts cost is rounded //incrementCost := rate / rateUnit.Seconds() * rateIncrement.Seconds() nbIncrements := int(ts.GetDuration() / rateIncrement) - if nbIncrements > config.CgrConfig().RalsCfg().RALsMaxIncrements { + if nbIncrements > config.CgrConfig().RalsCfg().MaxIncrements { utils.Logger.Warning(fmt.Sprintf("error: <%s with %+v>, when creating increments slice", utils.ErrMaxIncrementsExceeded, nbIncrements)) return } diff --git a/general_tests/auth_test.go b/general_tests/auth_test.go index b4dbac4ed..a71679267 100644 --- a/general_tests/auth_test.go +++ b/general_tests/auth_test.go @@ -35,7 +35,7 @@ func TestAuthSetStorage(t *testing.T) { dbAuth = engine.NewDataManager(data) engine.SetDataStorage(dbAuth) rsponder = &engine.Responder{ - MaxComputedUsage: config.CgrConfig().RalsCfg().RALsMaxComputedUsage} + MaxComputedUsage: config.CgrConfig().RalsCfg().MaxComputedUsage} }