diff options
author | Chris St. Pierre <chris.a.st.pierre@gmail.com> | 2013-11-11 15:46:09 -0500 |
---|---|---|
committer | Chris St. Pierre <chris.a.st.pierre@gmail.com> | 2013-11-11 15:46:09 -0500 |
commit | e30c785c94c5aa399c44fff386fa2279f64f1acc (patch) | |
tree | e72c636dcae00a6ea0c668cfbee7d3e6b4e6a3fe /src/lib/Bcfg2/Server/Plugins/Probes.py | |
parent | 7aa15c4c5507e311ff66264bc31e6758a80eb337 (diff) | |
parent | 103b1b5198828876fa0684296900769018075f1b (diff) | |
download | bcfg2-e30c785c94c5aa399c44fff386fa2279f64f1acc.tar.gz bcfg2-e30c785c94c5aa399c44fff386fa2279f64f1acc.tar.bz2 bcfg2-e30c785c94c5aa399c44fff386fa2279f64f1acc.zip |
Merge branch 'maint'
Conflicts:
src/lib/Bcfg2/Server/Admin/Compare.py
src/lib/Bcfg2/Server/Admin/Snapshots.py
src/lib/Bcfg2/Server/MultiprocessingCore.py
src/lib/Bcfg2/Server/Plugins/Probes.py
src/sbin/bcfg2-crypt
src/sbin/bcfg2-reports
tools/upgrade/1.3/migrate_configs.py
tools/upgrade/1.3/migrate_perms_to_mode.py
Diffstat (limited to 'src/lib/Bcfg2/Server/Plugins/Probes.py')
-rw-r--r-- | src/lib/Bcfg2/Server/Plugins/Probes.py | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/src/lib/Bcfg2/Server/Plugins/Probes.py b/src/lib/Bcfg2/Server/Plugins/Probes.py index ec5c1ab9f..9f2375fcd 100644 --- a/src/lib/Bcfg2/Server/Plugins/Probes.py +++ b/src/lib/Bcfg2/Server/Plugins/Probes.py @@ -175,9 +175,16 @@ class DBProbeStore(ProbeStore, Bcfg2.Server.Plugin.DatabaseBacked): expire_metadata = False for probe, pdata in data.items(): self._datacache[hostname][probe] = pdata - record, created = ProbesDataModel.objects.get_or_create( - hostname=hostname, - probe=probe) + try: + record, created = ProbesDataModel.objects.get_or_create( + hostname=hostname, + probe=probe) + except ProbesDataModel.MultipleObjectsReturned: + ProbesDataModel.objects.filter(hostname=hostname, + probe=probe).delete() + record, created = ProbesDataModel.objects.get_or_create( + hostname=hostname, + probe=probe) expire_metadata |= created if record.data != pdata: record.data = pdata @@ -447,7 +454,6 @@ class Probes(Bcfg2.Server.Plugin.Probing, def GetProbes(self, metadata): return self.probes.get_probe_data(metadata) - @track_statistics() def ReceiveData(self, client, datalist): cgroups = set() cdata = dict() |