diff --git a/apier/v1/apier.go b/apier/v1/apier.go index 68ed313f5..b46e22f12 100644 --- a/apier/v1/apier.go +++ b/apier/v1/apier.go @@ -1330,7 +1330,7 @@ func (apiv1 *APIerSv1) GetLoadTimes(args LoadTimeArgs, reply *map[string]string) } func (apiv1 *APIerSv1) ComputeActionPlanIndexes(_ string, reply *string) (err error) { - if apiv1.DataManager.DataDB().GetStorageType() != utils.REDIS { + if apiv1.DataManager.DataDB().GetStorageType() != utils.MetaRedis { return utils.ErrNotImplemented } redisDB, can := apiv1.DataManager.DataDB().(*engine.RedisStorage) diff --git a/apier/v1/filter_indexes_health_it_test.go b/apier/v1/filter_indexes_health_it_test.go index 00969af9a..b5b72e760 100644 --- a/apier/v1/filter_indexes_health_it_test.go +++ b/apier/v1/filter_indexes_health_it_test.go @@ -589,7 +589,7 @@ func testV1FIdxGetChargersIndexesHealth(t *testing.T) { } // those 2 charger object (*none:*any:*any index) are from tutorial2 tariffplan, so on imternal we must delete them by api - if tSv1Cfg.DataDbCfg().DataDbType == utils.INTERNAL { + if tSv1Cfg.DataDbCfg().DataDbType == utils.MetaInternal { var result string if err := tFIdxHRpc.Call(utils.APIerSv1RemoveChargerProfile, &utils.TenantIDWithCache{ @@ -694,7 +694,7 @@ func testV1FIdxGetAttributesIndexesHealth(t *testing.T) { } // this attr object (*none:*any:*any index) must be deleted with api - if tSv1Cfg.DataDbCfg().DataDbType == utils.INTERNAL { + if tSv1Cfg.DataDbCfg().DataDbType == utils.MetaInternal { var result string if err := tFIdxHRpc.Call(utils.APIerSv1RemoveAttributeProfile, &utils.TenantIDWithCache{ diff --git a/apier/v1/versions_it_test.go b/apier/v1/versions_it_test.go index 6c1cbe811..bebe51669 100644 --- a/apier/v1/versions_it_test.go +++ b/apier/v1/versions_it_test.go @@ -62,10 +62,10 @@ func TestVrsIT(t *testing.T) { t.SkipNow() // as is commented below case utils.MetaMySQL: vrsConfigDIR = "tutmysql" - vrsStorageType = utils.REDIS + vrsStorageType = utils.MetaRedis case utils.MetaMongo: vrsConfigDIR = "tutmongo" - vrsStorageType = utils.MONGO + vrsStorageType = utils.MetaMongo case utils.MetaPostgres: t.SkipNow() default: diff --git a/cmd/cgr-loader/cgr-loader.go b/cmd/cgr-loader/cgr-loader.go index 03cfdd075..ebd918f76 100755 --- a/cmd/cgr-loader/cgr-loader.go +++ b/cmd/cgr-loader/cgr-loader.go @@ -114,7 +114,7 @@ func loadConfig() (ldrCfg *config.CGRConfig) { } // Data for DataDB if *dataDBType != dfltCfg.DataDbCfg().DataDbType { - ldrCfg.DataDbCfg().DataDbType = strings.TrimPrefix(*dataDBType, "*") + ldrCfg.DataDbCfg().DataDbType = *dataDBType } if *dataDBHost != dfltCfg.DataDbCfg().DataDbHost { @@ -147,7 +147,7 @@ func loadConfig() (ldrCfg *config.CGRConfig) { // Data for StorDB if *storDBType != dfltCfg.StorDbCfg().Type { - ldrCfg.StorDbCfg().Type = strings.TrimPrefix(*storDBType, "*") + ldrCfg.StorDbCfg().Type = *storDBType } if *storDBHost != dfltCfg.StorDbCfg().Host { diff --git a/config/config.go b/config/config.go index bb095df9b..56bf326f4 100755 --- a/config/config.go +++ b/config/config.go @@ -51,27 +51,27 @@ var ( func newDbDefaults() dbDefaults { deflt := dbDefaults{ - utils.MYSQL: map[string]string{ + utils.MetaMySQL: map[string]string{ "DbName": "cgrates", "DbPort": "3306", "DbPass": "CGRateS.org", }, - utils.POSTGRES: map[string]string{ + utils.MetaPostgres: map[string]string{ "DbName": "cgrates", "DbPort": "5432", "DbPass": "CGRateS.org", }, - utils.MONGO: map[string]string{ + utils.MetaMongo: map[string]string{ "DbName": "cgrates", "DbPort": "27017", "DbPass": "", }, - utils.REDIS: map[string]string{ + utils.MetaRedis: map[string]string{ "DbName": "10", "DbPort": "6379", "DbPass": "", }, - utils.INTERNAL: map[string]string{ + utils.MetaInternal: map[string]string{ "DbName": "internal", "DbPort": "internal", "DbPass": "internal", @@ -416,7 +416,7 @@ func (cfg *CGRConfig) loadDataDBCfg(jsnCfg *CgrJsonCfg) (err error) { } // in case of internalDB we need to disable the cache // so we enforce it here - if cfg.dataDbCfg.DataDbType == utils.INTERNAL { + if cfg.dataDbCfg.DataDbType == utils.MetaInternal { zeroLimit := &CacheParamCfg{Limit: 0, TTL: time.Duration(0), StaticTTL: false, Precache: false} disabledCache := CacheCfg{ diff --git a/config/config_test.go b/config/config_test.go index 9be2d21ce..45b50b73c 100755 --- a/config/config_test.go +++ b/config/config_test.go @@ -78,8 +78,8 @@ func TestCgrCfgDataDBPortWithoutDynamic(t *testing.T) { if cgrCfg, err := NewCGRConfigFromJsonStringWithDefaults(JSN_CFG); err != nil { t.Error(err) - } else if cgrCfg.DataDbCfg().DataDbType != utils.MONGO { - t.Errorf("Expected: %+v, received: %+v", cgrCfg.DataDbCfg().DataDbType, utils.MONGO) + } else if cgrCfg.DataDbCfg().DataDbType != utils.MetaMongo { + t.Errorf("Expected: %+v, received: %+v", cgrCfg.DataDbCfg().DataDbType, utils.MetaMongo) } else if cgrCfg.DataDbCfg().DataDbPort != "6379" { t.Errorf("Expected: %+v, received: %+v", cgrCfg.DataDbCfg().DataDbPort, "6379") } @@ -92,8 +92,8 @@ func TestCgrCfgDataDBPortWithoutDynamic(t *testing.T) { if cgrCfg, err := NewCGRConfigFromJsonStringWithDefaults(JSN_CFG); err != nil { t.Error(err) - } else if cgrCfg.DataDbCfg().DataDbType != utils.INTERNAL { - t.Errorf("Expected: %+v, received: %+v", cgrCfg.DataDbCfg().DataDbType, utils.INTERNAL) + } else if cgrCfg.DataDbCfg().DataDbType != utils.MetaInternal { + t.Errorf("Expected: %+v, received: %+v", cgrCfg.DataDbCfg().DataDbType, utils.MetaInternal) } else if cgrCfg.DataDbCfg().DataDbPort != "6379" { t.Errorf("Expected: %+v, received: %+v", cgrCfg.DataDbCfg().DataDbPort, "6379") } @@ -110,8 +110,8 @@ func TestCgrCfgDataDBPortWithDymanic(t *testing.T) { if cgrCfg, err := NewCGRConfigFromJsonStringWithDefaults(JSN_CFG); err != nil { t.Error(err) - } else if cgrCfg.DataDbCfg().DataDbType != utils.MONGO { - t.Errorf("Expected: %+v, received: %+v", cgrCfg.DataDbCfg().DataDbType, utils.MONGO) + } else if cgrCfg.DataDbCfg().DataDbType != utils.MetaMongo { + t.Errorf("Expected: %+v, received: %+v", cgrCfg.DataDbCfg().DataDbType, utils.MetaMongo) } else if cgrCfg.DataDbCfg().DataDbPort != "27017" { t.Errorf("Expected: %+v, received: %+v", cgrCfg.DataDbCfg().DataDbPort, "27017") } @@ -125,8 +125,8 @@ func TestCgrCfgDataDBPortWithDymanic(t *testing.T) { if cgrCfg, err := NewCGRConfigFromJsonStringWithDefaults(JSN_CFG); err != nil { t.Error(err) - } else if cgrCfg.DataDbCfg().DataDbType != utils.INTERNAL { - t.Errorf("Expected: %+v, received: %+v", cgrCfg.DataDbCfg().DataDbType, utils.INTERNAL) + } else if cgrCfg.DataDbCfg().DataDbType != utils.MetaInternal { + t.Errorf("Expected: %+v, received: %+v", cgrCfg.DataDbCfg().DataDbType, utils.MetaInternal) } else if cgrCfg.DataDbCfg().DataDbPort != "internal" { t.Errorf("Expected: %+v, received: %+v", cgrCfg.DataDbCfg().DataDbPort, "internal") } @@ -142,8 +142,8 @@ func TestCgrCfgStorDBPortWithoutDynamic(t *testing.T) { if cgrCfg, err := NewCGRConfigFromJsonStringWithDefaults(JSN_CFG); err != nil { t.Error(err) - } else if cgrCfg.StorDbCfg().Type != utils.MONGO { - t.Errorf("Expected: %+v, received: %+v", cgrCfg.StorDbCfg().Type, utils.MONGO) + } else if cgrCfg.StorDbCfg().Type != utils.MetaMongo { + t.Errorf("Expected: %+v, received: %+v", cgrCfg.StorDbCfg().Type, utils.MetaMongo) } else if cgrCfg.StorDbCfg().Port != "3306" { t.Errorf("Expected: %+v, received: %+v", cgrCfg.StorDbCfg().Port, "3306") } @@ -160,8 +160,8 @@ func TestCgrCfgStorDBPortWithDymanic(t *testing.T) { if cgrCfg, err := NewCGRConfigFromJsonStringWithDefaults(JSN_CFG); err != nil { t.Error(err) - } else if cgrCfg.StorDbCfg().Type != utils.MONGO { - t.Errorf("Expected: %+v, received: %+v", cgrCfg.StorDbCfg().Type, utils.MONGO) + } else if cgrCfg.StorDbCfg().Type != utils.MetaMongo { + t.Errorf("Expected: %+v, received: %+v", cgrCfg.StorDbCfg().Type, utils.MetaMongo) } else if cgrCfg.StorDbCfg().Port != "27017" { t.Errorf("Expected: %+v, received: %+v", cgrCfg.StorDbCfg().Port, "27017") } @@ -312,7 +312,7 @@ func TestCgrCfgJSONDefaultsListen(t *testing.T) { } func TestCgrCfgJSONDefaultsjsnDataDb(t *testing.T) { - if cgrCfg.DataDbCfg().DataDbType != "redis" { + if cgrCfg.DataDbCfg().DataDbType != "*redis" { t.Errorf("Expecting: redis , recived: %+v", cgrCfg.DataDbCfg().DataDbType) } if cgrCfg.DataDbCfg().DataDbHost != "127.0.0.1" { @@ -339,7 +339,7 @@ func TestCgrCfgJSONDefaultsjsnDataDb(t *testing.T) { } func TestCgrCfgJSONDefaultsStorDB(t *testing.T) { - if cgrCfg.StorDbCfg().Type != "mysql" { + if cgrCfg.StorDbCfg().Type != "*mysql" { t.Errorf("Expecting: mysql , recived: %+v", cgrCfg.StorDbCfg().Type) } if cgrCfg.StorDbCfg().Host != "127.0.0.1" { @@ -985,7 +985,7 @@ func TestRadiusAgentCfg(t *testing.T) { func TestDbDefaults(t *testing.T) { dbdf := newDbDefaults() flagInput := utils.MetaDynamic - dbs := []string{utils.MONGO, utils.REDIS, utils.MYSQL, utils.INTERNAL} + dbs := []string{utils.MetaMongo, utils.MetaRedis, utils.MetaMySQL, utils.MetaInternal} for _, dbtype := range dbs { host := dbdf.dbHost(dbtype, flagInput) if host != utils.LOCALHOST { @@ -1527,14 +1527,14 @@ func TestCgrLoaderCfgDefault(t *testing.T) { func TestCgrMigratorCfgDefault(t *testing.T) { eMgrCfg := &MigratorCgrCfg{ - OutDataDBType: "redis", + OutDataDBType: "*redis", OutDataDBHost: "127.0.0.1", OutDataDBPort: "6379", OutDataDBName: "10", OutDataDBUser: "cgrates", OutDataDBPassword: "", OutDataDBEncoding: "msgpack", - OutStorDBType: "mysql", + OutStorDBType: "*mysql", OutStorDBHost: "127.0.0.1", OutStorDBPort: "3306", OutStorDBName: "cgrates", diff --git a/config/configsanity.go b/config/configsanity.go index 4d1b83c5e..3a4c0b3eb 100644 --- a/config/configsanity.go +++ b/config/configsanity.go @@ -516,7 +516,7 @@ func (cfg *CGRConfig) checkConfigSanity() error { } } // StorDB sanity checks - if cfg.storDbCfg.Type == utils.POSTGRES { + if cfg.storDbCfg.Type == utils.MetaPostgres { if !utils.IsSliceMember([]string{utils.PostgressSSLModeDisable, utils.PostgressSSLModeAllow, utils.PostgressSSLModePrefer, utils.PostgressSSLModeRequire, utils.PostgressSSLModeVerifyCa, utils.PostgressSSLModeVerifyFull}, cfg.storDbCfg.SSLMode) { @@ -524,7 +524,7 @@ func (cfg *CGRConfig) checkConfigSanity() error { } } // DataDB sanity checks - if cfg.dataDbCfg.DataDbType == utils.INTERNAL { + if cfg.dataDbCfg.DataDbType == utils.MetaInternal { for key, config := range cfg.cacheCfg { if utils.CacheDataDBPartitions.Has(key) && config.Limit != 0 { return fmt.Errorf("<%s> %s needs to be 0 when DataBD is *internal, received : %d", utils.CacheS, key, config.Limit) diff --git a/config/configsanity_test.go b/config/configsanity_test.go index 53159a12f..166598e48 100644 --- a/config/configsanity_test.go +++ b/config/configsanity_test.go @@ -714,7 +714,7 @@ func TestConfigSanityEventReader(t *testing.T) { func TestConfigSanityStorDB(t *testing.T) { cfg, _ = NewDefaultCGRConfig() cfg.storDbCfg = &StorDbCfg{ - Type: utils.POSTGRES, + Type: utils.MetaPostgres, SSLMode: "wrongSSLMode", } expected := " unsuported sslmode for storDB" @@ -725,7 +725,7 @@ func TestConfigSanityStorDB(t *testing.T) { func TestConfigSanityDataDB(t *testing.T) { cfg, _ = NewDefaultCGRConfig() - cfg.dataDbCfg.DataDbType = utils.INTERNAL + cfg.dataDbCfg.DataDbType = utils.MetaInternal cfg.cacheCfg = CacheCfg{ utils.CacheTimings: &CacheParamCfg{ diff --git a/config/datadbcfg.go b/config/datadbcfg.go index 1e30d4bf7..33164dc04 100644 --- a/config/datadbcfg.go +++ b/config/datadbcfg.go @@ -49,7 +49,11 @@ func (dbcfg *DataDbCfg) loadFromJsonCfg(jsnDbCfg *DbJsonCfg) (err error) { return nil } if jsnDbCfg.Db_type != nil { - dbcfg.DataDbType = strings.TrimPrefix(*jsnDbCfg.Db_type, "*") + if !strings.HasPrefix(*jsnDbCfg.Db_type, "*") { + dbcfg.DataDbType = fmt.Sprintf("*%s", *jsnDbCfg.Db_type) + } else { + dbcfg.DataDbType = *jsnDbCfg.Db_type + } } if jsnDbCfg.Db_host != nil { dbcfg.DataDbHost = *jsnDbCfg.Db_host @@ -145,7 +149,7 @@ func (dbcfg *DataDbCfg) AsMapInterface() map[string]interface{} { dbPort, _ := strconv.Atoi(dbcfg.DataDbPort) return map[string]interface{}{ - utils.DataDbTypeCfg: utils.Meta + dbcfg.DataDbType, + utils.DataDbTypeCfg: dbcfg.DataDbType, utils.DataDbHostCfg: dbcfg.DataDbHost, utils.DataDbPortCfg: dbPort, utils.DataDbNameCfg: dbcfg.DataDbName, diff --git a/config/datadbcfg_test.go b/config/datadbcfg_test.go index 079ca7b76..a7f7152f0 100644 --- a/config/datadbcfg_test.go +++ b/config/datadbcfg_test.go @@ -48,7 +48,7 @@ func TestDataDbCfgloadFromJsonCfg(t *testing.T) { } }` expected = DataDbCfg{ - DataDbType: "redis", + DataDbType: "*redis", DataDbHost: "127.0.0.1", DataDbPort: "6379", DataDbName: "10", @@ -74,7 +74,7 @@ func TestDataDbCfgloadFromJsonCfgPort(t *testing.T) { } }` expected := DataDbCfg{ - DataDbType: "mongo", + DataDbType: "*mongo", } if jsnCfg, err := NewCgrJsonCfgFromBytes([]byte(cfgJSONStr)); err != nil { t.Error(err) @@ -92,7 +92,7 @@ func TestDataDbCfgloadFromJsonCfgPort(t *testing.T) { } }` expected = DataDbCfg{ - DataDbType: "mongo", + DataDbType: "*mongo", DataDbPort: "27017", } if jsnCfg, err := NewCgrJsonCfgFromBytes([]byte(cfgJSONStr)); err != nil { @@ -111,7 +111,7 @@ func TestDataDbCfgloadFromJsonCfgPort(t *testing.T) { } }` expected = DataDbCfg{ - DataDbType: "internal", + DataDbType: "*internal", DataDbPort: "internal", } if jsnCfg, err := NewCgrJsonCfgFromBytes([]byte(cfgJSONStr)); err != nil { @@ -141,7 +141,7 @@ func TestDataDBRemoteReplication(t *testing.T) { }` expected = DataDbCfg{ - DataDbType: "redis", + DataDbType: "*redis", DataDbHost: "127.0.0.1", DataDbPort: "6379", DataDbName: "10", @@ -169,7 +169,7 @@ func TestDataDBRemoteReplication(t *testing.T) { }` expected = DataDbCfg{ - DataDbType: utils.INTERNAL, + DataDbType: utils.MetaInternal, DataDbHost: "127.0.0.1", DataDbPort: "6379", DataDbName: "10", @@ -198,7 +198,7 @@ func TestDataDBRemoteReplication(t *testing.T) { }` expected = DataDbCfg{ - DataDbType: utils.INTERNAL, + DataDbType: utils.MetaInternal, DataDbHost: "127.0.0.1", DataDbPort: "6379", DataDbName: "10", @@ -240,7 +240,7 @@ func TestDataDbCfgloadFromJsonCfgItems(t *testing.T) { }` expected = DataDbCfg{ - DataDbType: "redis", + DataDbType: "*redis", DataDbHost: "127.0.0.1", DataDbPort: "6379", DataDbName: "10", @@ -293,7 +293,7 @@ func TestDataDbCfgloadFromJsonCfgItems(t *testing.T) { }` expected = DataDbCfg{ - DataDbType: "redis", + DataDbType: "*redis", DataDbHost: "127.0.0.1", DataDbPort: "6379", DataDbName: "10", @@ -353,7 +353,7 @@ func TestDataDbCfgloadFromJsonCfgItems(t *testing.T) { }` expected = DataDbCfg{ - DataDbType: "redis", + DataDbType: "*redis", DataDbHost: "127.0.0.1", DataDbPort: "6379", DataDbName: "10", diff --git a/config/migratorcfg.go b/config/migratorcfg.go index 976f7c1ab..d3c98291d 100644 --- a/config/migratorcfg.go +++ b/config/migratorcfg.go @@ -19,6 +19,7 @@ along with this program. If not, see package config import ( + "fmt" "strings" "github.com/cgrates/cgrates/utils" @@ -47,7 +48,11 @@ func (mg *MigratorCgrCfg) loadFromJsonCfg(jsnCfg *MigratorCfgJson) (err error) { return } if jsnCfg.Out_dataDB_type != nil { - mg.OutDataDBType = strings.TrimPrefix(*jsnCfg.Out_dataDB_type, "*") + if !strings.HasPrefix(*jsnCfg.Out_dataDB_type, "*") { + mg.OutDataDBType = fmt.Sprintf("*%s", *jsnCfg.Out_dataDB_type) + } else { + mg.OutDataDBType = *jsnCfg.Out_dataDB_type + } } if jsnCfg.Out_dataDB_host != nil { mg.OutDataDBHost = *jsnCfg.Out_dataDB_host @@ -71,7 +76,12 @@ func (mg *MigratorCgrCfg) loadFromJsonCfg(jsnCfg *MigratorCfgJson) (err error) { mg.OutDataDBRedisSentinel = *jsnCfg.Out_dataDB_redis_sentinel } if jsnCfg.Out_storDB_type != nil { - mg.OutStorDBType = *jsnCfg.Out_storDB_type + if !strings.HasPrefix(*jsnCfg.Out_storDB_type, "*") { + mg.OutStorDBType = fmt.Sprintf("*%s", *jsnCfg.Out_storDB_type) + } else { + mg.OutStorDBType = *jsnCfg.Out_storDB_type + } + } if jsnCfg.Out_storDB_host != nil { mg.OutStorDBHost = *jsnCfg.Out_storDB_host diff --git a/config/migratorcfg_test.go b/config/migratorcfg_test.go index c464518ff..bf684365a 100644 --- a/config/migratorcfg_test.go +++ b/config/migratorcfg_test.go @@ -54,14 +54,14 @@ func TestMigratorCgrCfgloadFromJsonCfg(t *testing.T) { }, }` expected = MigratorCgrCfg{ - OutDataDBType: "redis", + OutDataDBType: "*redis", OutDataDBHost: "127.0.0.1", OutDataDBPort: "6379", OutDataDBName: "10", OutDataDBUser: "cgrates", OutDataDBPassword: "", OutDataDBEncoding: "msgpack", - OutStorDBType: "mysql", + OutStorDBType: "*mysql", OutStorDBHost: "127.0.0.1", OutStorDBPort: "3306", OutStorDBName: "cgrates", @@ -101,14 +101,14 @@ func TestMigratorCgrCfgAsMapInterface(t *testing.T) { }` var users_filters []string eMap := map[string]interface{}{ - "out_datadb_type": "redis", + "out_datadb_type": "*redis", "out_datadb_host": "127.0.0.1", "out_datadb_port": "6379", "out_datadb_name": "10", "out_datadb_user": "cgrates", "out_datadb_password": "", "out_datadb_encoding": "msgpack", - "out_stordb_type": "mysql", + "out_stordb_type": "*mysql", "out_stordb_host": "127.0.0.1", "out_stordb_port": "3306", "out_stordb_name": "cgrates", @@ -147,14 +147,14 @@ func TestMigratorCgrCfgAsMapInterface(t *testing.T) { }` eMap = map[string]interface{}{ - "out_datadb_type": "redis", + "out_datadb_type": "*redis", "out_datadb_host": "127.0.0.1", "out_datadb_port": "6379", "out_datadb_name": "10", "out_datadb_user": "cgrates", "out_datadb_password": "out_datadb_password", "out_datadb_encoding": "msgpack", - "out_stordb_type": "mysql", + "out_stordb_type": "*mysql", "out_stordb_host": "127.0.0.1", "out_stordb_port": "3306", "out_stordb_name": "cgrates", diff --git a/config/stordbcfg.go b/config/stordbcfg.go index fca0cf560..ca6044c05 100644 --- a/config/stordbcfg.go +++ b/config/stordbcfg.go @@ -19,6 +19,7 @@ along with this program. If not, see package config import ( + "fmt" "strconv" "strings" "time" @@ -50,7 +51,12 @@ func (dbcfg *StorDbCfg) loadFromJsonCfg(jsnDbCfg *DbJsonCfg) (err error) { return nil } if jsnDbCfg.Db_type != nil { - dbcfg.Type = strings.TrimPrefix(*jsnDbCfg.Db_type, "*") + if !strings.HasPrefix(*jsnDbCfg.Db_type, "*") { + dbcfg.Type = fmt.Sprintf("*%s", *jsnDbCfg.Db_type) + } else { + dbcfg.Type = *jsnDbCfg.Db_type + } + } if jsnDbCfg.Db_host != nil { dbcfg.Host = *jsnDbCfg.Db_host @@ -138,7 +144,7 @@ func (dbcfg *StorDbCfg) AsMapInterface() map[string]interface{} { dbPort, _ := strconv.Atoi(dbcfg.Port) return map[string]interface{}{ - utils.DataDbTypeCfg: utils.Meta + dbcfg.Type, + utils.DataDbTypeCfg: dbcfg.Type, utils.DataDbHostCfg: dbcfg.Host, utils.DataDbPortCfg: dbPort, utils.DataDbNameCfg: dbcfg.Name, diff --git a/config/stordbcfg_test.go b/config/stordbcfg_test.go index 816e04dd7..5e899a9ed 100644 --- a/config/stordbcfg_test.go +++ b/config/stordbcfg_test.go @@ -52,7 +52,7 @@ func TestStoreDbCfgloadFromJsonCfg(t *testing.T) { } }` expected = StorDbCfg{ - Type: "mysql", + Type: "*mysql", Host: "127.0.0.1", Port: "3306", Name: "cgrates", @@ -82,7 +82,7 @@ func TestStoreDbCfgloadFromJsonCfgPort(t *testing.T) { } }` expected := StorDbCfg{ - Type: "mongo", + Type: "*mongo", } if jsnCfg, err := NewCgrJsonCfgFromBytes([]byte(cfgJSONStr)); err != nil { t.Error(err) @@ -100,7 +100,7 @@ func TestStoreDbCfgloadFromJsonCfgPort(t *testing.T) { } }` expected = StorDbCfg{ - Type: "mongo", + Type: "*mongo", Port: "27017", } if jsnCfg, err := NewCgrJsonCfgFromBytes([]byte(cfgJSONStr)); err != nil { @@ -119,7 +119,7 @@ func TestStoreDbCfgloadFromJsonCfgPort(t *testing.T) { } }` expected = StorDbCfg{ - Type: "internal", + Type: "*internal", Port: "internal", } if jsnCfg, err := NewCgrJsonCfgFromBytes([]byte(cfgJSONStr)); err != nil { diff --git a/data/conf/samples/tutmysql/cgrates.json b/data/conf/samples/tutmysql/cgrates.json index 7cad9ed25..1fcb3e7fd 100644 --- a/data/conf/samples/tutmysql/cgrates.json +++ b/data/conf/samples/tutmysql/cgrates.json @@ -4,7 +4,7 @@ "general": { - "log_level": 7, + "log_level": 10, "reply_timeout": "50s", }, diff --git a/engine/datamanager.go b/engine/datamanager.go index dd3acbffa..6266eae71 100644 --- a/engine/datamanager.go +++ b/engine/datamanager.go @@ -120,7 +120,7 @@ func (dm *DataManager) DataDB() DataDB { func (dm *DataManager) LoadDataDBCache(dstIDs, rvDstIDs, rplIDs, rpfIDs, actIDs, aplIDs, aaPlIDs, atrgIDs, sgIDs, rpIDs, resIDs, stqIDs, stqpIDs, thIDs, thpIDs, fltrIDs, splPrflIDs, alsPrfIDs, cppIDs, dppIDs, dphIDs []string) (err error) { - if dm.DataDB().GetStorageType() == utils.INTERNAL { + if dm.DataDB().GetStorageType() == utils.MetaInternal { if dm.cacheCfg == nil { return } @@ -515,7 +515,7 @@ func (dm *DataManager) GetStatQueue(tenant, id string, if err = dm.connMgr.Call(config.CgrConfig().DataDbCfg().RmtConns, nil, utils.ReplicatorSv1GetStatQueue, &utils.TenantID{Tenant: tenant, ID: id}, sq); err == nil { var ssq *StoredStatQueue - if dm.dataDB.GetStorageType() != utils.INTERNAL { + if dm.dataDB.GetStorageType() != utils.MetaInternal { // in case of internal we don't marshal if ssq, err = NewStoredStatQueue(sq, dm.ms); err != nil { return @@ -544,7 +544,7 @@ func (dm *DataManager) GetStatQueue(tenant, id string, // SetStatQueue converts to StoredStatQueue and stores the result in dataDB func (dm *DataManager) SetStatQueue(sq *StatQueue) (err error) { var ssq *StoredStatQueue - if dm.dataDB.GetStorageType() != utils.INTERNAL || + if dm.dataDB.GetStorageType() != utils.MetaInternal || config.CgrConfig().DataDbCfg().Items[utils.MetaStatQueues].Replicate { // in case of internal we don't marshal if ssq, err = NewStoredStatQueue(sq, dm.ms); err != nil { @@ -767,7 +767,7 @@ func (dm *DataManager) GetThresholdProfile(tenant, id string, cacheRead, cacheWr } if err != nil { err = utils.CastRPCErr(err) - if err == utils.ErrNotFound && cacheWrite && dm.dataDB.GetStorageType() != utils.INTERNAL { + if err == utils.ErrNotFound && cacheWrite && dm.dataDB.GetStorageType() != utils.MetaInternal { Cache.Set(utils.CacheThresholdProfiles, tntID, nil, nil, cacheCommit(transactionID), transactionID) @@ -2191,7 +2191,7 @@ func (dm *DataManager) GetChargerProfile(tenant, id string, cacheRead, cacheWrit } if err != nil { err = utils.CastRPCErr(err) - if err == utils.ErrNotFound && cacheWrite && dm.dataDB.GetStorageType() != utils.INTERNAL { + if err == utils.ErrNotFound && cacheWrite && dm.dataDB.GetStorageType() != utils.MetaInternal { Cache.Set(utils.CacheChargerProfiles, tntID, nil, nil, cacheCommit(transactionID), transactionID) diff --git a/engine/libtest.go b/engine/libtest.go index 54c03a7e5..30883d02a 100644 --- a/engine/libtest.go +++ b/engine/libtest.go @@ -26,6 +26,7 @@ import ( "os" "os/exec" "path" + "strings" "time" "github.com/cgrates/cgrates/config" @@ -314,11 +315,12 @@ func InitStorDb(cfg *config.CGRConfig) error { if err != nil { return err } + db_Path := strings.Trim(cfg.StorDbCfg().Type, "*") if err := storDb.Flush(path.Join(cfg.DataFolderPath, "storage", - cfg.StorDbCfg().Type)); err != nil { + db_Path)); err != nil { return err } - if utils.IsSliceMember([]string{utils.MONGO, utils.MYSQL, utils.POSTGRES}, + if utils.IsSliceMember([]string{utils.MetaMongo, utils.MetaMySQL, utils.MetaPostgres}, cfg.StorDbCfg().Type) { if err := SetDBVersions(storDb); err != nil { return err diff --git a/engine/onstor_it_test.go b/engine/onstor_it_test.go index ad86dd153..66c5eb854 100644 --- a/engine/onstor_it_test.go +++ b/engine/onstor_it_test.go @@ -143,7 +143,7 @@ func testOnStorITIsDBEmpty(t *testing.T) { } func testOnStorITCacheDestinations(t *testing.T) { - if onStor.dataDB.GetStorageType() == utils.INTERNAL { + if onStor.dataDB.GetStorageType() == utils.MetaInternal { t.SkipNow() } if err := onStor.CacheDataFromDB("INVALID", nil, false); err == nil || err.Error() != utils.UnsupportedCachePrefix { @@ -175,7 +175,7 @@ func testOnStorITCacheDestinations(t *testing.T) { } func testOnStorITCacheReverseDestinations(t *testing.T) { - if onStor.dataDB.GetStorageType() == utils.INTERNAL { + if onStor.dataDB.GetStorageType() == utils.MetaInternal { t.SkipNow() } dst := &Destination{Id: "TEST_CACHE", Prefixes: []string{"+491", "+492", "+493"}} @@ -200,7 +200,7 @@ func testOnStorITCacheReverseDestinations(t *testing.T) { } func testOnStorITCacheActionPlan(t *testing.T) { - if onStor.dataDB.GetStorageType() == utils.INTERNAL { + if onStor.dataDB.GetStorageType() == utils.MetaInternal { t.SkipNow() } ap := &ActionPlan{ @@ -266,7 +266,7 @@ func testOnStorITCacheActionPlan(t *testing.T) { } func testOnStorITCacheAccountActionPlans(t *testing.T) { - if onStor.dataDB.GetStorageType() == utils.INTERNAL { + if onStor.dataDB.GetStorageType() == utils.MetaInternal { t.SkipNow() } acntID := utils.ConcatenatedKey("cgrates.org", "1001") diff --git a/engine/storage_internal_datadb.go b/engine/storage_internal_datadb.go index 117cd270a..a65730882 100644 --- a/engine/storage_internal_datadb.go +++ b/engine/storage_internal_datadb.go @@ -446,7 +446,7 @@ func (iDB *InternalDB) RemoveVersions(vrs Versions) (err error) { } func (iDB *InternalDB) GetStorageType() string { - return utils.INTERNAL + return utils.MetaInternal } func (iDB *InternalDB) IsDBEmpty() (resp bool, err error) { diff --git a/engine/storage_mongo_stordb.go b/engine/storage_mongo_stordb.go index 7286735e7..b06e094b7 100644 --- a/engine/storage_mongo_stordb.go +++ b/engine/storage_mongo_stordb.go @@ -1600,5 +1600,5 @@ func (ms *MongoStorage) RemoveVersions(vrs Versions) (err error) { } func (ms *MongoStorage) GetStorageType() string { - return utils.MONGO + return utils.MetaMongo } diff --git a/engine/storage_mysql.go b/engine/storage_mysql.go index 6c5e4e4d9..7bad69051 100644 --- a/engine/storage_mysql.go +++ b/engine/storage_mysql.go @@ -88,5 +88,5 @@ func (self *MySQLStorage) notExtraFieldsValueQry(field, value string) string { } func (self *MySQLStorage) GetStorageType() string { - return utils.MYSQL + return utils.MetaMySQL } diff --git a/engine/storage_postgres.go b/engine/storage_postgres.go index 77ebb7958..db3553443 100644 --- a/engine/storage_postgres.go +++ b/engine/storage_postgres.go @@ -92,5 +92,5 @@ func (self *PostgresStorage) notExtraFieldsValueQry(field, value string) string } func (self *PostgresStorage) GetStorageType() string { - return utils.POSTGRES + return utils.MetaPostgres } diff --git a/engine/storage_redis.go b/engine/storage_redis.go index 2502725af..cc7bb331c 100644 --- a/engine/storage_redis.go +++ b/engine/storage_redis.go @@ -1469,7 +1469,7 @@ func (rs *RedisStorage) RemoveDispatcherHostDrv(tenant, id string) (err error) { } func (rs *RedisStorage) GetStorageType() string { - return utils.REDIS + return utils.MetaRedis } func (rs *RedisStorage) GetItemLoadIDsDrv(itemIDPrefix string) (loadIDs map[string]int64, err error) { diff --git a/engine/storage_utils.go b/engine/storage_utils.go index 96fa282b1..e947bfb27 100644 --- a/engine/storage_utils.go +++ b/engine/storage_utils.go @@ -36,7 +36,7 @@ func NewDataDBConn(dbType, host, port, name, user, pass, marshaler, sentinelName string, itemsCacheCfg map[string]*config.ItemOpt) (d DataDB, err error) { switch dbType { - case utils.REDIS: + case utils.MetaRedis: var dbNo int dbNo, err = strconv.Atoi(name) if err != nil { @@ -47,9 +47,9 @@ func NewDataDBConn(dbType, host, port, name, user, host += ":" + port } d, err = NewRedisStorage(host, dbNo, pass, marshaler, utils.REDIS_MAX_CONNS, sentinelName) - case utils.MONGO: + case utils.MetaMongo: d, err = NewMongoStorage(host, port, name, user, pass, marshaler, utils.DataDB, nil, true) - case utils.INTERNAL: + case utils.MetaInternal: d = NewInternalDB(nil, nil, true, itemsCacheCfg) default: err = fmt.Errorf("unsupported db_type <%s>", dbType) @@ -63,17 +63,17 @@ func NewStorDBConn(dbType, host, port, name, user, pass, marshaler, sslmode stri stringIndexedFields, prefixIndexedFields []string, itemsCacheCfg map[string]*config.ItemOpt) (db StorDB, err error) { switch dbType { - case utils.MONGO: + case utils.MetaMongo: db, err = NewMongoStorage(host, port, name, user, pass, marshaler, utils.StorDB, stringIndexedFields, false) - case utils.POSTGRES: + case utils.MetaPostgres: db, err = NewPostgresStorage(host, port, name, user, pass, sslmode, maxConn, maxIdleConn, connMaxLifetime) - case utils.MYSQL: + case utils.MetaMySQL: db, err = NewMySQLStorage(host, port, name, user, pass, maxConn, maxIdleConn, connMaxLifetime) - case utils.INTERNAL: + case utils.MetaInternal: db = NewInternalDB(stringIndexedFields, prefixIndexedFields, false, itemsCacheCfg) default: err = fmt.Errorf("unknown db '%s' valid options are [%s, %s, %s, %s]", - dbType, utils.MYSQL, utils.MONGO, utils.POSTGRES, utils.INTERNAL) + dbType, utils.MetaMySQL, utils.MetaMongo, utils.MetaPostgres, utils.MetaInternal) } return } diff --git a/engine/stordb_it_test.go b/engine/stordb_it_test.go index f525ba6f3..31600395e 100644 --- a/engine/stordb_it_test.go +++ b/engine/stordb_it_test.go @@ -121,14 +121,14 @@ func TestStorDBit(t *testing.T) { func testStorDBitIsDBEmpty(t *testing.T) { x := storDB.GetStorageType() switch x { - case utils.MONGO: + case utils.MetaMongo: test, err := storDB.IsDBEmpty() if err != nil { t.Error(err) } else if test != true { t.Errorf("\nExpecting: true got :%+v", test) } - case utils.POSTGRES, utils.MYSQL: + case utils.MetaPostgres, utils.MetaMySQL: test, err := storDB.IsDBEmpty() if err != nil { t.Error(err) diff --git a/engine/version.go b/engine/version.go index 963a76c22..a7d205afb 100644 --- a/engine/version.go +++ b/engine/version.go @@ -118,17 +118,17 @@ func OverwriteDBVersions(storage Storage) (err error) { func (vers Versions) Compare(curent Versions, storType string, isDataDB bool) string { var message map[string]string switch storType { - case utils.MONGO: + case utils.MetaMongo: if isDataDB { message = dataDBVers } else { message = storDBVers } - case utils.INTERNAL: + case utils.MetaInternal: message = allVers - case utils.POSTGRES, utils.MYSQL: + case utils.MetaPostgres, utils.MetaMySQL: message = storDBVers - case utils.REDIS: + case utils.MetaRedis: message = dataDBVers } for subsis, reason := range message { @@ -212,16 +212,16 @@ func CurrentAllDBVersions() Versions { // CurrentDBVersions returns versions based on dbType func CurrentDBVersions(storType string, isDataDB bool) Versions { switch storType { - case utils.MONGO: + case utils.MetaMongo: if isDataDB { return CurrentDataDBVersions() } return CurrentStorDBVersions() - case utils.INTERNAL: + case utils.MetaInternal: return CurrentAllDBVersions() - case utils.POSTGRES, utils.MYSQL: + case utils.MetaPostgres, utils.MetaMySQL: return CurrentStorDBVersions() - case utils.REDIS: + case utils.MetaRedis: return CurrentDataDBVersions() } return nil diff --git a/engine/version_test.go b/engine/version_test.go index 91d37ee14..7223f93cd 100644 --- a/engine/version_test.go +++ b/engine/version_test.go @@ -45,27 +45,27 @@ func TestVersionCompare(t *testing.T) { utils.ActionTriggers: 2, utils.ActionPlans: 2, utils.SharedGroups: 2, utils.CostDetails: 2, utils.SessionSCosts: 2} - message1 := y.Compare(x, utils.MONGO, true) + message1 := y.Compare(x, utils.MetaMongo, true) if message1 != "cgr-migrator -exec=*accounts" { t.Errorf("Error failed to compare to curent version expected: %s received: %s", "cgr-migrator -exec=*accounts", message1) } - message2 := z.Compare(x, utils.MONGO, true) + message2 := z.Compare(x, utils.MetaMongo, true) if message2 != "cgr-migrator -exec=*action_plans" { t.Errorf("Error failed to compare to curent version expected: %s received: %s", "cgr-migrator -exec=*action_plans", message2) } - message3 := q.Compare(x, utils.MONGO, true) + message3 := q.Compare(x, utils.MetaMongo, true) if message3 != "cgr-migrator -exec=*shared_groups" { t.Errorf("Error failed to compare to curent version expected: %s received: %s", "cgr-migrator -exec=*shared_groups", message3) } - message4 := c.Compare(x, utils.MONGO, false) + message4 := c.Compare(x, utils.MetaMongo, false) if message4 != "cgr-migrator -exec=*cost_details" { t.Errorf("Error failed to compare to curent version expected: %s received: %s", "cgr-migrator -exec=*cost_details", message4) } - message5 := a.Compare(b, utils.MYSQL, false) + message5 := a.Compare(b, utils.MetaMySQL, false) if message5 != "cgr-migrator -exec=*sessions_costs" { t.Errorf("Error failed to compare to curent version expected: %s received: %s", "cgr-migrator -exec=*sessions_costs", message5) } - message6 := a.Compare(b, utils.POSTGRES, false) + message6 := a.Compare(b, utils.MetaPostgres, false) if message6 != "cgr-migrator -exec=*sessions_costs" { t.Errorf("Error failed to compare to curent version expected: %s received: %s", "cgr-migrator -exec=*sessions_costs", message6) } diff --git a/engine/versions_it_test.go b/engine/versions_it_test.go index de44ab92e..e01c3782d 100644 --- a/engine/versions_it_test.go +++ b/engine/versions_it_test.go @@ -23,6 +23,7 @@ package engine import ( "log" "path" + "strings" "testing" "github.com/cgrates/cgrates/config" @@ -96,7 +97,8 @@ func testVersionsFlush(t *testing.T) { if err != nil { t.Error("Error when flushing Mongo ", err.Error()) } - if err := storageDb.Flush(path.Join(cfg.DataFolderPath, "storage", cfg.StorDbCfg().Type)); err != nil { + db_Path := strings.Trim(cfg.StorDbCfg().Type, "*") + if err := storageDb.Flush(path.Join(cfg.DataFolderPath, "storage", db_Path)); err != nil { t.Error(err) } SetDBVersions(storageDb) @@ -119,12 +121,12 @@ func testVersion(t *testing.T) { storType := dm3.DataDB().GetStorageType() switch storType { - case utils.INTERNAL: + case utils.MetaInternal: currentVersion = allVersions testVersion = allVersions testVersion[utils.Accounts] = 1 test = "Migration needed: please backup cgr data and run : " - case utils.MONGO, utils.REDIS: + case utils.MetaMongo, utils.MetaRedis: currentVersion = dataDbVersions testVersion = dataDbVersions testVersion[utils.Accounts] = 1 @@ -161,12 +163,12 @@ func testVersion(t *testing.T) { } storType = storageDb.GetStorageType() switch storType { - case utils.INTERNAL: + case utils.MetaInternal: currentVersion = allVersions testVersion = allVersions testVersion[utils.Accounts] = 1 test = "Migration needed: please backup cgr data and run : " - case utils.MONGO, utils.POSTGRES, utils.MYSQL: + case utils.MetaMongo, utils.MetaPostgres, utils.MetaMySQL: currentVersion = storDbVersions testVersion = allVersions testVersion[utils.CostDetails] = 1 diff --git a/migrator/accounts2_it_test.go b/migrator/accounts2_it_test.go index cf2b338f2..2f532581c 100755 --- a/migrator/accounts2_it_test.go +++ b/migrator/accounts2_it_test.go @@ -119,13 +119,13 @@ func testAcc2ITFlush(t *testing.T) { if err := engine.SetDBVersions(acc2Migrator.dmIN.DataManager().DataDB()); err != nil { t.Error("Error ", err.Error()) } - if acc2Migrator.dmOut.DataManager().DataDB().GetStorageType() != utils.REDIS { + if acc2Migrator.dmOut.DataManager().DataDB().GetStorageType() != utils.MetaRedis { t.Errorf("Unexpected datadb type : %+v", acc2Migrator.dmOut.DataManager().DataDB().GetStorageType()) } - if acc2Migrator.storDBIn.StorDB().GetStorageType() != utils.INTERNAL { + if acc2Migrator.storDBIn.StorDB().GetStorageType() != utils.MetaInternal { t.Errorf("Unexpected datadb type : %+v", acc2Migrator.storDBIn.StorDB().GetStorageType()) } - if acc2Migrator.storDBOut.StorDB().GetStorageType() != utils.INTERNAL { + if acc2Migrator.storDBOut.StorDB().GetStorageType() != utils.MetaInternal { t.Errorf("Unexpected datadb type : %+v", acc2Migrator.storDBOut.StorDB().GetStorageType()) } } diff --git a/migrator/action_plan.go b/migrator/action_plan.go index ed7a278b5..839fd5e9b 100644 --- a/migrator/action_plan.go +++ b/migrator/action_plan.go @@ -123,7 +123,7 @@ func (m *Migrator) migrateActionPlans() (err error) { utils.UndefinedVersion, "version number is not defined for ActionTriggers model") } - if m.dmIN.DataManager().DataDB().GetStorageType() == utils.REDIS { // if redis rebuild action plans indexes + if m.dmIN.DataManager().DataDB().GetStorageType() == utils.MetaRedis { // if redis rebuild action plans indexes redisDB, can := m.dmIN.DataManager().DataDB().(*engine.RedisStorage) if !can { return fmt.Errorf("Storage type %s could not be cated to <*engine.RedisStorage>", m.dmIN.DataManager().DataDB().GetStorageType()) diff --git a/migrator/migrator.go b/migrator/migrator.go index d9f4b6af3..2d4d2505e 100755 --- a/migrator/migrator.go +++ b/migrator/migrator.go @@ -88,22 +88,22 @@ func (m *Migrator) Migrate(taskIDs []string) (err error, stats map[string]int) { fmt.Sprintf("error: <%s> when seting versions for StorDB", err.Error())), nil } case utils.MetaEnsureIndexes: - if m.storDBOut.StorDB().GetStorageType() == utils.MONGO { + if m.storDBOut.StorDB().GetStorageType() == utils.MetaMongo { mgo := m.storDBOut.StorDB().(*engine.MongoStorage) if err = mgo.EnsureIndexes(); err != nil { return } } else { - log.Printf("The StorDB type has to be %s .\n ", utils.MONGO) + log.Printf("The StorDB type has to be %s .\n ", utils.MetaMongo) } - if m.dmOut.DataManager().DataDB().GetStorageType() == utils.MONGO { + if m.dmOut.DataManager().DataDB().GetStorageType() == utils.MetaMongo { mgo := m.dmOut.DataManager().DataDB().(*engine.MongoStorage) if err = mgo.EnsureIndexes(); err != nil { return } } else { - log.Printf("The DataDB type has to be %s .\n ", utils.MONGO) + log.Printf("The DataDB type has to be %s .\n ", utils.MetaMongo) } case utils.MetaCDRs: err = m.migrateCDRs() @@ -334,7 +334,7 @@ func (m *Migrator) Migrate(taskIDs []string) (err error, stats map[string]int) { } func (m *Migrator) ensureIndexesDataDB(cols ...string) error { - if m.dmOut.DataManager().DataDB().GetStorageType() != utils.MONGO { + if m.dmOut.DataManager().DataDB().GetStorageType() != utils.MetaMongo { return nil } mgo := m.dmOut.DataManager().DataDB().(*engine.MongoStorage) @@ -342,7 +342,7 @@ func (m *Migrator) ensureIndexesDataDB(cols ...string) error { } func (m *Migrator) ensureIndexesStorDB(cols ...string) error { - if m.storDBOut.StorDB().GetStorageType() != utils.MONGO { + if m.storDBOut.StorDB().GetStorageType() != utils.MetaMongo { return nil } mgo := m.storDBOut.StorDB().(*engine.MongoStorage) diff --git a/migrator/migrator_utils.go b/migrator/migrator_utils.go index 7453920b8..2c643c0ef 100644 --- a/migrator/migrator_utils.go +++ b/migrator/migrator_utils.go @@ -39,17 +39,17 @@ func NewMigratorDataDB(db_type, host, port, name, user, pass, dm := engine.NewDataManager(dbCon, cacheCfg, nil) var d MigratorDataDB switch db_type { - case utils.REDIS: + case utils.MetaRedis: d = newRedisMigrator(dm) - case utils.MONGO: + case utils.MetaMongo: d = newMongoMigrator(dm) db = d.(MigratorDataDB) - case utils.INTERNAL: + case utils.MetaInternal: d = newInternalMigrator(dm) db = d.(MigratorDataDB) default: err = errors.New(fmt.Sprintf("Unknown db '%s' valid options are '%s' or '%s or '%s'", - db_type, utils.REDIS, utils.MONGO, utils.INTERNAL)) + db_type, utils.MetaRedis, utils.MetaMongo, utils.MetaInternal)) } return d, nil } @@ -65,21 +65,21 @@ func NewMigratorStorDB(db_type, host, port, name, user, pass, marshaler, sslmode return nil, err } switch db_type { - case utils.MONGO: + case utils.MetaMongo: d = newMongoStorDBMigrator(storDb) db = d.(MigratorStorDB) - case utils.MYSQL: + case utils.MetaMySQL: d = newMigratorSQL(storDb) db = d.(MigratorStorDB) - case utils.POSTGRES: + case utils.MetaPostgres: d = newMigratorSQL(storDb) db = d.(MigratorStorDB) - case utils.INTERNAL: + case utils.MetaInternal: d = newInternalStorDBMigrator(storDb) db = d.(MigratorStorDB) default: err = errors.New(fmt.Sprintf("Unknown db '%s' valid options are [%s, %s, %s, %s]", - db_type, utils.MYSQL, utils.MONGO, utils.POSTGRES, utils.INTERNAL)) + db_type, utils.MetaMySQL, utils.MetaMongo, utils.MetaPostgres, utils.MetaInternal)) } return d, nil } diff --git a/migrator/storage_sql.go b/migrator/storage_sql.go index 8c603ce1b..6ad7ae63b 100755 --- a/migrator/storage_sql.go +++ b/migrator/storage_sql.go @@ -82,7 +82,7 @@ func (mgSQL *migratorSQL) setV1CDR(v1Cdr *v1Cdrs) (err error) { func (mgSQL *migratorSQL) renameV1SMCosts() (err error) { qry := "RENAME TABLE sm_costs TO session_costs;" - if mgSQL.StorDB().GetStorageType() == utils.POSTGRES { + if mgSQL.StorDB().GetStorageType() == utils.MetaPostgres { qry = "ALTER TABLE sm_costs RENAME TO session_costs" } if _, err := mgSQL.sqlStorage.Db.Exec(qry); err != nil { @@ -93,7 +93,7 @@ func (mgSQL *migratorSQL) renameV1SMCosts() (err error) { func (mgSQL *migratorSQL) createV1SMCosts() (err error) { qry := fmt.Sprint("CREATE TABLE sm_costs ( id int(11) NOT NULL AUTO_INCREMENT, cgrid varchar(40) NOT NULL, run_id varchar(64) NOT NULL, origin_host varchar(64) NOT NULL, origin_id varchar(128) NOT NULL, cost_source varchar(64) NOT NULL, `usage` BIGINT NOT NULL, cost_details MEDIUMTEXT, created_at TIMESTAMP NULL,deleted_at TIMESTAMP NULL, PRIMARY KEY (`id`),UNIQUE KEY costid (cgrid, run_id),KEY origin_idx (origin_host, origin_id),KEY run_origin_idx (run_id, origin_id),KEY deleted_at_idx (deleted_at));") - if mgSQL.StorDB().GetStorageType() == utils.POSTGRES { + if mgSQL.StorDB().GetStorageType() == utils.MetaPostgres { qry = ` CREATE TABLE sm_costs ( id SERIAL PRIMARY KEY, diff --git a/services/apiers_it_test.go b/services/apiers_it_test.go index 56114c6c2..0c8be7d46 100644 --- a/services/apiers_it_test.go +++ b/services/apiers_it_test.go @@ -52,7 +52,7 @@ func TestApiersReload(t *testing.T) { server := utils.NewServer() srvMngr := servmanager.NewServiceManager(cfg, engineShutdown) db := NewDataDBService(cfg, nil) - cfg.StorDbCfg().Type = utils.INTERNAL + cfg.StorDbCfg().Type = utils.MetaInternal stordb := NewStorDBService(cfg) schS := NewSchedulerService(cfg, db, chS, filterSChan, server, make(chan rpcclient.ClientConnector, 1), nil) tS := NewThresholdService(cfg, db, chS, filterSChan, server, make(chan rpcclient.ClientConnector, 1)) diff --git a/services/cdrs_it_test.go b/services/cdrs_it_test.go index ebbf4f33e..f135a5a9e 100644 --- a/services/cdrs_it_test.go +++ b/services/cdrs_it_test.go @@ -62,7 +62,7 @@ func TestCdrsReload(t *testing.T) { server := utils.NewServer() srvMngr := servmanager.NewServiceManager(cfg, engineShutdown) db := NewDataDBService(cfg, nil) - cfg.StorDbCfg().Type = utils.INTERNAL + cfg.StorDbCfg().Type = utils.MetaInternal stordb := NewStorDBService(cfg) chrS := NewChargerService(cfg, db, chS, filterSChan, server, nil, nil) schS := NewSchedulerService(cfg, db, chS, filterSChan, server, make(chan rpcclient.ClientConnector, 1), nil) diff --git a/services/datadb.go b/services/datadb.go index 6d520b2e0..5a073c513 100644 --- a/services/datadb.go +++ b/services/datadb.go @@ -90,7 +90,7 @@ func (db *DataDBService) Reload() (err error) { db.oldDBCfg = db.cfg.DataDbCfg().Clone() return } - if db.cfg.DataDbCfg().DataDbType == utils.MONGO { + if db.cfg.DataDbCfg().DataDbType == utils.MetaMongo { mgo, canCast := db.db.DataDB().(*engine.MongoStorage) if !canCast { return fmt.Errorf("can't conver DataDB of type %s to MongoStorage", @@ -152,7 +152,7 @@ func (db *DataDBService) needsConnectionReload() bool { db.oldDBCfg.DataDbPass != db.cfg.DataDbCfg().DataDbPass { return true } - if db.oldDBCfg.DataDbType == utils.REDIS { + if db.oldDBCfg.DataDbType == utils.MetaRedis { return db.oldDBCfg.DataDbSentinelName != db.cfg.DataDbCfg().DataDbSentinelName } return false diff --git a/services/datadb_it_test.go b/services/datadb_it_test.go index 515c5dd83..40c5e3db1 100644 --- a/services/datadb_it_test.go +++ b/services/datadb_it_test.go @@ -76,7 +76,7 @@ func TestDataDBReload(t *testing.T) { t.Errorf("Expected service to be running") } oldcfg := &config.DataDbCfg{ - DataDbType: utils.MONGO, + DataDbType: utils.MetaMongo, DataDbHost: "127.0.0.1", DataDbPort: "27017", DataDbName: "10", diff --git a/services/rals_it_test.go b/services/rals_it_test.go index e85900ec8..242cb696a 100644 --- a/services/rals_it_test.go +++ b/services/rals_it_test.go @@ -62,7 +62,7 @@ func TestRalsReload(t *testing.T) { server := utils.NewServer() srvMngr := servmanager.NewServiceManager(cfg, engineShutdown) db := NewDataDBService(cfg, nil) - cfg.StorDbCfg().Type = utils.INTERNAL + cfg.StorDbCfg().Type = utils.MetaInternal stordb := NewStorDBService(cfg) schS := NewSchedulerService(cfg, db, chS, filterSChan, server, make(chan rpcclient.ClientConnector, 1), nil) tS := NewThresholdService(cfg, db, chS, filterSChan, server, make(chan rpcclient.ClientConnector, 1)) diff --git a/services/sessions_it_test.go b/services/sessions_it_test.go index 22cc61cb3..b1aa1b43e 100644 --- a/services/sessions_it_test.go +++ b/services/sessions_it_test.go @@ -69,7 +69,7 @@ func TestSessionSReload(t *testing.T) { server := utils.NewServer() srvMngr := servmanager.NewServiceManager(cfg, engineShutdown) db := NewDataDBService(cfg, nil) - cfg.StorDbCfg().Type = utils.INTERNAL + cfg.StorDbCfg().Type = utils.MetaInternal stordb := NewStorDBService(cfg) chrS := NewChargerService(cfg, db, chS, filterSChan, server, make(chan rpcclient.ClientConnector, 1), nil) schS := NewSchedulerService(cfg, db, chS, filterSChan, server, make(chan rpcclient.ClientConnector, 1), nil) diff --git a/services/stordb.go b/services/stordb.go index 6d1aeab59..9b69f6402 100644 --- a/services/stordb.go +++ b/services/stordb.go @@ -98,15 +98,15 @@ func (db *StorDBService) Reload() (err error) { db.sync() // sync only if needed return } - if db.cfg.StorDbCfg().Type == utils.MONGO { + if db.cfg.StorDbCfg().Type == utils.MetaMongo { mgo, canCast := db.db.(*engine.MongoStorage) if !canCast { return fmt.Errorf("can't conver StorDB of type %s to MongoStorage", db.cfg.StorDbCfg().Type) } mgo.SetTTL(db.cfg.StorDbCfg().QueryTimeout) - } else if db.cfg.StorDbCfg().Type == utils.POSTGRES || - db.cfg.StorDbCfg().Type == utils.MYSQL { + } else if db.cfg.StorDbCfg().Type == utils.MetaPostgres || + db.cfg.StorDbCfg().Type == utils.MetaMySQL { msql, canCast := db.db.(*engine.SQLStorage) if !canCast { return fmt.Errorf("can't conver StorDB of type %s to SQLStorage", @@ -115,7 +115,7 @@ func (db *StorDBService) Reload() (err error) { msql.Db.SetMaxOpenConns(db.cfg.StorDbCfg().MaxOpenConns) msql.Db.SetMaxIdleConns(db.cfg.StorDbCfg().MaxIdleConns) msql.Db.SetConnMaxLifetime(time.Duration(db.cfg.StorDbCfg().ConnMaxLifetime) * time.Second) - } else if db.cfg.StorDbCfg().Type == utils.INTERNAL { + } else if db.cfg.StorDbCfg().Type == utils.MetaInternal { idb, canCast := db.db.(*engine.InternalDB) if !canCast { return fmt.Errorf("can't conver StorDB of type %s to InternalDB", @@ -194,7 +194,7 @@ func (db *StorDBService) needsConnectionReload() bool { db.oldDBCfg.Password != db.cfg.StorDbCfg().Password { return true } - if db.cfg.StorDbCfg().Type == utils.POSTGRES && + if db.cfg.StorDbCfg().Type == utils.MetaPostgres && db.oldDBCfg.SSLMode != db.cfg.StorDbCfg().SSLMode { return true } diff --git a/utils/consts.go b/utils/consts.go index 6516ddf04..d4c6d10b6 100755 --- a/utils/consts.go +++ b/utils/consts.go @@ -219,6 +219,7 @@ const ( DRYRUN = "dry_run" META_COMBIMED = "*combimed" MetaMongo = "*mongo" + MetaRedis = "*redis" MetaPostgres = "*postgres" MetaInternal = "*internal" MetaLocalHost = "*localhost"