mirror of
				https://github.com/apache/cloudstack.git
				synced 2025-10-26 08:42:29 +01:00 
			
		
		
		
	Fix root disk resize (don't allow) when service offering has root disk size, only allow through service offering change (#9428)
This commit is contained in:
		
							parent
							
								
									0fae0c021f
								
							
						
					
					
						commit
						ebaf064d92
					
				| @ -126,8 +126,6 @@ import com.cloud.agent.api.ModifyTargetsCommand; | |||||||
| import com.cloud.agent.api.to.DataTO; | import com.cloud.agent.api.to.DataTO; | ||||||
| import com.cloud.agent.api.to.DiskTO; | import com.cloud.agent.api.to.DiskTO; | ||||||
| import com.cloud.api.ApiDBUtils; | import com.cloud.api.ApiDBUtils; | ||||||
| import com.cloud.api.query.dao.ServiceOfferingJoinDao; |  | ||||||
| import com.cloud.api.query.vo.ServiceOfferingJoinVO; |  | ||||||
| import com.cloud.configuration.Config; | import com.cloud.configuration.Config; | ||||||
| import com.cloud.configuration.ConfigurationManager; | import com.cloud.configuration.ConfigurationManager; | ||||||
| import com.cloud.configuration.Resource.ResourceType; | import com.cloud.configuration.Resource.ResourceType; | ||||||
| @ -275,8 +273,6 @@ public class VolumeApiServiceImpl extends ManagerBase implements VolumeApiServic | |||||||
|     @Inject |     @Inject | ||||||
|     private ServiceOfferingDetailsDao _serviceOfferingDetailsDao; |     private ServiceOfferingDetailsDao _serviceOfferingDetailsDao; | ||||||
|     @Inject |     @Inject | ||||||
|     private ServiceOfferingJoinDao serviceOfferingJoinDao; |  | ||||||
|     @Inject |  | ||||||
|     private UserVmDao _userVmDao; |     private UserVmDao _userVmDao; | ||||||
|     @Inject |     @Inject | ||||||
|     private UserVmDetailsDao userVmDetailsDao; |     private UserVmDetailsDao userVmDetailsDao; | ||||||
| @ -1399,8 +1395,7 @@ public class VolumeApiServiceImpl extends ManagerBase implements VolumeApiServic | |||||||
|         boolean isNotIso = format != null && format != ImageFormat.ISO; |         boolean isNotIso = format != null && format != ImageFormat.ISO; | ||||||
|         boolean isRoot = Volume.Type.ROOT.equals(volume.getVolumeType()); |         boolean isRoot = Volume.Type.ROOT.equals(volume.getVolumeType()); | ||||||
| 
 | 
 | ||||||
|         ServiceOfferingJoinVO serviceOfferingView = serviceOfferingJoinDao.findById(diskOffering.getId()); |         boolean isOfferingEnforcingRootDiskSize = diskOffering.isComputeOnly() && diskOffering.getDiskSize() > 0; | ||||||
|         boolean isOfferingEnforcingRootDiskSize = serviceOfferingView != null && serviceOfferingView.getRootDiskSize() > 0; |  | ||||||
| 
 | 
 | ||||||
|         return isOfferingEnforcingRootDiskSize && isRoot && isNotIso; |         return isOfferingEnforcingRootDiskSize && isRoot && isNotIso; | ||||||
|     } |     } | ||||||
|  | |||||||
| @ -84,7 +84,6 @@ import org.mockito.junit.MockitoJUnitRunner; | |||||||
| import org.springframework.test.util.ReflectionTestUtils; | import org.springframework.test.util.ReflectionTestUtils; | ||||||
| 
 | 
 | ||||||
| import com.cloud.api.query.dao.ServiceOfferingJoinDao; | import com.cloud.api.query.dao.ServiceOfferingJoinDao; | ||||||
| import com.cloud.api.query.vo.ServiceOfferingJoinVO; |  | ||||||
| import com.cloud.configuration.Resource; | import com.cloud.configuration.Resource; | ||||||
| import com.cloud.configuration.Resource.ResourceType; | import com.cloud.configuration.Resource.ResourceType; | ||||||
| import com.cloud.dc.DataCenterVO; | import com.cloud.dc.DataCenterVO; | ||||||
| @ -1365,10 +1364,8 @@ public class VolumeApiServiceImplTest { | |||||||
| 
 | 
 | ||||||
|         when(volume.getTemplateId()).thenReturn(1l); |         when(volume.getTemplateId()).thenReturn(1l); | ||||||
|         DiskOfferingVO diskOffering = Mockito.mock(DiskOfferingVO.class); |         DiskOfferingVO diskOffering = Mockito.mock(DiskOfferingVO.class); | ||||||
| 
 |         when(diskOffering.isComputeOnly()).thenReturn(true); | ||||||
|         ServiceOfferingJoinVO serviceOfferingJoinVO = Mockito.mock(ServiceOfferingJoinVO.class); |         when(diskOffering.getDiskSize()).thenReturn(rootDisk); | ||||||
|         when(serviceOfferingJoinVO.getRootDiskSize()).thenReturn(rootDisk); |  | ||||||
|         when(serviceOfferingJoinDao.findById(anyLong())).thenReturn(serviceOfferingJoinVO); |  | ||||||
| 
 | 
 | ||||||
|         VMTemplateVO template = Mockito.mock(VMTemplateVO.class); |         VMTemplateVO template = Mockito.mock(VMTemplateVO.class); | ||||||
|         when(template.getFormat()).thenReturn(imageFormat); |         when(template.getFormat()).thenReturn(imageFormat); | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user