def delete_pool(self, pool_name, return_to=None, **unused): template_args = { 'return_to': util.make_url_internal(return_to), 'was_deleted': False, 'pool_name': pool_name, 'slave_table': [] } # check that desired stack exists try: pool_id = Pool.build_id(pool_name, namespace=None, owner=None) pool = Pool.get(pool_id) template_args['pool'] = pool # get server labels from GUID slave_table = [] slaves = Slave.all(count_per_req=10000) for slave in pool.slaves_usage_bytes: for so in slaves: if so.name == slave: slave_table.append(so.label) break template_args['slave_table'] = slave_table # handle save action if cherrypy.request.method == 'POST': pool.delete() template_args['was_deleted'] = True except Exception, e: logger.exception(e) template_args['controller_exception'] = e
def delete_pool(self, pool_name, return_to=None, **unused): template_args = { 'return_to': util.make_url_internal(return_to), 'was_deleted': False, 'pool_name': pool_name, 'slave_table': [] } # check that desired stack exists try: pool_id = Pool.build_id(pool_name, namespace=None, owner=None) pool = Pool.get(pool_id) template_args['pool'] = pool # get server labels from GUID slave_table = [] slaves = Slave.all() for slave in pool.slaves_usage_bytes: for so in slaves: if so.name == slave: slave_table.append(so.label) break template_args['slave_table'] = slave_table # handle save action if cherrypy.request.method == 'POST': pool.delete() template_args['was_deleted'] = True except Exception, e: logger.exception(e) template_args['controller_exception'] = e
stack_label = stack.label except splunk.ResourceNotFound, e: logger.exception(e) raise cherrypy.HTTPError(400, 'The "%s" stack was not found. This interface only supports managing pools within that stack.' % DEFAULT_STACK_NAME) # determine unallocated volume pools = Pool.all().filter(stack_name=stack_name) total_pool_bytes = sum([p.quota_bytes['byte_value'] for p in pools]) unallocated_bytes = stack.quota_bytes - total_pool_bytes template_args['unallocated_bytes'] = unallocated_bytes # determine correct model object init if action == 'edit': pool_id = Pool.build_id(pool_name, namespace=None, owner=None) pool_object = Pool.get(pool_id) elif action == 'add': pool_object = Pool(namespace=None, owner=None, name=formset_name) pool_object.quota_bytes['value_mode'] = 'MAX' else: raise Exception, 'unrecognized endpoint: %s' % action # determine allocation mode if pool_object.quota_bytes['value_mode'] == 'MAX': quota_mode = 'all' else: quota_mode = 'explicit' # normalize the output to MB
logger.exception(e) raise cherrypy.HTTPError( 400, 'The "%s" stack was not found. This interface only supports managing pools within that stack.' % DEFAULT_STACK_NAME) # determine unallocated volume pools = Pool.all().filter(stack_name=stack_name) total_pool_bytes = sum([p.quota_bytes['byte_value'] for p in pools]) unallocated_bytes = stack.quota_bytes - total_pool_bytes template_args['unallocated_bytes'] = unallocated_bytes # determine correct model object init if action == 'edit': pool_id = Pool.build_id(pool_name, namespace=None, owner=None) pool_object = Pool.get(pool_id) elif action == 'add': pool_object = Pool(namespace=None, owner=None, name=formset_name) pool_object.quota_bytes['value_mode'] = 'MAX' else: raise Exception, 'unrecognized endpoint: %s' % action # determine allocation mode if pool_object.quota_bytes['value_mode'] == 'MAX': quota_mode = 'all' else: quota_mode = 'explicit' # normalize the output to MB