mirror of
https://github.com/tahoe-lafs/tahoe-lafs.git
synced 2025-02-21 18:06:46 +00:00
webapi: add 'summary' string to checker results JSON
This commit is contained in:
parent
d224d22cb7
commit
7932fadb5e
@ -750,6 +750,7 @@ POST $URL?t=check
|
||||
|
||||
storage-index: a base32-encoded string with the objects's storage index,
|
||||
or an empty string for LIT files
|
||||
summary: a string, with a one-line summary of the stats of the file
|
||||
results: a dictionary that describes the state of the file. For LIT files,
|
||||
this dictionary has only the 'healthy' key, which will always be
|
||||
True. For distributed files, this dictionary has the following
|
||||
|
@ -109,7 +109,11 @@ class SimpleCHKFileChecker:
|
||||
",".join(["sh%d" % shnum
|
||||
for shnum in sorted(missing)]))
|
||||
r.set_report(report)
|
||||
# TODO: r.set_summary(summary)
|
||||
if healthy:
|
||||
r.set_summary("Healthy")
|
||||
else:
|
||||
r.set_summary("Not Healthy")
|
||||
# TODO: more detail
|
||||
return r
|
||||
|
||||
class VerifyingOutput:
|
||||
@ -123,6 +127,7 @@ class VerifyingOutput:
|
||||
self._results = results
|
||||
results.set_healthy(False)
|
||||
results.set_recoverable(False)
|
||||
results.set_summary("Not Healthy")
|
||||
|
||||
def setup_hashtrees(self, plaintext_hashtree, crypttext_hashtree):
|
||||
self._crypttext_hash_tree = crypttext_hashtree
|
||||
@ -145,6 +150,7 @@ class VerifyingOutput:
|
||||
def finish(self):
|
||||
self._results.set_healthy(True)
|
||||
self._results.set_recoverable(True)
|
||||
self._results.set_summary("Healthy")
|
||||
# the return value of finish() is passed out of FileDownloader._done,
|
||||
# but SimpleCHKFileVerifier overrides this with the CheckerResults
|
||||
# instance instead.
|
||||
|
@ -2204,6 +2204,9 @@ class DeepCheckWebGood(DeepCheckBase, unittest.TestCase):
|
||||
|
||||
self.failUnlessEqual(data["storage-index"],
|
||||
base32.b2a(n.get_storage_index()), where)
|
||||
self.failUnless("summary" in data, (where, data))
|
||||
self.failUnlessEqual(data["summary"].lower(), "healthy",
|
||||
"%s: '%s'" % (where, data["summary"]))
|
||||
r = data["results"]
|
||||
self.failUnlessEqual(r["healthy"], True, where)
|
||||
needs_rebalancing = bool( len(self.clients) < 10 )
|
||||
|
@ -82,6 +82,7 @@ class ResultsBase:
|
||||
def _json_check_results(self, r):
|
||||
data = {}
|
||||
data["storage-index"] = r.get_storage_index_string()
|
||||
data["summary"] = r.get_summary()
|
||||
data["results"] = self._json_check_counts(r.get_data())
|
||||
data["results"]["needs-rebalancing"] = r.needs_rebalancing()
|
||||
data["results"]["healthy"] = r.is_healthy()
|
||||
|
Loading…
x
Reference in New Issue
Block a user