summaryrefslogtreecommitdiffstats
path: root/src/pybind/mgr/restful/api/pool.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/pybind/mgr/restful/api/pool.py')
-rw-r--r--src/pybind/mgr/restful/api/pool.py140
1 files changed, 0 insertions, 140 deletions
diff --git a/src/pybind/mgr/restful/api/pool.py b/src/pybind/mgr/restful/api/pool.py
deleted file mode 100644
index 40de54eb957..00000000000
--- a/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, context
-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 = context.instance.get_pool_by_id(self.pool_id)
-
- if not pool:
- response.status = 500
- return {'message': 'Failed to identify the pool id "{}"'.format(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 = context.instance.get_pool_by_id(self.pool_id)
- if not pool:
- response.status = 500
- return {'message': 'Failed to identify the pool id "{}"'.format(self.pool_id)}
-
- # Check for invalid pool args
- invalid = common.invalid_pool_args(args)
- if invalid:
- response.status = 500
- return {'message': 'Invalid arguments found: "{}"'.format(invalid)}
-
- # Schedule the update request
- return context.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 = context.instance.get_pool_by_id(self.pool_id)
-
- if not pool:
- response.status = 500
- return {'message': 'Failed to identify the pool id "{}"'.format(self.pool_id)}
-
- return context.instance.submit_request([[{
- 'prefix': 'osd pool delete',
- 'pool': pool['pool_name'],
- 'pool2': pool['pool_name'],
- 'yes_i_really_really_mean_it': True
- }]], **kwargs)
-
-
-
-class Pool(RestController):
- @expose(template='json')
- @auth
- def get(self, **kwargs):
- """
- Show the information for all the pools
- """
- pools = context.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: "{}"'.format(invalid)}
-
- # Schedule the creation and update requests
- return context.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