mirror of
https://github.com/cgrates/cgrates.git
synced 2026-02-11 18:16:24 +05:00
Remove RALs prefix for variable from config
This commit is contained in:
committed by
Dan Christian Bogos
parent
b364bffc72
commit
df6de08858
@@ -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{
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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("<RALs> 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("<RALs> 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() {
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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),
|
||||
|
||||
@@ -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{
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
@@ -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}
|
||||
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user