]>
Commit | Line | Data |
---|---|---|
7c673cae FG |
1 | #!/usr/bin/env python |
2 | # vim: ts=4 sw=4 smarttab expandtab | |
3 | ||
4 | import argparse | |
5 | import inspect | |
6 | import os | |
7 | import sys | |
8 | ||
9 | # Make life easier on developers | |
10 | ||
11 | MYPATH = os.path.abspath(__file__) | |
12 | MYDIR = os.path.dirname(MYPATH) | |
13 | DEVMODEMSG = '*** DEVELOPER MODE: setting PYTHONPATH and LD_LIBRARY_PATH' | |
14 | ||
15 | def parse_args(): | |
16 | parser = argparse.ArgumentParser(description="Ceph REST API webapp") | |
17 | parser.add_argument('-c', '--conf', help='Ceph configuration file') | |
18 | parser.add_argument('--cluster', help='Ceph cluster name') | |
19 | parser.add_argument('-n', '--name', help='Ceph client name') | |
20 | parser.add_argument('-i', '--id', help='Ceph client id') | |
21 | ||
22 | return parser.parse_known_args() | |
23 | ||
24 | # main | |
25 | ||
26 | parsed_args, rest = parse_args() | |
27 | ||
28 | # import now that env vars are available to imported module | |
29 | ||
30 | try: | |
31 | import ceph_rest_api | |
32 | except EnvironmentError as e: | |
33 | print >> sys.stderr, "Error importing ceph_rest_api: ", str(e) | |
34 | sys.exit(1) | |
35 | ||
36 | # let other exceptions generate traceback | |
37 | ||
38 | app = ceph_rest_api.generate_app( | |
39 | parsed_args.conf, | |
40 | parsed_args.cluster, | |
41 | parsed_args.name, | |
42 | parsed_args.id, | |
43 | rest, | |
44 | ) | |
45 | ||
46 | files = [os.path.split(fr[1])[-1] for fr in inspect.stack()] | |
47 | if 'pdb.py' in files: | |
48 | app.run(host=app.ceph_addr, port=app.ceph_port, | |
49 | debug=True, use_reloader=False, use_debugger=False) | |
50 | else: | |
51 | app.run(host=app.ceph_addr, port=app.ceph_port) |