mirror of
				https://github.com/apache/cloudstack.git
				synced 2025-11-04 00:02:37 +01:00 
			
		
		
		
	bug 8290: Instance Limit set at account level however was able to create more vms than limit
adding additional exception handling
This commit is contained in:
		
							parent
							
								
									fc6574c40c
								
							
						
					
					
						commit
						86398a8546
					
				@ -33,6 +33,7 @@ import com.cloud.async.AsyncJob;
 | 
			
		||||
import com.cloud.event.EventTypes;
 | 
			
		||||
import com.cloud.exception.ConcurrentOperationException;
 | 
			
		||||
import com.cloud.exception.InsufficientCapacityException;
 | 
			
		||||
import com.cloud.exception.ResourceAllocationException;
 | 
			
		||||
import com.cloud.exception.ResourceUnavailableException;
 | 
			
		||||
import com.cloud.hypervisor.Hypervisor.HypervisorType;
 | 
			
		||||
import com.cloud.user.Account;
 | 
			
		||||
@ -244,7 +245,7 @@ public class DeployVMCmd extends BaseAsyncCreateCmd {
 | 
			
		||||
            s_logger.info(ex);
 | 
			
		||||
            s_logger.trace(ex);
 | 
			
		||||
            throw new ServerApiException(BaseCmd.INSUFFICIENT_CAPACITY_ERROR, ex.getMessage());
 | 
			
		||||
        } 
 | 
			
		||||
		}       
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
@ -266,7 +267,10 @@ public class DeployVMCmd extends BaseAsyncCreateCmd {
 | 
			
		||||
        }  catch (ConcurrentOperationException ex) {
 | 
			
		||||
            s_logger.warn("Exception: ", ex);
 | 
			
		||||
            throw new ServerApiException(BaseCmd.INTERNAL_ERROR, ex.getMessage());
 | 
			
		||||
        } 
 | 
			
		||||
        } catch (ResourceAllocationException ex) {
 | 
			
		||||
		    s_logger.warn("Exception: ", ex);
 | 
			
		||||
		    throw new ServerApiException(BaseCmd.RESOURCE_ALLOCATION_ERROR, ex.getMessage());
 | 
			
		||||
        }    
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -30,6 +30,7 @@ import com.cloud.async.AsyncJob;
 | 
			
		||||
import com.cloud.event.EventTypes;
 | 
			
		||||
import com.cloud.exception.ConcurrentOperationException;
 | 
			
		||||
import com.cloud.exception.InsufficientCapacityException;
 | 
			
		||||
import com.cloud.exception.ResourceAllocationException;
 | 
			
		||||
import com.cloud.exception.ResourceUnavailableException;
 | 
			
		||||
import com.cloud.exception.StorageUnavailableException;
 | 
			
		||||
import com.cloud.user.Account;
 | 
			
		||||
@ -118,6 +119,9 @@ public class StartVMCmd extends BaseAsyncCmd {
 | 
			
		||||
        }catch (ExecutionException ex) {
 | 
			
		||||
            s_logger.warn("Exception: ", ex);
 | 
			
		||||
            throw new ServerApiException(BaseCmd.INTERNAL_ERROR, ex.getMessage());
 | 
			
		||||
        }
 | 
			
		||||
        } catch (ResourceAllocationException ex) {
 | 
			
		||||
		    s_logger.warn("Exception: ", ex);
 | 
			
		||||
		    throw new ServerApiException(BaseCmd.RESOURCE_ALLOCATION_ERROR, ex.getMessage());
 | 
			
		||||
        }            
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -91,7 +91,7 @@ public interface UserVmService {
 | 
			
		||||
     */
 | 
			
		||||
    Volume detachVolumeFromVM(DetachVolumeCmd cmmd);
 | 
			
		||||
    
 | 
			
		||||
    UserVm startVirtualMachine(StartVMCmd cmd) throws StorageUnavailableException, ExecutionException, ConcurrentOperationException, ResourceUnavailableException, InsufficientCapacityException;
 | 
			
		||||
    UserVm startVirtualMachine(StartVMCmd cmd) throws StorageUnavailableException, ExecutionException, ConcurrentOperationException, ResourceUnavailableException, InsufficientCapacityException, ResourceAllocationException;
 | 
			
		||||
    UserVm stopVirtualMachine(StopVMCmd cmd) throws ServerApiException, ConcurrentOperationException;
 | 
			
		||||
    UserVm rebootVirtualMachine(RebootVMCmd cmd) throws InsufficientCapacityException, ResourceUnavailableException;
 | 
			
		||||
    UserVm updateVirtualMachine(UpdateVMCmd cmd);
 | 
			
		||||
@ -127,7 +127,7 @@ public interface UserVmService {
 | 
			
		||||
     * @throws PermissionDeniedException if the caller doesn't have any access rights to the VM.
 | 
			
		||||
     * @throws InvalidParameterValueException if the parameters are incorrect. 
 | 
			
		||||
     */
 | 
			
		||||
    UserVm createVirtualMachine(DeployVMCmd cmd) throws InsufficientCapacityException, ConcurrentOperationException, ResourceUnavailableException, StorageUnavailableException;
 | 
			
		||||
    UserVm createVirtualMachine(DeployVMCmd cmd) throws InsufficientCapacityException, ConcurrentOperationException, ResourceUnavailableException, StorageUnavailableException, ResourceAllocationException;
 | 
			
		||||
    
 | 
			
		||||
    /**
 | 
			
		||||
     * Starts the virtual machine created from createVirtualMachine.
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user