summaryrefslogtreecommitdiff
path: root/dev/run
diff options
context:
space:
mode:
Diffstat (limited to 'dev/run')
-rwxr-xr-xdev/run28
1 files changed, 28 insertions, 0 deletions
diff --git a/dev/run b/dev/run
index 3186a1fc8..573c80c9b 100755
--- a/dev/run
+++ b/dev/run
@@ -211,6 +211,14 @@ def get_args_parser():
default=None,
help="Extra arguments to pass to beam process",
)
+ parser.add_option(
+ "-l",
+ "--locald-config",
+ dest="locald_configs",
+ action="append",
+ default=[],
+ help="Path to config to place in 'local.d'. Can be repeated",
+ )
return parser
@@ -238,6 +246,7 @@ def setup_context(opts, args):
"reset_logs": True,
"procs": [],
"auto_ports": opts.auto_ports,
+ "locald_configs": opts.locald_configs,
}
@@ -279,9 +288,24 @@ def setup_configs(ctx):
"_default": "",
}
write_config(ctx, node, env)
+ write_locald_configs(ctx, node, env)
generate_haproxy_config(ctx)
+def write_locald_configs(ctx, node, env):
+ for locald_config in ctx["locald_configs"]:
+ config_src = os.path.join(ctx["rootdir"], locald_config)
+ if os.path.exists(config_src):
+ config_filename = os.path.basename(config_src)
+ config_tgt = os.path.join(
+ ctx["devdir"], "lib", node, "etc", "local.d", config_filename
+ )
+ with open(config_src) as handle:
+ content = handle.read()
+ with open(config_tgt, "w") as handle:
+ handle.write(content)
+
+
def generate_haproxy_config(ctx):
haproxy_config = os.path.join(ctx["devdir"], "lib", "haproxy.cfg")
template = os.path.join(ctx["rootdir"], "rel", "haproxy.cfg")
@@ -382,6 +406,8 @@ def write_config(ctx, node, env):
with open(tgt, "w") as handle:
handle.write(content)
+ ensure_dir_exists(etc_tgt, "local.d")
+
def boot_haproxy(ctx):
if not ctx["with_haproxy"]:
@@ -422,6 +448,7 @@ def hack_local_ini(ctx, contents):
contents = contents.replace(previous_line, previous_line + secret_line)
if ctx["with_admin_party"]:
+ os.environ["COUCHDB_TEST_ADMIN_PARTY_OVERRIDE"] = "1"
ctx["admin"] = ("Admin Party!", "You do not need any password.")
return contents
@@ -579,6 +606,7 @@ def boot_node(ctx, node):
"-couch_ini",
os.path.join(node_etcdir, "default.ini"),
os.path.join(node_etcdir, "local.ini"),
+ os.path.join(node_etcdir, "local.d"),
"-reltool_config",
os.path.join(reldir, "reltool.config"),
"-parent_pid",