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 <[email protected]>
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 <[email protected]>
---
.../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