summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMagnus Ahltorp <map@kth.se>2017-03-08 18:45:47 +0100
committerLinus Nordberg <linus@nordu.net>2017-03-15 17:45:32 +0100
commit6deee0427c3e4934291b1103328d4c3d75d56e29 (patch)
tree7f56ec8cd9bce774426f2c769b6cd5c931ce1aaf
parent8e4cd93fd1ab8fa148256633f3eb261a5bd1d311 (diff)
Added heartbeat service. Add source.
-rwxr-xr-xtools/compileconfig.py6
-rwxr-xr-xtools/merge_fetch.py9
2 files changed, 10 insertions, 5 deletions
diff --git a/tools/compileconfig.py b/tools/compileconfig.py
index 44db767..c2463df 100755
--- a/tools/compileconfig.py
+++ b/tools/compileconfig.py
@@ -372,6 +372,8 @@ def gen_config(nodename, config, localconfig):
services = set()
storage_sign_quorum = config.get("storage-sign-quorum-size", 0)
+ allnodenames = set(signingnodenames + mergenodenames + frontendnodenames + statusservernames + storagenodenames)
+
if "frontendnodes" in nodetype:
reloadableplopconfig.append((Symbol("storage_nodes"), storagenodeaddresses))
reloadableplopconfig.append((Symbol("storage_nodes_quorum"), config["storage-quorum-size"]))
@@ -445,6 +447,7 @@ def gen_config(nodename, config, localconfig):
("/plop/v1/status/merge_fetch", statusservernames),
("/plop/v1/status/storage", statusservernames),
("/plop/v1/status/merge_errors", statusservernames),
+ ("/plop/v1/status/heartbeat", statusservernames),
]
if "statusservers" in nodetype:
@@ -454,7 +457,8 @@ def gen_config(nodename, config, localconfig):
("/plop/v1/status/merge_sth", mergenodenames),
("/plop/v1/status/merge_fetch", mergenodenames),
("/plop/v1/status/merge_errors", mergenodenames),
- ("/plop/v1/status/storage", list(storagenodenames)),
+ ("/plop/v1/status/storage", storagenodenames),
+ ("/plop/v1/status/heartbeat", list(allnodenames)),
("/status", Symbol("noauth")),
]
diff --git a/tools/merge_fetch.py b/tools/merge_fetch.py
index 2a2491d..b0b6ce6 100755
--- a/tools/merge_fetch.py
+++ b/tools/merge_fetch.py
@@ -24,8 +24,9 @@ def reportstatus(statusservers, own_key, target, variable, status):
def do_reportstatus(node, baseurl, own_key, target, variable, status):
try:
+ (ownname, _) = own_key
result = http_request(baseurl + "plop/v1/status/merge_fetch",
- json.dumps([{"target":target, "key": variable, "value": status}]), key=own_key,
+ json.dumps([{"source":ownname, "target":target, "key": variable, "value": status}]), key=own_key,
verifynode=node)
return json.loads(result)
except requests.exceptions.HTTPError, e:
@@ -79,7 +80,7 @@ def merge_fetch(args, config, localconfig, currentsizefile):
new_entries -= certsinlog
print >>sys.stderr, "adding", len(new_entries), "entries"
sys.stderr.flush()
- reportstatus(statusservers, own_key, "fetch", "total", len(certsinlog) + len(new_entries))
+ reportstatus(statusservers, own_key, own_key[0], "total", len(certsinlog) + len(new_entries))
for ehash in new_entries:
for storagenode in storagenodes:
@@ -123,7 +124,7 @@ def merge_fetch(args, config, localconfig, currentsizefile):
tree_size = len(logorder)
currentsize = {"index": tree_size - 1, "hash": hexencode(logorder[tree_size-1])}
write_file(currentsizefile, currentsize)
- reportstatus(statusservers, own_key, "fetch", "fetched", tree_size)
+ reportstatus(statusservers, own_key, own_key[0], "fetched", tree_size)
print >>sys.stderr, added_entries,
sys.stderr.flush()
print >>sys.stderr
@@ -141,7 +142,7 @@ def merge_fetch(args, config, localconfig, currentsizefile):
sys.stderr.flush()
tree_size = len(logorder)
- reportstatus(statusservers, own_key, "fetch", "fetched", tree_size)
+ reportstatus(statusservers, own_key, own_key[0], "fetched", tree_size)
if tree_size == 0:
return (0, '')
else: