summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMagnus Ahltorp <map@kth.se>2017-01-27 01:57:27 +0100
committerMagnus Ahltorp <map@kth.se>2017-01-27 02:03:15 +0100
commit50667bc5c4896557415ab28269d2aea3ac534bf4 (patch)
tree96c03ca0e8afe596a597acd41da71daac2076b86
parenta4709803d2e824cd447e3906cfb5ee89068802fc (diff)
Separate erlang config file for reloadable parameters
-rwxr-xr-xtools/compileconfig.py28
1 files changed, 21 insertions, 7 deletions
diff --git a/tools/compileconfig.py b/tools/compileconfig.py
index 3961db3..0ee3fab 100755
--- a/tools/compileconfig.py
+++ b/tools/compileconfig.py
@@ -220,11 +220,19 @@ def gen_config(nodename, config, localconfig):
configfile = open(paths["configdir"] + "/" + nodename + ".config", "w")
print >>configfile, "%% catlfish configuration file (-*- erlang -*-)"
+ plopcontrolfilename = nodename + ".plopcontrol"
+
+ plopconfigfilename = paths["configdir"] + "/" + nodename + ".plopconfig"
+ plopconfigfile = open(plopconfigfilename, "w")
+
+ print >>plopconfigfile, "%% plop configuration file (-*- erlang -*-)"
+
(nodetype, nodeconfig) = get_node_config(nodename, config)
(http_servers, https_servers) = gen_http_servers(nodetype, nodeconfig, bind_addresses, bind_publicaddress, bind_publichttpaddress=bind_publichttpaddress)
catlfishconfig = []
plopconfig = []
+ reloadableplopconfig = []
if nodetype & set(["frontendnodes", "mergenodes"]):
catlfishconfig.append((Symbol("known_roots_path"), localconfig["paths"]["knownroots"]))
@@ -312,8 +320,8 @@ def gen_config(nodename, config, localconfig):
if "frontendnodes" in nodetype:
storagenodenames = [node["name"] for node in config["storagenodes"]]
- plopconfig.append((Symbol("storage_nodes"), storagenodeaddresses))
- plopconfig.append((Symbol("storage_nodes_quorum"), config["storage-quorum-size"]))
+ reloadableplopconfig.append((Symbol("storage_nodes"), storagenodeaddresses))
+ reloadableplopconfig.append((Symbol("storage_nodes_quorum"), config["storage-quorum-size"]))
services.add(Symbol("ht"))
allowed_clients += allowed_clients_frontend(mergenodenames, primarymergenode)
allowed_clients += allowed_clients_public()
@@ -325,13 +333,12 @@ def gen_config(nodename, config, localconfig):
services = [Symbol("sign")]
if "mergenodes" in nodetype:
storagenodenames = [node["name"] for node in config["storagenodes"]]
- plopconfig.append((Symbol("storage_nodes"), storagenodeaddresses))
- plopconfig.append((Symbol("storage_nodes_quorum"), config["storage-quorum-size"]))
+ reloadableplopconfig.append((Symbol("storage_nodes"), storagenodeaddresses))
+ reloadableplopconfig.append((Symbol("storage_nodes_quorum"), config["storage-quorum-size"]))
services.add(Symbol("ht"))
allowed_clients += allowed_clients_mergesecondary(primarymergenode)
plopconfig += [
- (Symbol("publickey_path"), paths["publickeys"]),
(Symbol("services"), list(services)),
]
if "signingnodes" in nodetype:
@@ -348,8 +355,13 @@ def gen_config(nodename, config, localconfig):
(Symbol("own_key"), (nodename, "%s/%s-private.pem" % (paths["privatekeys"], nodename))),
]
if "frontendnodes" in nodetype:
- plopconfig.append((Symbol("signing_nodes"), signingnodeaddresses))
+ reloadableplopconfig.append((Symbol("signing_nodes"), signingnodeaddresses))
plopconfig += [
+ (Symbol("plopconfig"), plopconfigfilename),
+ (Symbol("plopcontrol"), plopcontrolfilename),
+ ]
+
+ reloadableplopconfig += [
(Symbol("allowed_clients"), list(allowed_clients)),
(Symbol("allowed_servers"), list(allowed_servers)),
(Symbol("apikeys"), apikeys),
@@ -363,8 +375,10 @@ def gen_config(nodename, config, localconfig):
]
print >>configfile, gen_erlang(erlangconfig) + ".\n"
-
+ print >>plopconfigfile, gen_erlang(reloadableplopconfig) + ".\n"
+
configfile.close()
+ plopconfigfile.close()
def gen_testmakefile(config, testmakefile, machines, shellvars=False):