From 44638176067df5231bf0be30801e36863391cd1f Mon Sep 17 00:00:00 2001 From: Tim Laszlo Date: Mon, 8 Oct 2012 10:38:02 -0500 Subject: Reporting: Merge new reporting data Move reporting data to a new schema Use south for django migrations Add bcfg2-report-collector daemon Conflicts: doc/development/index.txt doc/server/plugins/connectors/properties.txt doc/server/plugins/generators/packages.txt setup.py src/lib/Bcfg2/Client/Tools/SELinux.py src/lib/Bcfg2/Compat.py src/lib/Bcfg2/Encryption.py src/lib/Bcfg2/Options.py src/lib/Bcfg2/Server/Admin/Init.py src/lib/Bcfg2/Server/Admin/Reports.py src/lib/Bcfg2/Server/BuiltinCore.py src/lib/Bcfg2/Server/Core.py src/lib/Bcfg2/Server/FileMonitor/Inotify.py src/lib/Bcfg2/Server/Plugin/base.py src/lib/Bcfg2/Server/Plugin/interfaces.py src/lib/Bcfg2/Server/Plugins/Cfg/CfgEncryptedGenerator.py src/lib/Bcfg2/Server/Plugins/FileProbes.py src/lib/Bcfg2/Server/Plugins/Ohai.py src/lib/Bcfg2/Server/Plugins/Packages/Collection.py src/lib/Bcfg2/Server/Plugins/Packages/Source.py src/lib/Bcfg2/Server/Plugins/Packages/Yum.py src/lib/Bcfg2/Server/Plugins/Packages/__init__.py src/lib/Bcfg2/Server/Plugins/Probes.py src/lib/Bcfg2/Server/Plugins/Properties.py src/lib/Bcfg2/Server/Reports/backends.py src/lib/Bcfg2/Server/Reports/manage.py src/lib/Bcfg2/Server/Reports/nisauth.py src/lib/Bcfg2/settings.py src/sbin/bcfg2-crypt src/sbin/bcfg2-yum-helper testsuite/Testsrc/Testlib/TestServer/TestPlugins/TestProbes.py testsuite/Testsrc/Testlib/TestServer/TestPlugins/TestSEModules.py --- src/lib/Bcfg2/Options.py | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'src/lib/Bcfg2/Options.py') diff --git a/src/lib/Bcfg2/Options.py b/src/lib/Bcfg2/Options.py index 4fda79dfb..0b4b1b047 100644 --- a/src/lib/Bcfg2/Options.py +++ b/src/lib/Bcfg2/Options.py @@ -333,6 +333,23 @@ def get_bool(val): else: raise ValueError +def get_size(value): + if value == -1: + return value + mat = re.match("(\d+)([KkMmGg])?", value) + if not mat: + raise ValueError + rvalue = int(mat.group(1)) + mult = mat.group(2).lower() + if mult == 'k': + return rvalue * 1024 + elif mult == 'm': + return rvalue * 1024 * 1024 + elif mult == 'g': + return rvalue * 1024 * 1024 * 1024 + else: + return rvalue + def get_gid(val): """ This takes a group name or gid and returns the corresponding @@ -607,6 +624,12 @@ DJANGO_WEB_PREFIX = \ default=None, cf=('statistics', 'web_prefix'),) +# Reporting options +REPORTING_FILE_LIMIT = \ + Option('Reporting file size limit', + default=get_size('512m'), + cf=('reporting', 'file_limit'), + cook=get_size,) # Client options CLIENT_KEY = \ @@ -1135,6 +1158,8 @@ DATABASE_COMMON_OPTIONS = dict(web_configfile=WEB_CFILE, django_debug=DJANGO_DEBUG, web_prefix=DJANGO_WEB_PREFIX) +REPORTING_COMMON_OPTIONS = dict(reporting_file_limit=REPORTING_FILE_LIMIT) + class OptionParser(OptionSet): """ -- cgit v1.2.3-1-g7c22