def createGlusterBrick(data): log.debug("Inside createGlusterBrick Async Task %s" % data) current_task.update_state(state='STARTED') bricklist = data['bricks'] # Return from here if bricklist is empty if len(bricklist) == 0: log.info("Brick List is empty, Brick addition failed") raise Exception( bricklist, "Brick List is empty, Brick addition failed") # Prepare the disks for brick creation failed = usm_rest_utils.create_gluster_brick(bricklist) log.critical("Brick creation failed for bricks: %s" % str(failed)) # Remove the failed bricks from bricklist bricks = [item for item in bricklist if item not in failed] # Return from here if bricks are empty if len(bricks) == 0: log.info("Brick List is empty, Brick creation failed") raise Exception( bricklist, "Brick Creation failed") # create the Brick try: volume = GlusterVolume.objects.get(pk=str(data['volume'])) rc = usm_rest_utils.add_volume_bricks(volume, bricks) if rc is False: raise Exception( bricks, "Brick List is empty, Brick addition failed") except Exception, e: log.exception(e) raise
def createGlusterVolume(data): log.debug("Inside createGlusterVolume Async Task %s" % data) current_task.update_state(state='STARTED') if 'bricks' in data: bricklist = data['bricks'] del data['bricks'] # Return from here if bricklist is empty if len(bricklist) == 0: log.info("Brick List is empty, Volume creation failed") raise usm_rest_utils.VolumeCreationFailed( bricklist, "Brick List is empty, Volume creation failed") hostlist = Host.objects.filter(cluster_id=str(data['cluster'])) # Prepare the disks for brick creation failed = usm_rest_utils.create_gluster_brick(bricklist) log.critical("Brick creation failed for bricks: %s" % str(failed)) # Remove the failed bricks from bricklist bricks = [item for item in bricklist if item not in failed] # Return from here if bricks are empty if len(bricks) == 0: log.info("Brick List is empty, Brick creation failed") raise usm_rest_utils.VolumeCreationFailed( bricklist, "Brick Creation failed") log.debug("Creating the volume with bricks %s", str(bricks)) # create the Volume try: rc = usm_rest_utils.create_gluster_volume(data, bricks, hostlist) if rc is False: log.debug("Creating the volume failed") raise usm_rest_utils.VolumeCreationFailed(data, str(bricks)) except usm_rest_utils.VolumeCreationFailed, e: log.exception(e) raise