diff options
author | Jan-Philipp Litza <janphilipp@litza.de> | 2014-02-22 13:34:14 +0100 |
---|---|---|
committer | Nils Schneider <nils@nilsschneider.net> | 2014-08-17 21:01:50 +0200 |
commit | 65655a38bbd0773841d60285dc1c8758aaa17e61 (patch) | |
tree | be6e2d4b005b18d0ebf03f962da9a9a1462aa12d | |
parent | 26e57117ffce5ccf9932cb5d57f7e57747a1b901 (diff) |
RRD: Fix updating of DS
-rw-r--r-- | RRD.py | 17 |
1 files changed, 5 insertions, 12 deletions
@@ -80,9 +80,9 @@ class RRD: raise FileNotFoundError(self.filename) info = self.info() if set(ds_list) - set(info['ds'].values()) != set(): - if set((ds.name, ds.type) for ds in ds_list) \ - - set((ds.name, ds.type) for ds in info['ds'].values()) != set(): - raise RRDIncompatibleException() + for ds in ds_list: + if ds.name in info['ds'] and ds.type != info['ds'][ds.name].type: + raise RRDIncompatibleException("%s is %s but should be %s" % (ds.name, ds.type, info['ds'][ds.name].type)) else: raise RRDOutdatedException() @@ -177,15 +177,8 @@ class RRD: echo = True dump.stdout.close() restore.stdin.close() - try: - dump.wait(1) - except subprocess.TimeoutExpired: - dump.kill() - try: - restore.wait(2) - except subprocess.TimeoutExpired: - dump.kill() - raise RuntimeError("rrdtool restore process killed") + dump.wait() + restore.wait() os.rename(self.filename + ".new", self.filename) self._cached_info = None |