X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=src%2Fceph%2Fsrc%2Fceph-rest-api;fp=src%2Fceph%2Fsrc%2Fceph-rest-api;h=d185a8041ef973ac08211c39732627534c8d9664;hb=812ff6ca9fcd3e629e49d4328905f33eee8ca3f5;hp=0000000000000000000000000000000000000000;hpb=15280273faafb77777eab341909a3f495cf248d9;p=stor4nfv.git diff --git a/src/ceph/src/ceph-rest-api b/src/ceph/src/ceph-rest-api new file mode 100755 index 0000000..d185a80 --- /dev/null +++ b/src/ceph/src/ceph-rest-api @@ -0,0 +1,55 @@ +#!/usr/bin/env python +# vim: ts=4 sw=4 smarttab expandtab + +import argparse +import inspect +import os +import sys + +# Make life easier on developers + +MYPATH = os.path.abspath(__file__) +MYDIR = os.path.dirname(MYPATH) +DEVMODEMSG = '*** DEVELOPER MODE: setting PYTHONPATH and LD_LIBRARY_PATH' + +def parse_args(): + parser = argparse.ArgumentParser(description="Ceph REST API webapp") + parser.add_argument('-c', '--conf', help='Ceph configuration file', + default='/etc/ceph/ceph.conf') + parser.add_argument('--cluster', help='Ceph cluster name') + parser.add_argument('-n', '--name', help='Ceph client name') + parser.add_argument('-i', '--id', help='Ceph client id', default='admin') + + return parser.parse_known_args() + +# main + +parsed_args, rest = parse_args() + +# import now that env vars are available to imported module + +try: + import ceph_rest_api +except EnvironmentError as e: + print >> sys.stderr, "Error importing ceph_rest_api: ", str(e) + sys.exit(1) + +# let other exceptions generate traceback + +app = ceph_rest_api.generate_app( + parsed_args.conf, + parsed_args.cluster, + parsed_args.name, + parsed_args.id, + rest, +) + +files = [os.path.split(fr[1])[-1] for fr in inspect.stack()] +if 'pdb.py' in files: + app.run(host=app.ceph_addr, port=app.ceph_port, + debug=True, use_reloader=False, use_debugger=False) +else: + if __name__ == '__main__': + app.run(host=app.ceph_addr, port=app.ceph_port) + else: + application = app