X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=src%2Fceph%2Fsrc%2Fpybind%2Fmgr%2Frestful%2Fapi%2Fpool.py;fp=src%2Fceph%2Fsrc%2Fpybind%2Fmgr%2Frestful%2Fapi%2Fpool.py;h=0000000000000000000000000000000000000000;hb=7da45d65be36d36b880cc55c5036e96c24b53f00;hp=a59e259cb625256961b829645fbe9dc965ddb52e;hpb=691462d09d0987b47e112d6ee8740375df3c51b2;p=stor4nfv.git diff --git a/src/ceph/src/pybind/mgr/restful/api/pool.py b/src/ceph/src/pybind/mgr/restful/api/pool.py deleted file mode 100644 index a59e259..0000000 --- a/src/ceph/src/pybind/mgr/restful/api/pool.py +++ /dev/null @@ -1,140 +0,0 @@ -from pecan import expose, request, response -from pecan.rest import RestController - -from restful import common, module -from restful.decorators import auth - - -class PoolId(RestController): - def __init__(self, pool_id): - self.pool_id = pool_id - - - @expose(template='json') - @auth - def get(self, **kwargs): - """ - Show the information for the pool id - """ - pool = module.instance.get_pool_by_id(self.pool_id) - - if not pool: - response.status = 500 - return {'message': 'Failed to identify the pool id "%d"' % self.pool_id} - - # pgp_num is called pg_placement_num, deal with that - if 'pg_placement_num' in pool: - pool['pgp_num'] = pool.pop('pg_placement_num') - return pool - - - @expose(template='json') - @auth - def patch(self, **kwargs): - """ - Modify the information for the pool id - """ - try: - args = request.json - except ValueError: - response.status = 400 - return {'message': 'Bad request: malformed JSON or wrong Content-Type'} - - # Get the pool info for its name - pool = module.instance.get_pool_by_id(self.pool_id) - if not pool: - response.status = 500 - return {'message': 'Failed to identify the pool id "%d"' % self.pool_id} - - # Check for invalid pool args - invalid = common.invalid_pool_args(args) - if invalid: - response.status = 500 - return {'message': 'Invalid arguments found: "%s"' % str(invalid)} - - # Schedule the update request - return module.instance.submit_request(common.pool_update_commands(pool['pool_name'], args), **kwargs) - - - @expose(template='json') - @auth - def delete(self, **kwargs): - """ - Remove the pool data for the pool id - """ - pool = module.instance.get_pool_by_id(self.pool_id) - - if not pool: - response.status = 500 - return {'message': 'Failed to identify the pool id "%d"' % self.pool_id} - - return module.instance.submit_request([[{ - 'prefix': 'osd pool delete', - 'pool': pool['pool_name'], - 'pool2': pool['pool_name'], - 'sure': '--yes-i-really-really-mean-it' - }]], **kwargs) - - - -class Pool(RestController): - @expose(template='json') - @auth - def get(self, **kwargs): - """ - Show the information for all the pools - """ - pools = module.instance.get('osd_map')['pools'] - - # pgp_num is called pg_placement_num, deal with that - for pool in pools: - if 'pg_placement_num' in pool: - pool['pgp_num'] = pool.pop('pg_placement_num') - - return pools - - - @expose(template='json') - @auth - def post(self, **kwargs): - """ - Create a new pool - Requires name and pg_num dict arguments - """ - args = request.json - - # Check for the required arguments - pool_name = args.pop('name', None) - if pool_name is None: - response.status = 500 - return {'message': 'You need to specify the pool "name" argument'} - - pg_num = args.pop('pg_num', None) - if pg_num is None: - response.status = 500 - return {'message': 'You need to specify the "pg_num" argument'} - - # Run the pool create command first - create_command = { - 'prefix': 'osd pool create', - 'pool': pool_name, - 'pg_num': pg_num - } - - # Check for invalid pool args - invalid = common.invalid_pool_args(args) - if invalid: - response.status = 500 - return {'message': 'Invalid arguments found: "%s"' % str(invalid)} - - # Schedule the creation and update requests - return module.instance.submit_request( - [[create_command]] + - common.pool_update_commands(pool_name, args), - **kwargs - ) - - - @expose() - def _lookup(self, pool_id, *remainder): - return PoolId(int(pool_id)), remainder