Skip to content

Commit f333134

Browse files
committed
Address merge issues
1 parent e8d57d1 commit f333134

File tree

10 files changed

+1
-154
lines changed

10 files changed

+1
-154
lines changed

api/src/main/java/com/cloud/user/ResourceLimitService.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -290,7 +290,6 @@ void checkVmResourceLimitsForTemplateChange(Account owner, Boolean display, Serv
290290
void incrementVmMemoryResourceCount(long accountId, Boolean display, ServiceOffering serviceOffering, VirtualMachineTemplate template, Long memory);
291291
void decrementVmMemoryResourceCount(long accountId, Boolean display, ServiceOffering serviceOffering, VirtualMachineTemplate template, Long memory);
292292

293-
void checkVmGpuResourceLimit(Account owner, Boolean display, ServiceOffering serviceOffering, VirtualMachineTemplate template, Long gpu) throws ResourceAllocationException;
294293
void incrementVmGpuResourceCount(long accountId, Boolean display, ServiceOffering serviceOffering, VirtualMachineTemplate template, Long gpu);
295294
void decrementVmGpuResourceCount(long accountId, Boolean display, ServiceOffering serviceOffering, VirtualMachineTemplate template, Long gpu);
296295

server/src/main/java/com/cloud/network/vpc/VpcManagerImpl.java

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1222,9 +1222,6 @@ public Vpc createVpc(final long zoneId, final long vpcOffId, final long vpcOwner
12221222
// Verify that caller can perform actions in behalf of vpc owner
12231223
_accountMgr.checkAccess(caller, null, false, owner);
12241224

1225-
// check resource limit
1226-
_resourceLimitMgr.checkResourceLimit(owner, ResourceType.vpc);
1227-
12281225
// Validate zone
12291226
final DataCenter zone = _dcDao.findById(zoneId);
12301227
if (zone == null) {

server/src/main/java/com/cloud/projects/ProjectManagerImpl.java

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -721,9 +721,6 @@ public void doInTransactionWithoutResult(TransactionStatus status) throws Resour
721721
}
722722

723723
try (CheckedReservation checkedReservation = new CheckedReservation(futureOwnerAccount, ResourceType.project, null, null, 1L, reservationDao, _resourceLimitMgr)) {
724-
725-
_resourceLimitMgr.checkResourceLimit(_accountMgr.getAccount(futureOwnerAccount.getId()), ResourceType.project);
726-
727724
//unset the role for the old owner
728725
ProjectAccountVO currentOwner = _projectAccountDao.findByProjectIdAccountId(projectId, currentOwnerAccount.getId());
729726
currentOwner.setAccountRole(Role.Regular);

server/src/main/java/com/cloud/resourcelimit/ResourceLimitManagerImpl.java

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -2202,20 +2202,6 @@ public void decrementVmMemoryResourceCount(long accountId, Boolean display, Serv
22022202
}
22032203
}
22042204

2205-
@Override
2206-
public void checkVmGpuResourceLimit(Account owner, Boolean display, ServiceOffering serviceOffering, VirtualMachineTemplate template, Long gpu) throws ResourceAllocationException {
2207-
List<String> tags = getResourceLimitHostTagsForResourceCountOperation(display, serviceOffering, template);
2208-
if (CollectionUtils.isEmpty(tags)) {
2209-
return;
2210-
}
2211-
if (gpu == null) {
2212-
gpu = serviceOffering.getGpuCount() != null ? Long.valueOf(serviceOffering.getGpuCount()) : 0L;
2213-
}
2214-
for (String tag : tags) {
2215-
checkResourceLimitWithTag(owner, ResourceType.gpu, tag, gpu);
2216-
}
2217-
}
2218-
22192205
@Override
22202206
public void incrementVmGpuResourceCount(long accountId, Boolean display, ServiceOffering serviceOffering, VirtualMachineTemplate template, Long gpu) {
22212207
List<String> tags = getResourceLimitHostTagsForResourceCountOperation(display, serviceOffering, template);

server/src/main/java/com/cloud/storage/VolumeApiServiceImpl.java

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -110,7 +110,6 @@
110110
import org.apache.cloudstack.storage.datastore.db.VolumeDataStoreVO;
111111
import org.apache.cloudstack.storage.image.datastore.ImageStoreEntity;
112112
import org.apache.cloudstack.storage.to.VolumeObjectTO;
113-
import org.apache.cloudstack.utils.bytescale.ByteScaleUtils;
114113
import org.apache.cloudstack.utils.identity.ManagementServerNode;
115114
import org.apache.cloudstack.utils.imagestore.ImageStoreUtil;
116115
import org.apache.cloudstack.utils.jsinterpreter.TagAsRuleHelper;
@@ -552,9 +551,6 @@ public GetUploadParamsResponse doInTransaction(TransactionStatus status) throws
552551
Account account = _accountDao.findById(accountId);
553552
Domain domain = domainDao.findById(account.getDomainId());
554553

555-
// one of the two following might have to be removed
556-
command.setDefaultMaxSecondaryStorageInGB(_resourceLimitMgr.findCorrectResourceLimitForAccountAndDomain(account, domain, ResourceType.secondary_storage, null));
557-
command.setDefaultMaxSecondaryStorageInGB(ByteScaleUtils.bytesToGibibytes(_resourceLimitMgr.findCorrectResourceLimitForAccountAndDomain(account, domain, ResourceType.secondary_storage, null)));
558554
command.setDefaultMaxSecondaryStorageInBytes(_resourceLimitMgr.findCorrectResourceLimitForAccountAndDomain(account, domain, ResourceType.secondary_storage, null));
559555
command.setAccountId(accountId);
560556
Gson gson = new GsonBuilder().create();

server/src/main/java/com/cloud/template/HypervisorTemplateAdapter.java

Lines changed: 0 additions & 99 deletions
Original file line numberDiff line numberDiff line change
@@ -39,9 +39,7 @@
3939
import org.apache.cloudstack.api.command.user.template.RegisterTemplateCmd;
4040
import org.apache.cloudstack.context.CallContext;
4141
import org.apache.cloudstack.direct.download.DirectDownloadManager;
42-
import org.apache.cloudstack.engine.subsystem.api.storage.DataObject;
4342
import org.apache.cloudstack.engine.subsystem.api.storage.DataStore;
44-
import org.apache.cloudstack.engine.subsystem.api.storage.EndPoint;
4543
import org.apache.cloudstack.engine.subsystem.api.storage.Scope;
4644
import org.apache.cloudstack.engine.subsystem.api.storage.TemplateInfo;
4745
import org.apache.cloudstack.engine.subsystem.api.storage.TemplateService;
@@ -57,26 +55,22 @@
5755
import org.apache.cloudstack.storage.datastore.db.TemplateDataStoreDao;
5856
import org.apache.cloudstack.storage.datastore.db.TemplateDataStoreVO;
5957
import org.apache.cloudstack.storage.image.datastore.ImageStoreEntity;
60-
import org.apache.cloudstack.utils.bytescale.ByteScaleUtils;
6158
import org.apache.cloudstack.utils.security.DigestHelper;
6259
import org.apache.commons.collections.CollectionUtils;
6360

6461
import com.cloud.agent.AgentManager;
6562
import com.cloud.agent.api.Answer;
6663
import com.cloud.alert.AlertManager;
67-
import com.cloud.configuration.Config;
6864
import com.cloud.configuration.Resource.ResourceType;
6965
import com.cloud.dc.DataCenterVO;
7066
import com.cloud.dc.dao.DataCenterDao;
71-
import com.cloud.domain.Domain;
7267
import com.cloud.deployasis.dao.TemplateDeployAsIsDetailsDao;
7368
import com.cloud.event.EventTypes;
7469
import com.cloud.event.UsageEventUtils;
7570
import com.cloud.exception.InvalidParameterValueException;
7671
import com.cloud.exception.ResourceAllocationException;
7772
import com.cloud.host.HostVO;
7873
import com.cloud.hypervisor.Hypervisor;
79-
import com.cloud.org.Grouping;
8074
import com.cloud.resource.ResourceManager;
8175
import com.cloud.storage.ScopeType;
8276
import com.cloud.storage.Storage.ImageFormat;
@@ -300,44 +294,6 @@ protected void validateSecondaryStorageAndCreateTemplate(List<DataStore> imageSt
300294
}
301295
}
302296

303-
protected boolean isZoneAndImageStoreAvailable(DataStore imageStore, Long zoneId, Set<Long> zoneSet, boolean isTemplatePrivate) {
304-
if (zoneId == null) {
305-
logger.warn(String.format("Zone ID is null, cannot allocate ISO/template in image store [%s].", imageStore));
306-
return false;
307-
}
308-
309-
DataCenterVO zone = _dcDao.findById(zoneId);
310-
if (zone == null) {
311-
logger.warn("Unable to find zone by id [{}], so skip downloading template to its image store [{}].", zoneId, imageStore);
312-
return false;
313-
}
314-
315-
if (Grouping.AllocationState.Disabled == zone.getAllocationState()) {
316-
logger.info("Zone [{}] is disabled. Skip downloading template to its image store [{}].", zone, imageStore);
317-
return false;
318-
}
319-
320-
if (!_statsCollector.imageStoreHasEnoughCapacity(imageStore)) {
321-
logger.info("Image store doesn't have enough capacity. Skip downloading template to this image store [{}].", imageStore);
322-
return false;
323-
}
324-
325-
if (zoneSet == null) {
326-
logger.info(String.format("Zone set is null; therefore, the ISO/template should be allocated in every secondary storage of zone [%s].", zone));
327-
return true;
328-
}
329-
330-
if (isTemplatePrivate && zoneSet.contains(zoneId)) {
331-
logger.info(String.format("The template is private and it is already allocated in a secondary storage in zone [%s]; therefore, image store [%s] will be skipped.",
332-
zone, imageStore));
333-
return false;
334-
}
335-
336-
logger.info(String.format("Private template will be allocated in image store [%s] in zone [%s].", imageStore, zone));
337-
zoneSet.add(zoneId);
338-
return true;
339-
}
340-
341297
@Override
342298
public List<TemplateOrVolumePostUploadCommand> createTemplateForPostUpload(final TemplateProfile profile) {
343299
// persist entry in vm_template, vm_template_details and template_zone_ref tables, not that entry at template_store_ref is not created here, and created in createTemplateAsync.
@@ -391,61 +347,6 @@ public List<TemplateOrVolumePostUploadCommand> doInTransaction(TransactionStatus
391347
});
392348
}
393349

394-
/**
395-
* If the template/ISO is marked as private, then it is allocated to a random secondary storage; otherwise, allocates to every storage pool in every zone given by the
396-
* {@link TemplateProfile#getZoneIdList()}.
397-
*/
398-
protected void postUploadAllocation(List<DataStore> imageStores, VMTemplateVO template, List<TemplateOrVolumePostUploadCommand> payloads) {
399-
Set<Long> zoneSet = new HashSet<>();
400-
Collections.shuffle(imageStores);
401-
for (DataStore imageStore : imageStores) {
402-
Long zoneId_is = imageStore.getScope().getScopeId();
403-
404-
if (!isZoneAndImageStoreAvailable(imageStore, zoneId_is, zoneSet, isPrivateTemplate(template))) {
405-
continue;
406-
}
407-
408-
TemplateInfo tmpl = imageFactory.getTemplate(template.getId(), imageStore);
409-
410-
// persist template_store_ref entry
411-
DataObject templateOnStore = imageStore.create(tmpl);
412-
413-
// update template_store_ref and template state
414-
EndPoint ep = _epSelector.select(templateOnStore);
415-
if (ep == null) {
416-
String errMsg = String.format("There is no secondary storage VM for downloading template to image store %s", imageStore);
417-
logger.warn(errMsg);
418-
throw new CloudRuntimeException(errMsg);
419-
}
420-
421-
TemplateOrVolumePostUploadCommand payload = new TemplateOrVolumePostUploadCommand(template.getId(), template.getUuid(), tmpl.getInstallPath(), tmpl
422-
.getChecksum(), tmpl.getType().toString(), template.getUniqueName(), template.getFormat().toString(), templateOnStore.getDataStore().getUri(),
423-
templateOnStore.getDataStore().getRole().toString());
424-
//using the existing max template size configuration
425-
payload.setMaxUploadSize(_configDao.getValue(Config.MaxTemplateAndIsoSize.key()));
426-
427-
Long accountId = template.getAccountId();
428-
Account account = _accountDao.findById(accountId);
429-
Domain domain = _domainDao.findById(account.getDomainId());
430-
431-
payload.setDefaultMaxSecondaryStorageInGB(ByteScaleUtils.bytesToGibibytes(_resourceLimitMgr.findCorrectResourceLimitForAccountAndDomain(account, domain, ResourceType.secondary_storage, null)));
432-
payload.setAccountId(accountId);
433-
payload.setRemoteEndPoint(ep.getPublicAddr());
434-
payload.setRequiresHvm(template.requiresHvm());
435-
payload.setDescription(template.getDisplayText());
436-
payloads.add(payload);
437-
}
438-
}
439-
440-
protected boolean isPrivateTemplate(VMTemplateVO template){
441-
442-
// if public OR featured OR system template
443-
if(template.isPublicTemplate() || template.isFeatured() || template.getTemplateType() == TemplateType.SYSTEM)
444-
return false;
445-
else
446-
return true;
447-
}
448-
449350
private class CreateTemplateContext<T> extends AsyncRpcContext<T> {
450351
final TemplateInfo template;
451352

server/src/main/java/com/cloud/template/TemplateAdapterBase.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -244,7 +244,7 @@ protected void postUploadAllocation(List<DataStore> imageStores, VMTemplateVO te
244244
Account account = _accountDao.findById(accountId);
245245
Domain domain = _domainDao.findById(account.getDomainId());
246246

247-
payload.setDefaultMaxSecondaryStorageInGB(_resourceLimitMgr.findCorrectResourceLimitForAccountAndDomain(account, domain, ResourceType.secondary_storage, null));
247+
payload.setDefaultMaxSecondaryStorageInBytes(_resourceLimitMgr.findCorrectResourceLimitForAccountAndDomain(account, domain, ResourceType.secondary_storage, null));
248248
payload.setAccountId(accountId);
249249
payload.setRemoteEndPoint(ep.getPublicAddr());
250250
payload.setRequiresHvm(template.requiresHvm());

server/src/test/java/com/cloud/network/vpc/VpcManagerImplTest.java

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@
2323
import com.cloud.agent.api.to.IpAddressTO;
2424
import com.cloud.agent.manager.Commands;
2525
import com.cloud.alert.AlertManager;
26-
import com.cloud.configuration.Resource;
2726
import com.cloud.dc.DataCenterVO;
2827
import com.cloud.dc.VlanVO;
2928
import com.cloud.dc.dao.DataCenterDao;
@@ -492,7 +491,6 @@ private void mockVpcDnsResources(boolean supportDnsService, boolean isIpv6) {
492491
public void testCreateVpcDnsOfferingServiceFailure() {
493492
mockVpcDnsResources(false, false);
494493
try {
495-
doNothing().when(resourceLimitService).checkResourceLimit(account, Resource.ResourceType.vpc);
496494
manager.createVpc(zoneId, vpcOfferingId, vpcOwnerId, vpcName, vpcName, ip4Cidr, vpcDomain,
497495
ip4Dns[0], null, null, null, true, 1500, null, null, null, false);
498496
} catch (ResourceAllocationException e) {
@@ -504,7 +502,6 @@ public void testCreateVpcDnsOfferingServiceFailure() {
504502
public void testCreateVpcDnsIpv6OfferingFailure() {
505503
mockVpcDnsResources(true, false);
506504
try {
507-
doNothing().when(resourceLimitService).checkResourceLimit(account, Resource.ResourceType.vpc);
508505
manager.createVpc(zoneId, vpcOfferingId, vpcOwnerId, vpcName, vpcName, ip4Cidr, vpcDomain,
509506
ip4Dns[0], ip4Dns[1], ip6Dns[0], null, true, 1500, null, null, null, false);
510507
} catch (ResourceAllocationException e) {
@@ -519,7 +516,6 @@ public void testCreateVpc() {
519516
Mockito.when(vpcDao.persist(any(), anyMap())).thenReturn(vpc);
520517
Mockito.when(vpc.getUuid()).thenReturn("uuid");
521518
try (MockedConstruction<CheckedReservation> mockCheckedReservation = Mockito.mockConstruction(CheckedReservation.class)) {
522-
doNothing().when(resourceLimitService).checkResourceLimit(account, Resource.ResourceType.vpc);
523519
manager.createVpc(zoneId, vpcOfferingId, vpcOwnerId, vpcName, vpcName, ip4Cidr, vpcDomain,
524520
ip4Dns[0], ip4Dns[1], null, null, true, 1500, null, null, null, false);
525521
} catch (ResourceAllocationException e) {
@@ -536,7 +532,6 @@ public void testCreateRoutedVpc() {
536532
doReturn(true).when(routedIpv4Manager).isRoutedVpc(any());
537533
doNothing().when(routedIpv4Manager).getOrCreateIpv4SubnetForVpc(any(), anyString());
538534
try (MockedConstruction<CheckedReservation> mockCheckedReservation = Mockito.mockConstruction(CheckedReservation.class)) {
539-
doNothing().when(resourceLimitService).checkResourceLimit(account, Resource.ResourceType.vpc);
540535
manager.createVpc(zoneId, vpcOfferingId, vpcOwnerId, vpcName, vpcName, ip4Cidr, vpcDomain,
541536
ip4Dns[0], ip4Dns[1], null, null, true, 1500, null, null, null, false);
542537
} catch (ResourceAllocationException e) {
@@ -559,7 +554,6 @@ public void testCreateRoutedVpcWithDynamicRouting() {
559554
doReturn(ipv4GuestSubnetNetworkMap).when(routedIpv4Manager).getOrCreateIpv4SubnetForVpc(any(), anyInt());
560555
List<Long> bgpPeerIds = Arrays.asList(11L, 12L);
561556
try (MockedConstruction<CheckedReservation> mockCheckedReservation = Mockito.mockConstruction(CheckedReservation.class)) {
562-
doNothing().when(resourceLimitService).checkResourceLimit(account, Resource.ResourceType.vpc);
563557
manager.createVpc(zoneId, vpcOfferingId, vpcOwnerId, vpcName, vpcName, null, vpcDomain,
564558
ip4Dns[0], ip4Dns[1], null, null, true, 1500, 24, null, bgpPeerIds, false);
565559
} catch (ResourceAllocationException e) {

server/src/test/java/com/cloud/resourcelimit/ResourceLimitManagerImplTest.java

Lines changed: 0 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -296,24 +296,6 @@ public void testCheckVmResourceLimit() {
296296
}
297297
}
298298

299-
@Test
300-
public void testCheckVmGpuResourceLimit() {
301-
ServiceOffering serviceOffering = Mockito.mock(ServiceOffering.class);
302-
VirtualMachineTemplate template = Mockito.mock(VirtualMachineTemplate.class);
303-
Mockito.when(serviceOffering.getHostTag()).thenReturn(hostTags.get(0));
304-
Mockito.when(template.getTemplateTag()).thenReturn(hostTags.get(0));
305-
Account account = Mockito.mock(Account.class);
306-
long gpuCount = 2L;
307-
try {
308-
Mockito.doNothing().when(resourceLimitManager).checkResourceLimitWithTag(Mockito.any(), Mockito.any(), Mockito.any(), Mockito.any());
309-
resourceLimitManager.checkVmGpuResourceLimit(account, true, serviceOffering, template, gpuCount);
310-
Mockito.verify(resourceLimitManager, Mockito.times(1)).checkResourceLimitWithTag(account, Resource.ResourceType.gpu, null, gpuCount);
311-
Mockito.verify(resourceLimitManager, Mockito.times(1)).checkResourceLimitWithTag(account, Resource.ResourceType.gpu, hostTags.get(0), gpuCount);
312-
} catch (ResourceAllocationException e) {
313-
Assert.fail("Exception encountered: " + e.getMessage());
314-
}
315-
}
316-
317299
@Test
318300
public void testCheckVolumeResourceLimit() {
319301
List<Reserver> reservations = new ArrayList<>();

server/src/test/java/com/cloud/vpc/MockResourceLimitManagerImpl.java

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -383,11 +383,6 @@ public void decrementVmMemoryResourceCount(long accountId, Boolean display, Serv
383383

384384
}
385385

386-
@Override
387-
public void checkVmGpuResourceLimit(Account owner, Boolean display, ServiceOffering serviceOffering, VirtualMachineTemplate template, Long gpu) throws ResourceAllocationException {
388-
389-
}
390-
391386
@Override
392387
public void incrementVmGpuResourceCount(long accountId, Boolean display, ServiceOffering serviceOffering, VirtualMachineTemplate template, Long gpu) {
393388

0 commit comments

Comments
 (0)