From 286103fd755c24ecb46b83f951694369b94e0f0a Mon Sep 17 00:00:00 2001 From: TeoV Date: Fri, 27 Oct 2017 18:59:45 +0300 Subject: [PATCH 1/3] update Filters.csv for Stats --- data/tariffplans/testtp/Filters.csv | 1 + data/tariffplans/testtp/Stats.csv | 2 +- data/tariffplans/tutorial/Filters.csv | 1 + data/tariffplans/tutorial/Stats.csv | 2 +- 4 files changed, 4 insertions(+), 2 deletions(-) diff --git a/data/tariffplans/testtp/Filters.csv b/data/tariffplans/testtp/Filters.csv index 760ee326b..7ca81b685 100644 --- a/data/tariffplans/testtp/Filters.csv +++ b/data/tariffplans/testtp/Filters.csv @@ -25,3 +25,4 @@ cgrates.org,FLTR_RES_1,*gte,Usage,10.0, cgrates.org,FLTR_DST_FS,*destinations,Destination,DST_FS,2014-07-29T15:00:00Z cgrates.org,FLTR_RES_GR3,*string,Account,3001,2014-07-29T15:00:00Z cgrates.org,FLTR_CDRS,*cdr_stats,,CDRST1:*min_ASR:34;CDRST_1001:*min_ASR:20,2014-07-29T15:00:00Z +cgrates.org,FLTR_STS1,*string,Account,1001;1002,2014-07-29T15:00:00Z diff --git a/data/tariffplans/testtp/Stats.csv b/data/tariffplans/testtp/Stats.csv index 3fcbc13ef..1a9302d0b 100755 --- a/data/tariffplans/testtp/Stats.csv +++ b/data/tariffplans/testtp/Stats.csv @@ -1,2 +1,2 @@ #Tenant[0],Id[1],FilterIDs[2],ActivationInterval[3],QueueLength[4],TTL[5],Metrics[6],Blocker[7],Stored[8],Weight[9],MinItems[10],Thresholds[11] -cgrates.org,Stats1,FLTR_1,2014-07-29T15:00:00Z,100,1s,*asr;*acc;*tcc;*acd;*tcd;*pdd,true,true,20,2,THRESH1;THRESH2 +cgrates.org,Stats1,FLTR_STS1,2014-07-29T15:00:00Z,100,1s,*asr;*acc;*tcc;*acd;*tcd;*pdd,true,true,20,2,THRESH1;THRESH2 diff --git a/data/tariffplans/tutorial/Filters.csv b/data/tariffplans/tutorial/Filters.csv index 760ee326b..7ca81b685 100644 --- a/data/tariffplans/tutorial/Filters.csv +++ b/data/tariffplans/tutorial/Filters.csv @@ -25,3 +25,4 @@ cgrates.org,FLTR_RES_1,*gte,Usage,10.0, cgrates.org,FLTR_DST_FS,*destinations,Destination,DST_FS,2014-07-29T15:00:00Z cgrates.org,FLTR_RES_GR3,*string,Account,3001,2014-07-29T15:00:00Z cgrates.org,FLTR_CDRS,*cdr_stats,,CDRST1:*min_ASR:34;CDRST_1001:*min_ASR:20,2014-07-29T15:00:00Z +cgrates.org,FLTR_STS1,*string,Account,1001;1002,2014-07-29T15:00:00Z diff --git a/data/tariffplans/tutorial/Stats.csv b/data/tariffplans/tutorial/Stats.csv index 3fcbc13ef..1a9302d0b 100755 --- a/data/tariffplans/tutorial/Stats.csv +++ b/data/tariffplans/tutorial/Stats.csv @@ -1,2 +1,2 @@ #Tenant[0],Id[1],FilterIDs[2],ActivationInterval[3],QueueLength[4],TTL[5],Metrics[6],Blocker[7],Stored[8],Weight[9],MinItems[10],Thresholds[11] -cgrates.org,Stats1,FLTR_1,2014-07-29T15:00:00Z,100,1s,*asr;*acc;*tcc;*acd;*tcd;*pdd,true,true,20,2,THRESH1;THRESH2 +cgrates.org,Stats1,FLTR_STS1,2014-07-29T15:00:00Z,100,1s,*asr;*acc;*tcc;*acd;*tcd;*pdd,true,true,20,2,THRESH1;THRESH2 From be8e696dc690773dc249098c5012445fd3e345b1 Mon Sep 17 00:00:00 2001 From: TeoV Date: Fri, 27 Oct 2017 19:53:35 +0300 Subject: [PATCH 2/3] Update Filters.csv for Resource --- apier/v1/resourcesv1_it_test.go | 2 +- data/tariffplans/tutorial/Resources.csv | 4 +--- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/apier/v1/resourcesv1_it_test.go b/apier/v1/resourcesv1_it_test.go index c78af73f1..3f6b71bc2 100644 --- a/apier/v1/resourcesv1_it_test.go +++ b/apier/v1/resourcesv1_it_test.go @@ -295,7 +295,7 @@ func testV1RsAllocateResource(t *testing.T) { if err := rlsV1Rpc.Call("ResourceSV1.AllocateResource", argsRU, &reply); err != nil { t.Error(err) } - eAllocationMsg = "ResGroup2" + eAllocationMsg = "SPECIAL_1002" if reply != eAllocationMsg { t.Errorf("Expecting: %+v, received: %+v", eAllocationMsg, reply) } diff --git a/data/tariffplans/tutorial/Resources.csv b/data/tariffplans/tutorial/Resources.csv index 7029260b8..277404f98 100755 --- a/data/tariffplans/tutorial/Resources.csv +++ b/data/tariffplans/tutorial/Resources.csv @@ -1,6 +1,4 @@ #Tenant[0],Id[1],FilterIDs[2],ActivationInterval[3],TTL[4],Limit[5],AllocationMessage[6],Blocker[7],Stored[8],Weight[9],Thresholds[10] cgrates.org,ResGroup1,FLTR_1,2014-07-29T15:00:00Z,1s,7,,false,false,20, cgrates.org,ResGroup2,FLTR_DST_FS,2014-07-29T15:00:00Z,3600s,8,SPECIAL_1002,false,true,10, -cgrates.org,ResGroup3,FLTR_CDRS,2014-07-29T15:00:00Z,0s,1,,true,false,20, -#cgrates.org,ResGroup3,*timings,SetupTime,PEAK,,,,,,,, -#cgrates.org,ResGroup3,*stats,,CDRST1:*min_ASR:34;CDRST_1001:*min_ASR:20,,,,,,,, +cgrates.org,ResGroup3,FLTR_RES_GR3,2014-07-29T15:00:00Z,0s,1,,true,false,20, From 0ba6944ebd7cd12ec175d6e7d5298f10a1f40105 Mon Sep 17 00:00:00 2001 From: TeoV Date: Fri, 27 Oct 2017 20:37:11 +0300 Subject: [PATCH 3/3] Update number or filter in cache and update checkConfigSanity --- apier/v1/smgenericv1_it_test.go | 2 +- config/config.go | 14 ++++++++++++++ config/config_json_test.go | 2 +- general_tests/tut_smgeneric_it_test.go | 2 +- general_tests/tutorial_it_test.go | 2 +- 5 files changed, 18 insertions(+), 4 deletions(-) diff --git a/apier/v1/smgenericv1_it_test.go b/apier/v1/smgenericv1_it_test.go index 6aac5ecb4..28343a374 100644 --- a/apier/v1/smgenericv1_it_test.go +++ b/apier/v1/smgenericv1_it_test.go @@ -103,7 +103,7 @@ func TestSMGV1CacheStats(t *testing.T) { expectedStats := &utils.CacheStats{Destinations: 5, ReverseDestinations: 7, RatingPlans: 4, RatingProfiles: 9, Actions: 9, ActionPlans: 4, AccountActionPlans: 5, SharedGroups: 1, DerivedChargers: 1, LcrProfiles: 5, CdrStats: 6, Users: 3, Aliases: 1, ReverseAliases: 2, ResourceProfiles: 3, Resources: 3, StatQueues: 0, - StatQueueProfiles: 0, Thresholds: 6, ThresholdProfiles: 6, Filters: 13} + StatQueueProfiles: 0, Thresholds: 6, ThresholdProfiles: 6, Filters: 14} var args utils.AttrCacheStats if err := smgV1Rpc.Call("ApierV1.GetCacheStats", args, &rcvStats); err != nil { t.Error("Got error on ApierV1.GetCacheStats: ", err.Error()) diff --git a/config/config.go b/config/config.go index a4000d416..ff6d2c0cf 100755 --- a/config/config.go +++ b/config/config.go @@ -318,6 +318,11 @@ func (self *CGRConfig) checkConfigSanity() error { return errors.New("User service not enabled but requested by RALs component.") } } + for _, connCfg := range self.RALsThresholdSConns { + if connCfg.Address == utils.MetaInternal && !self.UserServerEnabled { + return errors.New("ThresholdS not enabled but requested by RALs component.") + } + } } // CDRServer checks if self.CDRSEnabled { @@ -515,6 +520,15 @@ func (self *CGRConfig) checkConfigSanity() error { } } } + // Stat checks + if self.statsCfg != nil && self.statsCfg.Enabled { + for _, connCfg := range self.statsCfg.ThresholdSConns { + if connCfg.Address == utils.MetaInternal && !self.thresholdSCfg.Enabled { + return errors.New("ThresholdS not enabled but requested by StatS component.") + } + } + } + return nil } diff --git a/config/config_json_test.go b/config/config_json_test.go index 4c8e03c54..1064dd34e 100755 --- a/config/config_json_test.go +++ b/config/config_json_test.go @@ -785,7 +785,7 @@ func TestNewCgrJsonCfgFromFile(t *testing.T) { if gCfg, err := cgrJsonCfg.GeneralJsonCfg(); err != nil { t.Error(err) } else if !reflect.DeepEqual(eCfg, gCfg) { - t.Errorf("Expecting: %+v, received: ", eCfg, gCfg) + t.Errorf("Expecting: %+v, received: %+v", eCfg, gCfg) } cdrFields := []*CdrFieldJsonCfg{ &CdrFieldJsonCfg{Field_id: utils.StringPointer(utils.TOR), Value: utils.StringPointer("~7:s/^(voice|data|sms|mms|generic)$/*$1/")}, diff --git a/general_tests/tut_smgeneric_it_test.go b/general_tests/tut_smgeneric_it_test.go index a3e881561..bc5f02824 100644 --- a/general_tests/tut_smgeneric_it_test.go +++ b/general_tests/tut_smgeneric_it_test.go @@ -101,7 +101,7 @@ func TestTutSMGCacheStats(t *testing.T) { expectedStats := &utils.CacheStats{Destinations: 5, ReverseDestinations: 7, RatingPlans: 4, RatingProfiles: 9, Actions: 9, ActionPlans: 4, AccountActionPlans: 5, SharedGroups: 1, DerivedChargers: 1, LcrProfiles: 5, CdrStats: 6, Users: 3, Aliases: 1, ReverseAliases: 2, ResourceProfiles: 3, Resources: 3, StatQueues: 0, - StatQueueProfiles: 0, Thresholds: 6, ThresholdProfiles: 6, Filters: 13} + StatQueueProfiles: 0, Thresholds: 6, ThresholdProfiles: 6, Filters: 14} var args utils.AttrCacheStats if err := tutSMGRpc.Call("ApierV2.GetCacheStats", args, &rcvStats); err != nil { t.Error("Got error on ApierV2.GetCacheStats: ", err.Error()) diff --git a/general_tests/tutorial_it_test.go b/general_tests/tutorial_it_test.go index 8b82431ff..f96d5364e 100644 --- a/general_tests/tutorial_it_test.go +++ b/general_tests/tutorial_it_test.go @@ -105,7 +105,7 @@ func TestTutITCacheStats(t *testing.T) { expectedStats := &utils.CacheStats{Destinations: 5, ReverseDestinations: 7, RatingPlans: 4, RatingProfiles: 9, Actions: 9, ActionPlans: 4, AccountActionPlans: 5, SharedGroups: 1, DerivedChargers: 1, LcrProfiles: 5, CdrStats: 6, Users: 3, Aliases: 1, ReverseAliases: 2, ResourceProfiles: 3, Resources: 3, StatQueues: 0, - StatQueueProfiles: 0, Thresholds: 6, ThresholdProfiles: 6, Filters: 13} + StatQueueProfiles: 0, Thresholds: 6, ThresholdProfiles: 6, Filters: 14} var args utils.AttrCacheStats if err := tutLocalRpc.Call("ApierV1.GetCacheStats", args, &rcvStats); err != nil { t.Error("Got error on ApierV1.GetCacheStats: ", err.Error())