X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/00f65f60e69326839447f431146312481db05f01..ac2ea4ef187f7df369551a8cfa047fed8a1a2ba9:/sdk/python/tests/run_test_server.py diff --git a/sdk/python/tests/run_test_server.py b/sdk/python/tests/run_test_server.py index 6935e5b714..76893ac842 100644 --- a/sdk/python/tests/run_test_server.py +++ b/sdk/python/tests/run_test_server.py @@ -331,6 +331,19 @@ def run(leave_running_atexit=False): os.makedirs(gitdir) subprocess.check_output(['tar', '-xC', gitdir, '-f', gittarball]) + # Customizing the passenger config template is the only documented + # way to override the default passenger_stat_throttle_rate (10 s). + # In the testing environment, we want restart.txt to take effect + # immediately. + resdir = subprocess.check_output(['bundle', 'exec', 'passenger-config', 'about', 'resourcesdir']).decode().rstrip() + with open(resdir + '/templates/standalone/config.erb') as f: + template = f.read() + newtemplate = re.sub('http {', 'http {\n passenger_stat_throttle_rate 0;', template) + if newtemplate == template: + raise "template edit failed" + with open('tmp/passenger-nginx.conf.erb', 'w') as f: + f.write(newtemplate) + port = internal_port_from_config("RailsAPI") env = os.environ.copy() env['RAILS_ENV'] = 'test' @@ -344,6 +357,10 @@ def run(leave_running_atexit=False): railsapi = subprocess.Popen( ['bundle', 'exec', 'passenger', 'start', '-p{}'.format(port), + '--nginx-config-template', 'tmp/passenger-nginx.conf.erb', + '--no-friendly-error-pages', + '--disable-anonymous-telemetry', + '--disable-security-update-check', '--pid-file', pid_file, '--log-file', '/dev/stdout', '--ssl', @@ -518,7 +535,7 @@ def run_keep(num_servers=2, **kwargs): # If keepproxy and/or keep-web is running, send SIGHUP to make # them discover the new keepstore services. for svc in ('keepproxy', 'keep-web'): - pidfile = _pidfile('keepproxy') + pidfile = _pidfile(svc) if os.path.exists(pidfile): try: with open(pidfile) as pid: @@ -581,17 +598,17 @@ def run_arv_git_httpd(): gitport = internal_port_from_config("GitHTTP") env = os.environ.copy() env.pop('ARVADOS_API_TOKEN', None) - logf = open(_logfilename('githttp'), WRITE_MODE) + logf = open(_logfilename('githttpd'), WRITE_MODE) agh = subprocess.Popen(['arvados-server', 'git-httpd'], env=env, stdin=open('/dev/null'), stdout=logf, stderr=logf) - with open(_pidfile('githttp'), 'w') as f: + with open(_pidfile('githttpd'), 'w') as f: f.write(str(agh.pid)) _wait_until_port_listens(gitport) def stop_arv_git_httpd(): if 'ARVADOS_TEST_PROXY_SERVICES' in os.environ: return - kill_server_pid(_pidfile('githttp')) + kill_server_pid(_pidfile('githttpd')) def run_keep_web(): if 'ARVADOS_TEST_PROXY_SERVICES' in os.environ: @@ -602,7 +619,7 @@ def run_keep_web(): env = os.environ.copy() logf = open(_logfilename('keep-web'), WRITE_MODE) keepweb = subprocess.Popen( - ['keep-web'], + ['arvados-server', 'keep-web'], env=env, stdin=open('/dev/null'), stdout=logf, stderr=logf) with open(_pidfile('keep-web'), 'w') as f: f.write(str(keepweb.pid)) @@ -680,7 +697,6 @@ def setup_config(): keepstore_ports = sorted([str(find_available_port()) for _ in range(0,4)]) keep_web_port = find_available_port() keep_web_external_port = find_available_port() - keep_web_dl_port = find_available_port() keep_web_dl_external_port = find_available_port() configsrc = os.environ.get("CONFIGSRC", None) @@ -762,7 +778,7 @@ def setup_config(): "WebDAVDownload": { "ExternalURL": "https://%s:%s" % (localhost, keep_web_dl_external_port), "InternalURLs": { - "http://%s:%s"%(localhost, keep_web_dl_port): {}, + "http://%s:%s"%(localhost, keep_web_port): {}, }, }, } @@ -942,7 +958,7 @@ if __name__ == "__main__": 'start_keep', 'stop_keep', 'start_keep_proxy', 'stop_keep_proxy', 'start_keep-web', 'stop_keep-web', - 'start_githttp', 'stop_githttp', + 'start_githttpd', 'stop_githttpd', 'start_nginx', 'stop_nginx', 'setup_config', ] parser = argparse.ArgumentParser() @@ -987,9 +1003,9 @@ if __name__ == "__main__": run_keep_proxy() elif args.action == 'stop_keep_proxy': stop_keep_proxy() - elif args.action == 'start_githttp': + elif args.action == 'start_githttpd': run_arv_git_httpd() - elif args.action == 'stop_githttp': + elif args.action == 'stop_githttpd': stop_arv_git_httpd() elif args.action == 'start_keep-web': run_keep_web()