summaryrefslogtreecommitdiffstats
path: root/src/lib/Bcfg2/Reporting/Storage/DjangoORM.py
diff options
context:
space:
mode:
authorAlexander Sulfrian <alexander@sulfrian.net>2015-05-09 15:25:46 +0200
committerSol Jerome <sol.jerome@gmail.com>2015-05-12 20:26:29 -0500
commit8745fcbf2b05bbff52ef79627a03d27ef1132f93 (patch)
tree840755c5d0c9d6c8d33ad64ac4b988e9bd8e9916 /src/lib/Bcfg2/Reporting/Storage/DjangoORM.py
parent66d89ff62677c20139ea1973e547eea8e117a714 (diff)
downloadbcfg2-8745fcbf2b05bbff52ef79627a03d27ef1132f93.tar.gz
bcfg2-8745fcbf2b05bbff52ef79627a03d27ef1132f93.tar.bz2
bcfg2-8745fcbf2b05bbff52ef79627a03d27ef1132f93.zip
Reporting: Add dry_run and only_important flags
Save the status of --dry-run and --only-important in the statistics, so that the reports could be filtered to only respect "normal" runs.
Diffstat (limited to 'src/lib/Bcfg2/Reporting/Storage/DjangoORM.py')
-rw-r--r--src/lib/Bcfg2/Reporting/Storage/DjangoORM.py11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/lib/Bcfg2/Reporting/Storage/DjangoORM.py b/src/lib/Bcfg2/Reporting/Storage/DjangoORM.py
index efd9e594c..c9aa169bf 100644
--- a/src/lib/Bcfg2/Reporting/Storage/DjangoORM.py
+++ b/src/lib/Bcfg2/Reporting/Storage/DjangoORM.py
@@ -284,6 +284,14 @@ class DjangoORM(StorageBase):
Group.objects.get_or_create(name=metadata['profile'])
else:
profile = None
+
+ flags = {'dry_run': False, 'only_important': False}
+ for flag in stats.findall('./Flags/Flag'):
+ value = flag.get('value', default='false').lower() == 'true'
+ name = flag.get('name')
+ if name in flags:
+ flags[name] = value
+
inter = Interaction(client=client,
timestamp=timestamp,
state=stats.get('state', default="unknown"),
@@ -292,7 +300,8 @@ class DjangoORM(StorageBase):
good_count=stats.get('good', default="0"),
total_count=stats.get('total', default="0"),
server=server,
- profile=profile)
+ profile=profile,
+ **flags)
inter.save()
self.logger.debug("Interaction for %s at %s with INSERTED in to db" %
(client.id, timestamp))