You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@couchdb.apache.org by kx...@apache.org on 2015/09/28 16:49:48 UTC
[19/39] couchdb commit: updated refs/heads/developer-preview-2.0 to
3ac3db6
Windows fixes
Project: http://git-wip-us.apache.org/repos/asf/couchdb/repo
Commit: http://git-wip-us.apache.org/repos/asf/couchdb/commit/bac70398
Tree: http://git-wip-us.apache.org/repos/asf/couchdb/tree/bac70398
Diff: http://git-wip-us.apache.org/repos/asf/couchdb/diff/bac70398
Branch: refs/heads/developer-preview-2.0
Commit: bac7039899fb8dee72ab183896fc6391e1c394b4
Parents: 999f710
Author: Joan Touzet <wo...@apache.org>
Authored: Sat Aug 29 19:38:38 2015 -0400
Committer: Joan Touzet <wo...@apache.org>
Committed: Sat Aug 29 19:39:13 2015 -0400
----------------------------------------------------------------------
dev/run | 43 +++++++++++++++++++++++++------------------
1 file changed, 25 insertions(+), 18 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/couchdb/blob/bac70398/dev/run
----------------------------------------------------------------------
diff --git a/dev/run b/dev/run
index dc9785a..e519fa6 100755
--- a/dev/run
+++ b/dev/run
@@ -31,7 +31,6 @@ from pbkdf2 import pbkdf2_hex
COMMON_SALT = uuid.uuid4().hex
COMMON_CSRF_SECRET = uuid.uuid4().hex
-HAPROXY_PORT = os.environ.get("HAPROXY_PORT", "5984")
try:
from urllib import urlopen
@@ -111,6 +110,12 @@ def setup_argparse():
dest='no_join', default=False,
action='store_true',
help='Do not join nodes on boot')
+ parser.add_option('--with-haproxy', dest='with_haproxy', default=False,
+ action='store_true', help='Use HAProxy')
+ parser.add_option('--haproxy', dest='haproxy', default='haproxy',
+ help='HAProxy executable path')
+ parser.add_option('--haproxy-port', dest='haproxy_port', default='5984',
+ help='HAProxy port')
return parser.parse_args()
@@ -125,6 +130,9 @@ def setup_context(opts, args):
'rootdir': os.path.dirname(os.path.dirname(fpath)),
'cmd': ' '.join(args),
'verbose': opts.verbose,
+ 'with_haproxy': opts.with_haproxy,
+ 'haproxy': opts.haproxy,
+ 'haproxy_port': opts.haproxy_port,
'procs': []}
@@ -163,6 +171,10 @@ def setup_configs(ctx):
"backend_port": backend_port,
"fauxton_root": "src/fauxton/dist/release"
}
+ if os.name == 'nt':
+ # Erlang always wants UNIX-style paths
+ env["data_dir"] = env["data_dir"].replace("\\", "/")
+ env["view_index_dir"] = env["view_index_dir"].replace("\\", "/")
write_config(ctx, node, env)
@@ -194,23 +206,12 @@ def write_config(ctx, node, env):
handle.write(content)
-def find_haproxy():
- p = sp.Popen(
- ["which", "haproxy"],
- stdin=sp.PIPE,
- stdout=sp.PIPE,
- stderr=sp.STDOUT
- )
- (res, _) = p.communicate()
- if res.strip():
- return res.strip().decode()
- return "/usr/sbin/haproxy"
-
-
def boot_haproxy(ctx):
+ if not ctx['with_haproxy']:
+ return
config = os.path.join(ctx['rootdir'], "rel", "haproxy.cfg")
cmd = [
- find_haproxy(),
+ ctx['haproxy'],
"-f",
config
]
@@ -218,7 +219,7 @@ def boot_haproxy(ctx):
log = open(logfname, "w")
env = os.environ.copy()
if "HAPROXY_PORT" not in env:
- env["HAPROXY_PORT"] = HAPROXY_PORT
+ env["HAPROXY_PORT"] = ctx['haproxy_port']
return sp.Popen(
" ".join(cmd),
shell=True,
@@ -232,6 +233,9 @@ def boot_haproxy(ctx):
def hack_default_ini(ctx, node, content):
# Replace log file
logfile = os.path.join(ctx['devdir'], "logs", "%s.log" % node)
+ if os.name == 'nt':
+ # Erlang always wants UNIX-style paths
+ logfile = logfile.replace("\\", "/")
repl = "file = %s" % logfile
contents = re.sub("(?m)^file.*$", repl, content)
@@ -304,7 +308,7 @@ def startup(ctx):
def kill_processes(ctx):
for proc in ctx['procs']:
- if proc.returncode is None:
+ if proc and proc.returncode is None:
proc.kill()
@@ -376,6 +380,9 @@ def boot_node(ctx, node):
]
logfname = os.path.join(ctx['devdir'], "logs", "%s.log" % node)
log = open(logfname, "wb")
+ if os.name == 'nt':
+ # Erlang always wants UNIX-style paths
+ cmd = [x.replace("\\", "/") for x in cmd]
return sp.Popen(cmd, stdin=sp.PIPE, stdout=log, stderr=sp.STDOUT, env=env)
@@ -488,7 +495,7 @@ def create_system_databases(host, port):
def join(ctx, lead_port, user, password):
while True:
for proc in ctx['procs']:
- if proc.returncode is not None:
+ if proc is not None and proc.returncode is not None:
exit(1)
time.sleep(2)