3
from grp import getgrnam
4
from pwd import getpwnam
6
def start_celery(args):
7
uid = getpwnam(args.user).pw_uid
8
gid = getgrnam(args.group).gr_gid
10
env = dict(os.environ, PYTHONPATH="/usr/share/maas")
14
'--logfile=%s' % args.logfile,
15
'--schedule=%s' % args.schedule,
18
'--queues=celery,master',
21
# Change gid first, just in case changing the uid might deprive
22
# us of the privileges required to setgid.
26
os.execvpe(command[0], command, env=env)
30
parser = argparse.ArgumentParser(
31
description='MAAS celery daemon config options')
33
'--user', '-u', metavar='USER', default='maas',
34
help="System user identity that should run the cluster controller.")
36
'--group', '-g', metavar='GROUP', default='maas',
37
help="System group that should run the cluster controller.")
39
'--logfile', '-l', metavar='LOGFILE', default='/var/log/maas/celery-region.log',
40
help="Location of the logfile.")
42
'--schedule', '-s', metavar='SCHEDULE', default='/var/lib/maas/celerybeat-region-schedule',
43
help="Location of the beat schedule file.")
45
args = args = parser.parse_args()
49
if __name__ == '__main__':