You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by ro...@apache.org on 2022/12/12 07:21:37 UTC
[cloudstack] branch main updated: server: Fix double ServiceOfferingDao (#6911)
This is an automated email from the ASF dual-hosted git repository.
rohit pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/cloudstack.git
The following commit(s) were added to refs/heads/main by this push:
new 90203934ec1 server: Fix double ServiceOfferingDao (#6911)
90203934ec1 is described below
commit 90203934ec1fec9a58112f6c811afb2948f1304f
Author: Stephan Krug <st...@icloud.com>
AuthorDate: Mon Dec 12 04:21:28 2022 -0300
server: Fix double ServiceOfferingDao (#6911)
This PR fixes a double declaration of ServiceOfferingDao in UserVmManagerImpl.
Co-authored-by: Stephan Krug <st...@scclouds.com.br>
---
.../main/java/com/cloud/vm/UserVmManagerImpl.java | 66 +++++++++++-----------
.../AccountManagerImplVolumeDeleteEventTest.java | 2 +-
.../com/cloud/user/AccountManagetImplTestBase.java | 4 +-
3 files changed, 34 insertions(+), 38 deletions(-)
diff --git a/server/src/main/java/com/cloud/vm/UserVmManagerImpl.java b/server/src/main/java/com/cloud/vm/UserVmManagerImpl.java
index 60941172804..a4ab8fb74d6 100644
--- a/server/src/main/java/com/cloud/vm/UserVmManagerImpl.java
+++ b/server/src/main/java/com/cloud/vm/UserVmManagerImpl.java
@@ -386,7 +386,7 @@ public class UserVmManagerImpl extends ManagerBase implements UserVmManager, Vir
@Inject
private HostDao _hostDao;
@Inject
- private ServiceOfferingDao _offeringDao;
+ private ServiceOfferingDao serviceOfferingDao;
@Inject
private DiskOfferingDao _diskOfferingDao;
@Inject
@@ -444,8 +444,6 @@ public class UserVmManagerImpl extends ManagerBase implements UserVmManager, Vir
@Inject
private SecurityGroupManager _securityGroupMgr;
@Inject
- private ServiceOfferingDao _serviceOfferingDao;
- @Inject
private NetworkOfferingDao _networkOfferingDao;
@Inject
private InstanceGroupDao _vmGroupDao;
@@ -1264,18 +1262,18 @@ public class UserVmManagerImpl extends ManagerBase implements UserVmManager, Vir
VMInstanceVO vmInstance = _vmInstanceDao.findById(vmId);
// Check resource limits for CPU and Memory.
- ServiceOfferingVO newServiceOffering = _offeringDao.findById(svcOffId);
+ ServiceOfferingVO newServiceOffering = serviceOfferingDao.findById(svcOffId);
if (newServiceOffering.getState() == ServiceOffering.State.Inactive) {
throw new InvalidParameterValueException(String.format("Unable to upgrade virtual machine %s with an inactive service offering %s", vmInstance.getUuid(), newServiceOffering.getUuid()));
}
if (newServiceOffering.isDynamic()) {
newServiceOffering.setDynamicFlag(true);
validateCustomParameters(newServiceOffering, customParameters);
- newServiceOffering = _offeringDao.getComputeOffering(newServiceOffering, customParameters);
+ newServiceOffering = serviceOfferingDao.getComputeOffering(newServiceOffering, customParameters);
} else {
validateOfferingMaxResource(newServiceOffering);
}
- ServiceOfferingVO currentServiceOffering = _offeringDao.findByIdIncludingRemoved(vmInstance.getId(), vmInstance.getServiceOfferingId());
+ ServiceOfferingVO currentServiceOffering = serviceOfferingDao.findByIdIncludingRemoved(vmInstance.getId(), vmInstance.getServiceOfferingId());
validateDiskOfferingChecks(currentServiceOffering, newServiceOffering);
@@ -1922,7 +1920,7 @@ public class UserVmManagerImpl extends ManagerBase implements UserVmManager, Vir
}
if (State.Running.equals(vmInstance.getState())) {
- ServiceOfferingVO newServiceOfferingVO = _serviceOfferingDao.findById(newServiceOfferingId);
+ ServiceOfferingVO newServiceOfferingVO = serviceOfferingDao.findById(newServiceOfferingId);
HostVO instanceHost = _hostDao.findById(vmInstance.getHostId());
_hostDao.loadHostTags(instanceHost);
@@ -1958,17 +1956,17 @@ public class UserVmManagerImpl extends ManagerBase implements UserVmManager, Vir
_accountMgr.checkAccess(caller, null, true, vmInstance);
//Check if its a scale "up"
- ServiceOfferingVO newServiceOffering = _offeringDao.findById(newServiceOfferingId);
+ ServiceOfferingVO newServiceOffering = serviceOfferingDao.findById(newServiceOfferingId);
if (newServiceOffering.isDynamic()) {
newServiceOffering.setDynamicFlag(true);
validateCustomParameters(newServiceOffering, customParameters);
- newServiceOffering = _offeringDao.getComputeOffering(newServiceOffering, customParameters);
+ newServiceOffering = serviceOfferingDao.getComputeOffering(newServiceOffering, customParameters);
}
// Check that the specified service offering ID is valid
_itMgr.checkIfCanUpgrade(vmInstance, newServiceOffering);
- ServiceOfferingVO currentServiceOffering = _offeringDao.findByIdIncludingRemoved(vmInstance.getId(), vmInstance.getServiceOfferingId());
+ ServiceOfferingVO currentServiceOffering = serviceOfferingDao.findByIdIncludingRemoved(vmInstance.getId(), vmInstance.getServiceOfferingId());
if (newServiceOffering.isDynamicScalingEnabled() != currentServiceOffering.isDynamicScalingEnabled()) {
throw new InvalidParameterValueException("Unable to Scale VM: since dynamic scaling enabled flag is not same for new service offering and old service offering");
}
@@ -1999,8 +1997,8 @@ public class UserVmManagerImpl extends ManagerBase implements UserVmManager, Vir
throw new InvalidParameterValueException(message);
}
- _offeringDao.loadDetails(currentServiceOffering);
- _offeringDao.loadDetails(newServiceOffering);
+ serviceOfferingDao.loadDetails(currentServiceOffering);
+ serviceOfferingDao.loadDetails(newServiceOffering);
Map<String, String> currentDetails = currentServiceOffering.getDetails();
Map<String, String> newDetails = newServiceOffering.getDetails();
@@ -2312,7 +2310,7 @@ public class UserVmManagerImpl extends ManagerBase implements UserVmManager, Vir
}
// Get serviceOffering for Virtual Machine
- ServiceOfferingVO serviceOffering = _serviceOfferingDao.findById(vm.getId(), vm.getServiceOfferingId());
+ ServiceOfferingVO serviceOffering = serviceOfferingDao.findById(vm.getId(), vm.getServiceOfferingId());
// First check that the maximum number of UserVMs, CPU and Memory limit for the given
// accountId will not be exceeded
@@ -2402,7 +2400,7 @@ public class UserVmManagerImpl extends ManagerBase implements UserVmManager, Vir
_itMgr.registerGuru(VirtualMachine.Type.User, this);
- VirtualMachine.State.getStateMachine().registerListener(new UserVmStateListener(_usageEventDao, _networkDao, _nicDao, _offeringDao, _vmDao, this, _configDao));
+ VirtualMachine.State.getStateMachine().registerListener(new UserVmStateListener(_usageEventDao, _networkDao, _nicDao, serviceOfferingDao, _vmDao, this, _configDao));
String value = _configDao.getValue(Config.SetVmInternalNameUsingDisplayName.key());
_instanceNameFlag = (value == null) ? false : Boolean.parseBoolean(value);
@@ -2631,7 +2629,7 @@ public class UserVmManagerImpl extends ManagerBase implements UserVmManager, Vir
_alertMgr.sendAlert(AlertManager.AlertType.ALERT_TYPE_USERVM, vm.getDataCenterId(), vm.getPodIdToDeployIn(), msg, msg);
// Get serviceOffering for Virtual Machine
- ServiceOfferingVO offering = _serviceOfferingDao.findById(vm.getId(), vm.getServiceOfferingId());
+ ServiceOfferingVO offering = serviceOfferingDao.findById(vm.getId(), vm.getServiceOfferingId());
// Update Resource Count for the given account
resourceCountDecrement(vm.getAccountId(), vm.isDisplayVm(), new Long(offering.getCpu()), new Long(offering.getRamSize()));
@@ -2739,8 +2737,8 @@ public class UserVmManagerImpl extends ManagerBase implements UserVmManager, Vir
long newCpu = NumberUtils.toLong(details.get(VmDetailConstants.CPU_NUMBER));
long newMemory = NumberUtils.toLong(details.get(VmDetailConstants.MEMORY));
- ServiceOfferingVO currentServiceOffering = _serviceOfferingDao.findByIdIncludingRemoved(vmInstance.getId(), vmInstance.getServiceOfferingId());
- ServiceOfferingVO svcOffering = _serviceOfferingDao.findById(vmInstance.getServiceOfferingId());
+ ServiceOfferingVO currentServiceOffering = serviceOfferingDao.findByIdIncludingRemoved(vmInstance.getId(), vmInstance.getServiceOfferingId());
+ ServiceOfferingVO svcOffering = serviceOfferingDao.findById(vmInstance.getServiceOfferingId());
boolean isDynamic = currentServiceOffering.isDynamic();
if (isDynamic) {
Map<String, String> customParameters = new HashMap<>();
@@ -2882,7 +2880,7 @@ public class UserVmManagerImpl extends ManagerBase implements UserVmManager, Vir
vmInstance.setDisplayVm(isDisplayVm);
// Resource limit changes
- ServiceOffering offering = _serviceOfferingDao.findByIdIncludingRemoved(vmInstance.getId(), vmInstance.getServiceOfferingId());
+ ServiceOffering offering = serviceOfferingDao.findByIdIncludingRemoved(vmInstance.getId(), vmInstance.getServiceOfferingId());
if (isDisplayVm) {
resourceCountIncrement(vmInstance.getAccountId(), true, Long.valueOf(offering.getCpu()), Long.valueOf(offering.getRamSize()));
} else {
@@ -2999,7 +2997,7 @@ public class UserVmManagerImpl extends ManagerBase implements UserVmManager, Vir
ha = vm.isHaEnabled();
}
- ServiceOffering offering = _serviceOfferingDao.findById(vm.getId(), vm.getServiceOfferingId());
+ ServiceOffering offering = serviceOfferingDao.findById(vm.getId(), vm.getServiceOfferingId());
if (!offering.isOfferHA() && ha) {
throw new InvalidParameterValueException("Can't enable ha for the vm as it's created from the Service offering having HA disabled");
}
@@ -3254,7 +3252,7 @@ public class UserVmManagerImpl extends ManagerBase implements UserVmManager, Vir
// If the VM is Volatile in nature, on reboot discard the VM's root disk and create a new root disk for it: by calling restoreVM
long serviceOfferingId = vmInstance.getServiceOfferingId();
- ServiceOfferingVO offering = _serviceOfferingDao.findById(vmInstance.getId(), serviceOfferingId);
+ ServiceOfferingVO offering = serviceOfferingDao.findById(vmInstance.getId(), serviceOfferingId);
if (offering != null && offering.getRemoved() == null) {
if (offering.isVolatileVm()) {
return restoreVMInternal(caller, vmInstance, null);
@@ -3946,12 +3944,12 @@ public class UserVmManagerImpl extends ManagerBase implements UserVmManager, Vir
_configMgr.checkZoneAccess(owner, zone);
}
- ServiceOfferingVO offering = _serviceOfferingDao.findById(serviceOffering.getId());
+ ServiceOfferingVO offering = serviceOfferingDao.findById(serviceOffering.getId());
if (offering.isDynamic()) {
offering.setDynamicFlag(true);
validateCustomParameters(offering, customParameters);
- offering = _offeringDao.getComputeOffering(offering, customParameters);
+ offering = serviceOfferingDao.getComputeOffering(offering, customParameters);
} else {
validateOfferingMaxResource(offering);
}
@@ -4694,7 +4692,7 @@ public class UserVmManagerImpl extends ManagerBase implements UserVmManager, Vir
@Override
public void generateUsageEvent(VirtualMachine vm, boolean isDisplay, String eventType){
- ServiceOfferingVO serviceOffering = _offeringDao.findById(vm.getId(), vm.getServiceOfferingId());
+ ServiceOfferingVO serviceOffering = serviceOfferingDao.findById(vm.getId(), vm.getServiceOfferingId());
if (!serviceOffering.isDynamic()) {
UsageEventUtils.publishUsageEvent(eventType, vm.getAccountId(), vm.getDataCenterId(), vm.getId(),
vm.getHostName(), serviceOffering.getId(), vm.getTemplateId(), vm.getHypervisorType().toString(),
@@ -5030,7 +5028,7 @@ public class UserVmManagerImpl extends ManagerBase implements UserVmManager, Vir
if(defaultNic != null) {
Network network = _networkModel.getNetwork(defaultNic.getNetworkId());
if (_networkModel.isSharedNetworkWithoutServices(network.getId())) {
- final String serviceOffering = _serviceOfferingDao.findByIdIncludingRemoved(vm.getId(), vm.getServiceOfferingId()).getDisplayText();
+ final String serviceOffering = serviceOfferingDao.findByIdIncludingRemoved(vm.getId(), vm.getServiceOfferingId()).getDisplayText();
boolean isWindows = _guestOSCategoryDao.findById(_guestOSDao.findById(vm.getGuestOSId()).getCategoryId()).getName().equalsIgnoreCase("Windows");
String destHostname = VirtualMachineManager.getHypervisorHostname(dest.getHost() != null ? dest.getHost().getName() : "");
List<String[]> vmData = _networkModel.generateVmData(vm.getUserData(), vm.getUserDataDetails(), serviceOffering, vm.getDataCenterId(), vm.getInstanceName(), vm.getHostName(), vm.getId(),
@@ -5350,7 +5348,7 @@ public class UserVmManagerImpl extends ManagerBase implements UserVmManager, Vir
}
if (VirtualMachineManager.ResourceCountRunningVMsonly.value()) {
// check if account/domain is with in resource limits to start a new vm
- ServiceOfferingVO offering = _serviceOfferingDao.findById(vm.getId(), vm.getServiceOfferingId());
+ ServiceOfferingVO offering = serviceOfferingDao.findById(vm.getId(), vm.getServiceOfferingId());
resourceLimitCheck(owner, vm.isDisplayVm(), Long.valueOf(offering.getCpu()), Long.valueOf(offering.getRamSize()));
}
// check if vm is security group enabled
@@ -5379,7 +5377,7 @@ public class UserVmManagerImpl extends ManagerBase implements UserVmManager, Vir
boolean deployOnGivenHost = false;
if (destinationHost != null) {
s_logger.debug("Destination Host to deploy the VM is specified, specifying a deployment plan to deploy the VM");
- final ServiceOfferingVO offering = _offeringDao.findById(vm.getId(), vm.getServiceOfferingId());
+ final ServiceOfferingVO offering = serviceOfferingDao.findById(vm.getId(), vm.getServiceOfferingId());
Pair<Boolean, Boolean> cpuCapabilityAndCapacity = _capacityMgr.checkIfHostHasCpuCapabilityAndCapacity(destinationHost, offering, false);
if (!cpuCapabilityAndCapacity.first() || !cpuCapabilityAndCapacity.second()) {
String errorMsg = "Cannot deploy the VM to specified host " + hostId + "; host has cpu capability? " + cpuCapabilityAndCapacity.first() + ", host has capacity? " + cpuCapabilityAndCapacity.second();
@@ -5584,7 +5582,7 @@ public class UserVmManagerImpl extends ManagerBase implements UserVmManager, Vir
if (vmState != State.Error) {
// Get serviceOffering for Virtual Machine
- ServiceOfferingVO offering = _serviceOfferingDao.findByIdIncludingRemoved(vm.getId(), vm.getServiceOfferingId());
+ ServiceOfferingVO offering = serviceOfferingDao.findByIdIncludingRemoved(vm.getId(), vm.getServiceOfferingId());
//Update Resource Count for the given account
resourceCountDecrement(vm.getAccountId(), vm.isDisplayVm(), new Long(offering.getCpu()), new Long(offering.getRamSize()));
@@ -6535,7 +6533,7 @@ public class UserVmManagerImpl extends ManagerBase implements UserVmManager, Vir
private DeployDestination chooseVmMigrationDestination(VMInstanceVO vm, Host srcHost) {
vm.setLastHostId(null); // Last host does not have higher priority in vm migration
- final ServiceOfferingVO offering = _offeringDao.findById(vm.getId(), vm.getServiceOfferingId());
+ final ServiceOfferingVO offering = serviceOfferingDao.findById(vm.getId(), vm.getServiceOfferingId());
final VirtualMachineProfile profile = new VirtualMachineProfileImpl(vm, null, offering, null, null);
final Long srcHostId = srcHost.getId();
final Host host = _hostDao.findById(srcHostId);
@@ -6710,7 +6708,7 @@ public class UserVmManagerImpl extends ManagerBase implements UserVmManager, Vir
}
// Checks for implicitly dedicated hosts
- ServiceOfferingVO deployPlanner = _offeringDao.findById(vm.getId(), vm.getServiceOfferingId());
+ ServiceOfferingVO deployPlanner = serviceOfferingDao.findById(vm.getId(), vm.getServiceOfferingId());
if (deployPlanner.getDeploymentPlanner() != null && deployPlanner.getDeploymentPlanner().equals("ImplicitDedicationPlanner")) {
//VM is deployed using implicit planner
long accountOfVm = vm.getAccountId();
@@ -6734,7 +6732,7 @@ public class UserVmManagerImpl extends ManagerBase implements UserVmManager, Vir
//If vm is deployed using preferred implicit planner, check if all vms on destination host must be
//using implicit planner and must belong to same account
for (VMInstanceVO vmsDest : vmsOnDest) {
- ServiceOfferingVO destPlanner = _offeringDao.findById(vm.getId(), vmsDest.getServiceOfferingId());
+ ServiceOfferingVO destPlanner = serviceOfferingDao.findById(vm.getId(), vmsDest.getServiceOfferingId());
if (!((destPlanner.getDeploymentPlanner() != null && destPlanner.getDeploymentPlanner().equals("ImplicitDedicationPlanner")) && vmsDest.getAccountId() == accountOfVm)) {
msg = "VM of account " + accountOfVm + " with preffered implicit deployment planner being migrated to host " + destHost.getName()
+ " not having all vms implicitly dedicated to account " + accountOfVm;
@@ -6826,7 +6824,7 @@ public class UserVmManagerImpl extends ManagerBase implements UserVmManager, Vir
private boolean isImplicitPlannerUsedByOffering(long offeringId) {
boolean implicitPlannerUsed = false;
- ServiceOfferingVO offering = _serviceOfferingDao.findByIdIncludingRemoved(offeringId);
+ ServiceOfferingVO offering = serviceOfferingDao.findByIdIncludingRemoved(offeringId);
if (offering == null) {
s_logger.error("Couldn't retrieve the offering by the given id : " + offeringId);
} else {
@@ -7141,7 +7139,7 @@ public class UserVmManagerImpl extends ManagerBase implements UserVmManager, Vir
DataCenterVO zone = _dcDao.findById(vm.getDataCenterId());
// Get serviceOffering and Volumes for Virtual Machine
- final ServiceOfferingVO offering = _serviceOfferingDao.findByIdIncludingRemoved(vm.getId(), vm.getServiceOfferingId());
+ final ServiceOfferingVO offering = serviceOfferingDao.findByIdIncludingRemoved(vm.getId(), vm.getServiceOfferingId());
//Remove vm from instance group
removeInstanceFromInstanceGroup(cmd.getVmId());
@@ -7821,7 +7819,7 @@ public class UserVmManagerImpl extends ManagerBase implements UserVmManager, Vir
}
private void updateVMDynamicallyScalabilityUsingTemplate(UserVmVO vm, Long newTemplateId) {
- ServiceOfferingVO serviceOffering = _offeringDao.findById(vm.getServiceOfferingId());
+ ServiceOfferingVO serviceOffering = serviceOfferingDao.findById(vm.getServiceOfferingId());
VMTemplateVO newTemplate = _templateDao.findById(newTemplateId);
boolean dynamicScalingEnabled = checkIfDynamicScalingCanBeEnabled(vm, serviceOffering, newTemplate, vm.getDataCenterId());
vm.setDynamicallyScalable(dynamicScalingEnabled);
@@ -8243,7 +8241,7 @@ public class UserVmManagerImpl extends ManagerBase implements UserVmManager, Vir
Decrement VM resources and generate usage events after unmanaging VM
*/
private void postProcessingUnmanageVM(UserVmVO vm) {
- ServiceOfferingVO offering = _serviceOfferingDao.findById(vm.getServiceOfferingId());
+ ServiceOfferingVO offering = serviceOfferingDao.findById(vm.getServiceOfferingId());
Long cpu = offering.getCpu() != null ? new Long(offering.getCpu()) : 0L;
Long ram = offering.getRamSize() != null ? new Long(offering.getRamSize()) : 0L;
// First generate a VM stop event if the VM was not stopped already
diff --git a/server/src/test/java/com/cloud/user/AccountManagerImplVolumeDeleteEventTest.java b/server/src/test/java/com/cloud/user/AccountManagerImplVolumeDeleteEventTest.java
index 27870395487..6cc2da27247 100644
--- a/server/src/test/java/com/cloud/user/AccountManagerImplVolumeDeleteEventTest.java
+++ b/server/src/test/java/com/cloud/user/AccountManagerImplVolumeDeleteEventTest.java
@@ -148,7 +148,7 @@ public class AccountManagerImplVolumeDeleteEventTest extends AccountManagetImplT
lenient().when(offering.getId()).thenReturn(1l);
when(offering.getCpu()).thenReturn(500);
when(offering.getRamSize()).thenReturn(500);
- when(_serviceOfferingDao.findByIdIncludingRemoved(nullable(Long.class), nullable(Long.class))).thenReturn(offering);
+ when(serviceOfferingDao.findByIdIncludingRemoved(nullable(Long.class), nullable(Long.class))).thenReturn(offering);
lenient().when(_domainMgr.getDomain(nullable(Long.class))).thenReturn(domain);
diff --git a/server/src/test/java/com/cloud/user/AccountManagetImplTestBase.java b/server/src/test/java/com/cloud/user/AccountManagetImplTestBase.java
index e26b390c203..556e0ced0ae 100644
--- a/server/src/test/java/com/cloud/user/AccountManagetImplTestBase.java
+++ b/server/src/test/java/com/cloud/user/AccountManagetImplTestBase.java
@@ -185,9 +185,7 @@ public class AccountManagetImplTestBase {
@Mock
UserAuthenticator userAuthenticator;
@Mock
- ServiceOfferingDao _serviceOfferingDao;
- @Mock
- ServiceOfferingDao _offeringDao;
+ ServiceOfferingDao serviceOfferingDao;
@Mock
OrchestrationService _orchSrvc;
@Mock