From 9d18928e954d8c1311c8ba52ea9b15b2af7fc325 Mon Sep 17 00:00:00 2001 From: Trial97 Date: Wed, 28 Oct 2020 11:05:45 +0200 Subject: [PATCH] Updated config sanity --- config/configsanity.go | 22 +++++++++++++++++----- data/ansible/rpm_packages/cgrates.spec.j2 | 1 - data/conf/samples/tutmongo/cgrates.json | 4 ---- packages/debian/rules | 1 - packages/redhat_fedora/cgrates.spec | 1 - utils/consts.go | 10 ++++++++++ 6 files changed, 27 insertions(+), 12 deletions(-) diff --git a/config/configsanity.go b/config/configsanity.go index 5e8307f67..92b92135f 100644 --- a/config/configsanity.go +++ b/config/configsanity.go @@ -21,6 +21,7 @@ package config import ( "fmt" "os" + "path" "strings" "github.com/cgrates/cgrates/utils" @@ -725,11 +726,22 @@ func (cfg *CGRConfig) checkConfigSanity() error { return fmt.Errorf("<%s> connection with id: <%s> unsupported transport <%s>", utils.DispatcherH, connID, connCfg.Conns[0].Transport) } } - - /* - DispatchersConns []string - RegisterTransport string - */ + } + if cfg.analyzerSCfg.Enabled { + dir := path.Dir(cfg.analyzerSCfg.DBPath) // only the base path is mandatory to exist + if _, err := os.Stat(dir); err != nil && os.IsNotExist(err) { + return fmt.Errorf("<%s> nonexistent DB folder: %q", utils.AnalyzerS, dir) + } + if !utils.AnzIndexType.Has(cfg.analyzerSCfg.IndexType) { + return fmt.Errorf("<%s> unsuported index type: %q", utils.AnalyzerS, cfg.analyzerSCfg.IndexType) + } + // TTL and CleanupInterval should allways be biger than zero in order to not keep unecesary logs in index + if cfg.analyzerSCfg.TTL <= 0 { + return fmt.Errorf("<%s> the TTL needs to be bigger than 0", utils.AnalyzerS) + } + if cfg.analyzerSCfg.CleanupInterval <= 0 { + return fmt.Errorf("<%s> the CleanupInterval needs to be bigger than 0", utils.AnalyzerS) + } } return nil diff --git a/data/ansible/rpm_packages/cgrates.spec.j2 b/data/ansible/rpm_packages/cgrates.spec.j2 index e46ab7390..e5c564366 100644 --- a/data/ansible/rpm_packages/cgrates.spec.j2 +++ b/data/ansible/rpm_packages/cgrates.spec.j2 @@ -97,7 +97,6 @@ mkdir -p $RPM_BUILD_ROOT%{_spooldir}/cdre/csv mkdir -p $RPM_BUILD_ROOT%{_spooldir}/cdre/fwv mkdir -p $RPM_BUILD_ROOT%{_spooldir}/tpe mkdir -p $RPM_BUILD_ROOT%{_spooldir}/failed_posts -mkdir -p $RPM_BUILD_ROOT%{_spooldir}/analyzers mkdir -p $RPM_BUILD_ROOT%{_libdir}/history mkdir -p $RPM_BUILD_ROOT%{_libdir}/cache_dump mkdir -p $RPM_BUILD_ROOT/etc/logrotate.d diff --git a/data/conf/samples/tutmongo/cgrates.json b/data/conf/samples/tutmongo/cgrates.json index b520c0a95..8dbf0429f 100644 --- a/data/conf/samples/tutmongo/cgrates.json +++ b/data/conf/samples/tutmongo/cgrates.json @@ -124,8 +124,4 @@ }, -"analyzers":{ // AnalyzerS config - "enabled":true // starts AnalyzerS service: . -}, - } diff --git a/packages/debian/rules b/packages/debian/rules index ce564e0eb..9c3f60058 100755 --- a/packages/debian/rules +++ b/packages/debian/rules @@ -40,7 +40,6 @@ binary-arch: clean mkdir -p $(PKGDIR)/var/spool/cgrates/cdre/fwv mkdir -p $(PKGDIR)/var/spool/cgrates/tpe mkdir -p $(PKGDIR)/var/spool/cgrates/failed_posts - mkdir -p $(PKGDIR)/var/spool/cgrates/analyzers mkdir -p $(PKGDIR)/var/lib/cgrates/history mkdir -p $(PKGDIR)/var/lib/cgrates/cache_dump mkdir -p $(PKGDIR)/var/log/cgrates diff --git a/packages/redhat_fedora/cgrates.spec b/packages/redhat_fedora/cgrates.spec index 60c71c791..bafe525d6 100644 --- a/packages/redhat_fedora/cgrates.spec +++ b/packages/redhat_fedora/cgrates.spec @@ -99,7 +99,6 @@ mkdir -p $RPM_BUILD_ROOT%{_spooldir}/cdre/csv mkdir -p $RPM_BUILD_ROOT%{_spooldir}/cdre/fwv mkdir -p $RPM_BUILD_ROOT%{_spooldir}/tpe mkdir -p $RPM_BUILD_ROOT%{_spooldir}/failed_posts -mkdir -p $RPM_BUILD_ROOT%{_spooldir}/analyzers mkdir -p $RPM_BUILD_ROOT%{_libdir}/history mkdir -p $RPM_BUILD_ROOT%{_libdir}/cache_dump mkdir -p $RPM_BUILD_ROOT/etc/logrotate.d diff --git a/utils/consts.go b/utils/consts.go index bf16f6e5b..baa78383a 100755 --- a/utils/consts.go +++ b/utils/consts.go @@ -2499,6 +2499,16 @@ const ( Reply = "Reply" ) +var ( + // AnzIndexType are the analyzers possible index types + AnzIndexType = StringSet{ + MetaScorch: {}, + MetaBoltdb: {}, + MetaLeveldb: {}, + MetaMoss: {}, + } +) + func buildCacheInstRevPrefixes() { CachePrefixToInstance = make(map[string]string) for k, v := range CacheInstanceToPrefix {