Merge "Resolve paths before demonization"
This commit is contained in:
commit
d44bf47be3
|
@ -85,6 +85,11 @@ class NodepoolApp(object):
|
|||
self.parser = None
|
||||
self.args = None
|
||||
|
||||
def get_path(self, path):
|
||||
if path is None:
|
||||
return None
|
||||
return os.path.abspath(os.path.expanduser(path))
|
||||
|
||||
def create_parser(self):
|
||||
parser = argparse.ArgumentParser(description=self.app_description)
|
||||
|
||||
|
@ -98,10 +103,14 @@ class NodepoolApp(object):
|
|||
|
||||
return parser
|
||||
|
||||
def parse_args(self):
|
||||
args = self.parser.parse_args()
|
||||
self.logconfig = self.get_path(args.logconfig)
|
||||
return args
|
||||
|
||||
def setup_logging(self):
|
||||
if self.args.logconfig:
|
||||
fp = os.path.expanduser(self.args.logconfig)
|
||||
logging_config = logconfig.load_config(fp)
|
||||
if self.logconfig:
|
||||
logging_config = logconfig.load_config(self.logconfig)
|
||||
else:
|
||||
# If someone runs in the foreground and doesn't give a logging
|
||||
# config, leave the config set to emit to stdout.
|
||||
|
@ -121,7 +130,7 @@ class NodepoolApp(object):
|
|||
argv = sys.argv[1:]
|
||||
|
||||
self.parser = self.create_parser()
|
||||
self.args = self.parser.parse_args()
|
||||
self.args = self.parse_args()
|
||||
return self._do_run()
|
||||
|
||||
def _do_run(self):
|
||||
|
@ -156,12 +165,17 @@ class NodepoolDaemonApp(NodepoolApp):
|
|||
|
||||
return parser
|
||||
|
||||
def parse_args(self):
|
||||
args = super(NodepoolDaemonApp, self).parse_args()
|
||||
self.pidfile = self.get_path(args.pidfile)
|
||||
return args
|
||||
|
||||
def _do_run(self):
|
||||
if self.args.nodaemon:
|
||||
return super(NodepoolDaemonApp, self)._do_run()
|
||||
|
||||
else:
|
||||
pid = pid_file_module.TimeoutPIDLockFile(self.args.pidfile, 10)
|
||||
pid = pid_file_module.TimeoutPIDLockFile(self.pidfile, 10)
|
||||
|
||||
if is_pidfile_stale(pid):
|
||||
pid.break_lock()
|
||||
|
|
|
@ -47,10 +47,16 @@ class NodePoolBuilderApp(nodepool.cmd.NodepoolDaemonApp):
|
|||
'(used for testing)')
|
||||
return parser
|
||||
|
||||
def parse_args(self):
|
||||
args = super(NodePoolBuilderApp, self).parse_args()
|
||||
self.config_file = self.get_path(args.config)
|
||||
self.secure_file = self.get_path(args.secure)
|
||||
return args
|
||||
|
||||
def run(self):
|
||||
self.nb = builder.NodePoolBuilder(
|
||||
self.args.config,
|
||||
secure_path=self.args.secure,
|
||||
self.config_file,
|
||||
secure_path=self.secure_file,
|
||||
num_builders=self.args.build_workers,
|
||||
num_uploaders=self.args.upload_workers,
|
||||
fake=self.args.fake)
|
||||
|
|
|
@ -41,6 +41,12 @@ class NodePoolLauncherApp(nodepool.cmd.NodepoolDaemonApp):
|
|||
parser.add_argument('--no-webapp', action='store_true')
|
||||
return parser
|
||||
|
||||
def parse_args(self):
|
||||
args = super(NodePoolLauncherApp, self).parse_args()
|
||||
self.config_file = self.get_path(args.config)
|
||||
self.secure_file = self.get_path(args.secure)
|
||||
return args
|
||||
|
||||
def exit_handler(self, signum, frame):
|
||||
self.pool.stop()
|
||||
if not self.args.no_webapp:
|
||||
|
@ -51,8 +57,8 @@ class NodePoolLauncherApp(nodepool.cmd.NodepoolDaemonApp):
|
|||
os._exit(0)
|
||||
|
||||
def run(self):
|
||||
self.pool = nodepool.launcher.NodePool(self.args.secure,
|
||||
self.args.config)
|
||||
self.pool = nodepool.launcher.NodePool(self.secure_file,
|
||||
self.config_file)
|
||||
if not self.args.no_webapp:
|
||||
config = self.pool.loadConfig()
|
||||
self.webapp = nodepool.webapp.WebApp(self.pool,
|
||||
|
|
Loading…
Reference in New Issue