~sseman/juju-chaos-monkey/log-replay-data

« back to all changes in this revision

Viewing changes to scripts/restart_chaos_monkey.py

  • Committer: seman.said at canonical
  • Date: 2015-06-05 18:22:02 UTC
  • mfrom: (18.1.5 upstart-init)
  • Revision ID: seman.said@canonical.com-20150605182202-1703ceuvywxzr6a5
Added support for restarting Chaos Monkey after a reboot.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
from argparse import ArgumentParser
 
2
import subprocess
 
3
 
 
4
 
 
5
def parse_args(argv=None):
 
6
    parser = ArgumentParser()
 
7
    parser.add_argument(
 
8
        '--runner-path',  help='Chaos Monkey runner path.',  default=None)
 
9
    parser.add_argument(
 
10
        '--expire-time',  help='Chaos Monkey expire time.',  default=None,
 
11
        type=float)
 
12
    parser.add_argument(
 
13
        '--cmd-arg',  help='Chaos Monkey command arguments.',  default=None)
 
14
    args = parser.parse_args(argv)
 
15
    if not args.runner_path or not args.expire_time or not args.cmd_arg:
 
16
        parser.error("Invalid command arguments.")
 
17
    return args
 
18
 
 
19
 
 
20
def restart_chaos_monkey(args):
 
21
    cmd = (['python'] + [args.runner_path] + args.cmd_arg.split(' ') +
 
22
           ['--expire-time'] + [str(args.expire_time)] + ['--restart'])
 
23
    subprocess.Popen(cmd)
 
24
 
 
25
 
 
26
if __name__ == '__main__':
 
27
    args = parse_args()
 
28
    restart_chaos_monkey(args)