diff --git a/engine/components-api/src/main/java/com/cloud/vm/VirtualMachineProfileImpl.java b/engine/components-api/src/main/java/com/cloud/vm/VirtualMachineProfileImpl.java index a1c54b90328..29b96dcc917 100644 --- a/engine/components-api/src/main/java/com/cloud/vm/VirtualMachineProfileImpl.java +++ b/engine/components-api/src/main/java/com/cloud/vm/VirtualMachineProfileImpl.java @@ -40,7 +40,7 @@ public class VirtualMachineProfileImpl implements VirtualMachineProfile { VirtualMachine _vm; ServiceOffering _offering; VirtualMachineTemplate _template; - UserVmDetailVO _userVmDetails; + VMInstanceDetailVO _userVmDetails; Map _params; List _nics = new ArrayList(); List _disks = new ArrayList(); diff --git a/engine/orchestration/src/main/java/com/cloud/vm/VirtualMachineManagerImpl.java b/engine/orchestration/src/main/java/com/cloud/vm/VirtualMachineManagerImpl.java index e439872dfb5..45dcbd0cb53 100755 --- a/engine/orchestration/src/main/java/com/cloud/vm/VirtualMachineManagerImpl.java +++ b/engine/orchestration/src/main/java/com/cloud/vm/VirtualMachineManagerImpl.java @@ -286,7 +286,7 @@ import com.cloud.vm.VirtualMachine.PowerState; import com.cloud.vm.VirtualMachine.State; import com.cloud.vm.dao.NicDao; import com.cloud.vm.dao.UserVmDao; -import com.cloud.vm.dao.UserVmDetailsDao; +import com.cloud.vm.dao.VMInstanceDetailsDao; import com.cloud.vm.dao.VMInstanceDao; import com.cloud.vm.snapshot.VMSnapshotManager; import com.cloud.vm.snapshot.VMSnapshotVO; @@ -381,7 +381,7 @@ public class VirtualMachineManagerImpl extends ManagerBase implements VirtualMac @Inject private ClusterDetailsDao _clusterDetailsDao; @Inject - private UserVmDetailsDao userVmDetailsDao; + private VMInstanceDetailsDao vmInstanceDetailsDao; @Inject private VolumeOrchestrationService volumeMgr; @Inject @@ -1370,8 +1370,8 @@ public class VirtualMachineManagerImpl extends ManagerBase implements VirtualMac _resourceMgr.updateGPUDetails(destHostId, gpuDevice.getGroupDetails()); } - if (userVmDetailsDao.findDetail(vm.getId(), VmDetailConstants.DEPLOY_VM) != null) { - userVmDetailsDao.removeDetail(vm.getId(), VmDetailConstants.DEPLOY_VM); + if (vmInstanceDetailsDao.findDetail(vm.getId(), VmDetailConstants.DEPLOY_VM) != null) { + vmInstanceDetailsDao.removeDetail(vm.getId(), VmDetailConstants.DEPLOY_VM); } startedVm = vm; @@ -1553,16 +1553,16 @@ public class VirtualMachineManagerImpl extends ManagerBase implements VirtualMac final ClusterDetailsVO clusterDetailRam = _clusterDetailsDao.findDetail(clusterId, VmDetailConstants.MEMORY_OVER_COMMIT_RATIO); final float parsedClusterCpuDetailCpu = Float.parseFloat(clusterDetailCpu.getValue()); final float parsedClusterDetailRam = Float.parseFloat(clusterDetailRam.getValue()); - UserVmDetailVO vmDetailCpu = userVmDetailsDao.findDetail(vmProfile.getId(), VmDetailConstants.CPU_OVER_COMMIT_RATIO); - UserVmDetailVO vmDetailRam = userVmDetailsDao.findDetail(vmProfile.getId(), VmDetailConstants.MEMORY_OVER_COMMIT_RATIO); + VMInstanceDetailVO vmDetailCpu = vmInstanceDetailsDao.findDetail(vmProfile.getId(), VmDetailConstants.CPU_OVER_COMMIT_RATIO); + VMInstanceDetailVO vmDetailRam = vmInstanceDetailsDao.findDetail(vmProfile.getId(), VmDetailConstants.MEMORY_OVER_COMMIT_RATIO); if ((vmDetailCpu == null && parsedClusterCpuDetailCpu > 1f) || (vmDetailCpu != null && Float.parseFloat(vmDetailCpu.getValue()) != parsedClusterCpuDetailCpu)) { - userVmDetailsDao.addDetail(vmProfile.getId(), VmDetailConstants.CPU_OVER_COMMIT_RATIO, clusterDetailCpu.getValue(), true); + vmInstanceDetailsDao.addDetail(vmProfile.getId(), VmDetailConstants.CPU_OVER_COMMIT_RATIO, clusterDetailCpu.getValue(), true); } if ((vmDetailRam == null && parsedClusterDetailRam > 1f) || (vmDetailRam != null && Float.parseFloat(vmDetailRam.getValue()) != parsedClusterDetailRam)) { - userVmDetailsDao.addDetail(vmProfile.getId(), VmDetailConstants.MEMORY_OVER_COMMIT_RATIO, clusterDetailRam.getValue(), true); + vmInstanceDetailsDao.addDetail(vmProfile.getId(), VmDetailConstants.MEMORY_OVER_COMMIT_RATIO, clusterDetailRam.getValue(), true); } vmProfile.setCpuOvercommitRatio(Float.parseFloat(clusterDetailCpu.getValue())); @@ -3324,7 +3324,7 @@ public class VirtualMachineManagerImpl extends ManagerBase implements VirtualMac if (defaultNic != null && VirtualMachine.Type.User.equals(vm.getType())) { UserVmVO userVm = _userVmDao.findById(vm.getId()); - Map details = userVmDetailsDao.listDetailsKeyPairs(vm.getId()); + Map details = vmInstanceDetailsDao.listDetailsKeyPairs(vm.getId()); userVm.setDetails(details); Network network = _networkModel.getNetwork(defaultNic.getNetworkId()); @@ -4842,29 +4842,29 @@ public class VirtualMachineManagerImpl extends ManagerBase implements VirtualMac } private void removeCustomOfferingDetails(long vmId) { - Map details = userVmDetailsDao.listDetailsKeyPairs(vmId); + Map details = vmInstanceDetailsDao.listDetailsKeyPairs(vmId); details.remove(UsageEventVO.DynamicParameters.cpuNumber.name()); details.remove(UsageEventVO.DynamicParameters.cpuSpeed.name()); details.remove(UsageEventVO.DynamicParameters.memory.name()); - List detailList = new ArrayList<>(); + List detailList = new ArrayList<>(); for(Map.Entry entry: details.entrySet()) { - UserVmDetailVO detailVO = new UserVmDetailVO(vmId, entry.getKey(), entry.getValue(), true); + VMInstanceDetailVO detailVO = new VMInstanceDetailVO(vmId, entry.getKey(), entry.getValue(), true); detailList.add(detailVO); } - userVmDetailsDao.saveDetails(detailList); + vmInstanceDetailsDao.saveDetails(detailList); } private void saveCustomOfferingDetails(long vmId, ServiceOffering serviceOffering) { - Map details = userVmDetailsDao.listDetailsKeyPairs(vmId); + Map details = vmInstanceDetailsDao.listDetailsKeyPairs(vmId); details.put(UsageEventVO.DynamicParameters.cpuNumber.name(), serviceOffering.getCpu().toString()); details.put(UsageEventVO.DynamicParameters.cpuSpeed.name(), serviceOffering.getSpeed().toString()); details.put(UsageEventVO.DynamicParameters.memory.name(), serviceOffering.getRamSize().toString()); - List detailList = new ArrayList<>(); + List detailList = new ArrayList<>(); for (Map.Entry entry: details.entrySet()) { - UserVmDetailVO detailVO = new UserVmDetailVO(vmId, entry.getKey(), entry.getValue(), true); + VMInstanceDetailVO detailVO = new VMInstanceDetailVO(vmId, entry.getKey(), entry.getValue(), true); detailList.add(detailVO); } - userVmDetailsDao.saveDetails(detailList); + vmInstanceDetailsDao.saveDetails(detailList); } @Override @@ -6182,7 +6182,7 @@ public class VirtualMachineManagerImpl extends ManagerBase implements VirtualMac @Override public Map getDiskOfferingSuitabilityForVm(long vmId, List diskOfferingIds) { VMInstanceVO vm = _vmDao.findById(vmId); - if (userVmDetailsDao.findDetail(vm.getId(), VmDetailConstants.DEPLOY_VM) != null) { + if (vmInstanceDetailsDao.findDetail(vm.getId(), VmDetailConstants.DEPLOY_VM) != null) { return new HashMap<>(); } VirtualMachineProfile profile = new VirtualMachineProfileImpl(vm); diff --git a/engine/orchestration/src/main/java/org/apache/cloudstack/engine/orchestration/CloudOrchestrator.java b/engine/orchestration/src/main/java/org/apache/cloudstack/engine/orchestration/CloudOrchestrator.java index dab06ae995b..c9af76fbddd 100644 --- a/engine/orchestration/src/main/java/org/apache/cloudstack/engine/orchestration/CloudOrchestrator.java +++ b/engine/orchestration/src/main/java/org/apache/cloudstack/engine/orchestration/CloudOrchestrator.java @@ -61,7 +61,7 @@ import com.cloud.vm.NicProfile; import com.cloud.vm.VMInstanceVO; import com.cloud.vm.VirtualMachineManager; import com.cloud.vm.dao.UserVmDao; -import com.cloud.vm.dao.UserVmDetailsDao; +import com.cloud.vm.dao.VMInstanceDetailsDao; import com.cloud.vm.dao.VMInstanceDao; import static org.apache.cloudstack.api.ApiConstants.MAX_IOPS; @@ -86,7 +86,7 @@ public class CloudOrchestrator implements OrchestrationService { protected UserVmDao _userVmDao = null; @Inject - protected UserVmDetailsDao _userVmDetailsDao = null; + protected VMInstanceDetailsDao _vmInstanceDetailsDao = null; @Inject protected ServiceOfferingDao _serviceOfferingDao; @@ -199,7 +199,7 @@ public class CloudOrchestrator implements OrchestrationService { rootDiskOfferingInfo.setSize(rootDiskSize); if (rootDiskOffering.isCustomizedIops() != null && rootDiskOffering.isCustomizedIops()) { - Map userVmDetails = _userVmDetailsDao.listDetailsKeyPairs(vm.getId()); + Map userVmDetails = _vmInstanceDetailsDao.listDetailsKeyPairs(vm.getId()); if (userVmDetails != null) { String minIops = userVmDetails.get(MIN_IOPS); @@ -231,7 +231,7 @@ public class CloudOrchestrator implements OrchestrationService { dataDiskOfferingInfo.setSize(size); if (diskOffering.isCustomizedIops() != null && diskOffering.isCustomizedIops()) { - Map userVmDetails = _userVmDetailsDao.listDetailsKeyPairs(vm.getId()); + Map userVmDetails = _vmInstanceDetailsDao.listDetailsKeyPairs(vm.getId()); if (userVmDetails != null) { String minIops = userVmDetails.get("minIopsDo"); @@ -307,7 +307,7 @@ public class CloudOrchestrator implements OrchestrationService { rootDiskOfferingInfo.setSize(size); if (diskOffering.isCustomizedIops() != null && diskOffering.isCustomizedIops()) { - Map userVmDetails = _userVmDetailsDao.listDetailsKeyPairs(vm.getId()); + Map userVmDetails = _vmInstanceDetailsDao.listDetailsKeyPairs(vm.getId()); if (userVmDetails != null) { String minIops = userVmDetails.get("minIopsDo"); diff --git a/engine/orchestration/src/main/java/org/apache/cloudstack/engine/orchestration/VolumeOrchestrator.java b/engine/orchestration/src/main/java/org/apache/cloudstack/engine/orchestration/VolumeOrchestrator.java index 9592711d1ee..d9a79f9885b 100644 --- a/engine/orchestration/src/main/java/org/apache/cloudstack/engine/orchestration/VolumeOrchestrator.java +++ b/engine/orchestration/src/main/java/org/apache/cloudstack/engine/orchestration/VolumeOrchestrator.java @@ -168,7 +168,7 @@ import com.cloud.utils.fsm.StateMachine2; import com.cloud.vm.DiskProfile; import com.cloud.vm.SecondaryStorageVmVO; import com.cloud.vm.UserVmCloneSettingVO; -import com.cloud.vm.UserVmDetailVO; +import com.cloud.vm.VMInstanceDetailVO; import com.cloud.vm.UserVmVO; import com.cloud.vm.VMInstanceVO; import com.cloud.vm.VirtualMachine; @@ -183,7 +183,7 @@ import com.cloud.vm.VmWorkTakeVolumeSnapshot; import com.cloud.vm.dao.SecondaryStorageVmDao; import com.cloud.vm.dao.UserVmCloneSettingDao; import com.cloud.vm.dao.UserVmDao; -import com.cloud.vm.dao.UserVmDetailsDao; +import com.cloud.vm.dao.VMInstanceDetailsDao; public class VolumeOrchestrator extends ManagerBase implements VolumeOrchestrationService, Configurable { @@ -255,7 +255,7 @@ public class VolumeOrchestrator extends ManagerBase implements VolumeOrchestrati @Inject TemplateService templateService; @Inject - UserVmDetailsDao userVmDetailsDao; + VMInstanceDetailsDao vmInstanceDetailsDao; @Inject private SecondaryStorageVmDao secondaryStorageVmDao; @Inject @@ -1057,7 +1057,7 @@ public class VolumeOrchestrator extends ManagerBase implements VolumeOrchestrati logger.info("Could not find a running SSVM in datacenter [{}] for deploying VM as is. Not deploying VM [{}] as is.", vm.getDataCenterId(), vm); } else { - UserVmDetailVO configurationDetail = userVmDetailsDao.findDetail(vm.getId(), VmDetailConstants.DEPLOY_AS_IS_CONFIGURATION); + VMInstanceDetailVO configurationDetail = vmInstanceDetailsDao.findDetail(vm.getId(), VmDetailConstants.DEPLOY_AS_IS_CONFIGURATION); if (configurationDetail != null) { configurationId = configurationDetail.getValue(); } @@ -1126,13 +1126,13 @@ public class VolumeOrchestrator extends ManagerBase implements VolumeOrchestrati String diskControllerSubType = disksAsIs.get(0).getDiskControllerSubType(); if (StringUtils.isNotBlank(diskControllerSubType)) { long vmId = vm.getId(); - UserVmDetailVO detail = userVmDetailsDao.findDetail(vmId, VmDetailConstants.ROOT_DISK_CONTROLLER); + VMInstanceDetailVO detail = vmInstanceDetailsDao.findDetail(vmId, VmDetailConstants.ROOT_DISK_CONTROLLER); if (detail != null) { detail.setValue(diskControllerSubType); - userVmDetailsDao.update(detail.getId(), detail); + vmInstanceDetailsDao.update(detail.getId(), detail); } else { - detail = new UserVmDetailVO(vmId, VmDetailConstants.ROOT_DISK_CONTROLLER, diskControllerSubType, false); - userVmDetailsDao.persist(detail); + detail = new VMInstanceDetailVO(vmId, VmDetailConstants.ROOT_DISK_CONTROLLER, diskControllerSubType, false); + vmInstanceDetailsDao.persist(detail); } } } @@ -1621,7 +1621,7 @@ public class VolumeOrchestrator extends ManagerBase implements VolumeOrchestrati private void setIoDriverPolicy(Map details, StoragePoolVO storagePool, VolumeVO volume) { if (volume.getInstanceId() != null) { - UserVmDetailVO ioDriverPolicy = userVmDetailsDao.findDetail(volume.getInstanceId(), + VMInstanceDetailVO ioDriverPolicy = vmInstanceDetailsDao.findDetail(volume.getInstanceId(), VmDetailConstants.IO_POLICY); if (ioDriverPolicy != null) { if (IoDriverPolicy.STORAGE_SPECIFIC.toString().equals(ioDriverPolicy.getValue())) { diff --git a/engine/orchestration/src/test/java/com/cloud/vm/VirtualMachineManagerImplTest.java b/engine/orchestration/src/test/java/com/cloud/vm/VirtualMachineManagerImplTest.java index 4a451e4e2d4..6335aae2e0a 100644 --- a/engine/orchestration/src/test/java/com/cloud/vm/VirtualMachineManagerImplTest.java +++ b/engine/orchestration/src/test/java/com/cloud/vm/VirtualMachineManagerImplTest.java @@ -131,7 +131,7 @@ import com.cloud.utils.exception.CloudRuntimeException; import com.cloud.utils.fsm.StateMachine2; import com.cloud.vm.VirtualMachine.State; import com.cloud.vm.dao.UserVmDao; -import com.cloud.vm.dao.UserVmDetailsDao; +import com.cloud.vm.dao.VMInstanceDetailsDao; import com.cloud.vm.dao.VMInstanceDao; @RunWith(MockitoJUnitRunner.class) @@ -224,7 +224,7 @@ public class VirtualMachineManagerImplTest { @Mock private ClusterDetailsDao _clusterDetailsDao; @Mock - private UserVmDetailsDao userVmDetailsDao; + private VMInstanceDetailsDao vmInstanceDetailsDao; @Mock private ItWorkDao _workDao; @Mock @@ -1098,7 +1098,7 @@ public class VirtualMachineManagerImplTest { when(cluster.getId()).thenReturn(1L); when(_clusterDetailsDao.findDetail(1L, VmDetailConstants.CPU_OVER_COMMIT_RATIO)).thenReturn(cluster_detail_cpu); when(_clusterDetailsDao.findDetail(1L, VmDetailConstants.MEMORY_OVER_COMMIT_RATIO)).thenReturn(cluster_detail_ram); - when(userVmDetailsDao.findDetail(anyLong(), Mockito.anyString())).thenReturn(null); + when(vmInstanceDetailsDao.findDetail(anyLong(), Mockito.anyString())).thenReturn(null); when(cluster_detail_cpu.getValue()).thenReturn("1.0"); when(cluster_detail_ram.getValue()).thenReturn("1.0"); doReturn(false).when(virtualMachineManagerImpl).areAllVolumesAllocated(Mockito.anyLong()); @@ -1194,7 +1194,7 @@ public class VirtualMachineManagerImplTest { when(cluster.getId()).thenReturn(1L); when(_clusterDetailsDao.findDetail(1L, VmDetailConstants.CPU_OVER_COMMIT_RATIO)).thenReturn(cluster_detail_cpu); when(_clusterDetailsDao.findDetail(1L, VmDetailConstants.MEMORY_OVER_COMMIT_RATIO)).thenReturn(cluster_detail_ram); - when(userVmDetailsDao.findDetail(anyLong(), Mockito.anyString())).thenReturn(null); + when(vmInstanceDetailsDao.findDetail(anyLong(), Mockito.anyString())).thenReturn(null); when(cluster_detail_cpu.getValue()).thenReturn("1.0"); when(cluster_detail_ram.getValue()).thenReturn("1.0"); doReturn(true).when(virtualMachineManagerImpl).areAllVolumesAllocated(Mockito.anyLong()); diff --git a/engine/schema/src/main/java/com/cloud/service/dao/ServiceOfferingDaoImpl.java b/engine/schema/src/main/java/com/cloud/service/dao/ServiceOfferingDaoImpl.java index 803522fa6aa..2710aea3b9d 100644 --- a/engine/schema/src/main/java/com/cloud/service/dao/ServiceOfferingDaoImpl.java +++ b/engine/schema/src/main/java/com/cloud/service/dao/ServiceOfferingDaoImpl.java @@ -39,7 +39,7 @@ import com.cloud.utils.db.SearchBuilder; import com.cloud.utils.db.SearchCriteria; import com.cloud.utils.exception.CloudRuntimeException; import com.cloud.vm.VirtualMachine; -import com.cloud.vm.dao.UserVmDetailsDao; +import com.cloud.vm.dao.VMInstanceDetailsDao; @Component @DB() @@ -48,7 +48,7 @@ public class ServiceOfferingDaoImpl extends GenericDaoBase dynamicOffering = userVmDetailsDao.listDetailsKeyPairs(vmId); + Map dynamicOffering = vmInstanceDetailsDao.listDetailsKeyPairs(vmId); return getComputeOffering(offering, dynamicOffering); } return offering; @@ -190,7 +190,7 @@ public class ServiceOfferingDaoImpl extends GenericDaoBase dynamicOffering = userVmDetailsDao.listDetailsKeyPairs(vmId); + Map dynamicOffering = vmInstanceDetailsDao.listDetailsKeyPairs(vmId); return getComputeOffering(offering, dynamicOffering); } return offering; diff --git a/engine/schema/src/main/java/com/cloud/vm/UserVmDetailVO.java b/engine/schema/src/main/java/com/cloud/vm/VMInstanceDetailVO.java similarity index 90% rename from engine/schema/src/main/java/com/cloud/vm/UserVmDetailVO.java rename to engine/schema/src/main/java/com/cloud/vm/VMInstanceDetailVO.java index 81bb6dd9d4f..7879aa24556 100755 --- a/engine/schema/src/main/java/com/cloud/vm/UserVmDetailVO.java +++ b/engine/schema/src/main/java/com/cloud/vm/VMInstanceDetailVO.java @@ -26,8 +26,8 @@ import javax.persistence.Table; import org.apache.cloudstack.api.ResourceDetail; @Entity -@Table(name = "user_vm_details") -public class UserVmDetailVO implements ResourceDetail { +@Table(name = "vm_instance_details") +public class VMInstanceDetailVO implements ResourceDetail { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name = "id") @@ -45,10 +45,10 @@ public class UserVmDetailVO implements ResourceDetail { @Column(name = "display") private boolean display = true; - public UserVmDetailVO() { + public VMInstanceDetailVO() { } - public UserVmDetailVO(long vmId, String name, String value, boolean display) { + public VMInstanceDetailVO(long vmId, String name, String value, boolean display) { this.resourceId = vmId; this.name = name; this.value = value; diff --git a/engine/schema/src/main/java/com/cloud/vm/dao/UserVmDaoImpl.java b/engine/schema/src/main/java/com/cloud/vm/dao/UserVmDaoImpl.java index cc8b9fc59a8..7d7c8de06d6 100644 --- a/engine/schema/src/main/java/com/cloud/vm/dao/UserVmDaoImpl.java +++ b/engine/schema/src/main/java/com/cloud/vm/dao/UserVmDaoImpl.java @@ -57,7 +57,7 @@ import com.cloud.utils.db.SearchCriteria.Func; import com.cloud.utils.db.TransactionLegacy; import com.cloud.utils.exception.CloudRuntimeException; import com.cloud.vm.NicVO; -import com.cloud.vm.UserVmDetailVO; +import com.cloud.vm.VMInstanceDetailVO; import com.cloud.vm.UserVmVO; import com.cloud.vm.VirtualMachine; import com.cloud.vm.VirtualMachine.State; @@ -130,7 +130,7 @@ public class UserVmDaoImpl extends GenericDaoBase implements Use private static final int VM_DETAILS_BATCH_SIZE = 100; @Inject - protected UserVmDetailsDao _detailsDao; + protected VMInstanceDetailsDao _detailsDao; @Inject protected NicDao _nicDao; @@ -445,10 +445,10 @@ public class UserVmDaoImpl extends GenericDaoBase implements Use final Map visibilityMap = _detailsDao.listDetailsVisibility(vm.getId()); - List details = new ArrayList(); + List details = new ArrayList(); for (Map.Entry entry : detailsStr.entrySet()) { boolean display = !hiddenDetails.contains(entry.getKey()) && visibilityMap.getOrDefault(entry.getKey(), true); - details.add(new UserVmDetailVO(vm.getId(), entry.getKey(), entry.getValue(), display)); + details.add(new VMInstanceDetailVO(vm.getId(), entry.getKey(), entry.getValue(), display)); } _detailsDao.saveDetails(details); diff --git a/engine/schema/src/main/java/com/cloud/vm/dao/UserVmDetailsDao.java b/engine/schema/src/main/java/com/cloud/vm/dao/VMInstanceDetailsDao.java similarity index 84% rename from engine/schema/src/main/java/com/cloud/vm/dao/UserVmDetailsDao.java rename to engine/schema/src/main/java/com/cloud/vm/dao/VMInstanceDetailsDao.java index c22da6b4ff5..ea9ac5afba6 100644 --- a/engine/schema/src/main/java/com/cloud/vm/dao/UserVmDetailsDao.java +++ b/engine/schema/src/main/java/com/cloud/vm/dao/VMInstanceDetailsDao.java @@ -19,7 +19,7 @@ package com.cloud.vm.dao; import org.apache.cloudstack.resourcedetail.ResourceDetailsDao; import com.cloud.utils.db.GenericDao; -import com.cloud.vm.UserVmDetailVO; +import com.cloud.vm.VMInstanceDetailVO; -public interface UserVmDetailsDao extends GenericDao, ResourceDetailsDao { +public interface VMInstanceDetailsDao extends GenericDao, ResourceDetailsDao { } diff --git a/engine/schema/src/main/java/com/cloud/vm/dao/UserVmDetailsDaoImpl.java b/engine/schema/src/main/java/com/cloud/vm/dao/VMInstanceDetailsDaoImpl.java similarity index 81% rename from engine/schema/src/main/java/com/cloud/vm/dao/UserVmDetailsDaoImpl.java rename to engine/schema/src/main/java/com/cloud/vm/dao/VMInstanceDetailsDaoImpl.java index d8f751842d5..ca11b005fb2 100644 --- a/engine/schema/src/main/java/com/cloud/vm/dao/UserVmDetailsDaoImpl.java +++ b/engine/schema/src/main/java/com/cloud/vm/dao/VMInstanceDetailsDaoImpl.java @@ -21,14 +21,14 @@ import org.springframework.stereotype.Component; import org.apache.cloudstack.resourcedetail.ResourceDetailsDaoBase; -import com.cloud.vm.UserVmDetailVO; +import com.cloud.vm.VMInstanceDetailVO; @Component -public class UserVmDetailsDaoImpl extends ResourceDetailsDaoBase implements UserVmDetailsDao { +public class VMInstanceDetailsDaoImpl extends ResourceDetailsDaoBase implements VMInstanceDetailsDao { @Override public void addDetail(long resourceId, String key, String value, boolean display) { - super.addDetail(new UserVmDetailVO(resourceId, key, value, display)); + super.addDetail(new VMInstanceDetailVO(resourceId, key, value, display)); } } diff --git a/engine/schema/src/main/resources/META-INF/cloudstack/core/spring-engine-schema-core-common-daos-between-management-and-usage-context.xml b/engine/schema/src/main/resources/META-INF/cloudstack/core/spring-engine-schema-core-common-daos-between-management-and-usage-context.xml index 96579b26516..d308a9e5aaf 100644 --- a/engine/schema/src/main/resources/META-INF/cloudstack/core/spring-engine-schema-core-common-daos-between-management-and-usage-context.xml +++ b/engine/schema/src/main/resources/META-INF/cloudstack/core/spring-engine-schema-core-common-daos-between-management-and-usage-context.xml @@ -63,7 +63,7 @@ - + diff --git a/engine/schema/src/main/resources/META-INF/db/schema-42010to42100.sql b/engine/schema/src/main/resources/META-INF/db/schema-42010to42100.sql index 9688d3c7637..b9ce11c327f 100644 --- a/engine/schema/src/main/resources/META-INF/db/schema-42010to42100.sql +++ b/engine/schema/src/main/resources/META-INF/db/schema-42010to42100.sql @@ -234,5 +234,10 @@ CREATE TABLE IF NOT EXISTS `cloud`.`gui_themes_details` ( CONSTRAINT `fk_gui_themes_details__gui_theme_id` FOREIGN KEY (`gui_theme_id`) REFERENCES `gui_themes`(`id`) ); +-- Rename user_vm_details to vm_instance_details +ALTER TABLE `cloud`.`user_vm_details` RENAME TO `cloud`.`vm_instance_details`; +ALTER TABLE `cloud`.`vm_instance_details` DROP FOREIGN KEY `fk_user_vm_details__vm_id`; +ALTER TABLE `cloud`.`vm_instance_details` ADD CONSTRAINT `fk_vm_instance_details__vm_id` FOREIGN KEY (vm_id) REFERENCES vm_instance(id) ON DELETE CASCADE; + CALL `cloud`.`IDEMPOTENT_ADD_COLUMN`('cloud.backup_schedule', 'uuid', 'VARCHAR(40) NOT NULL'); UPDATE `cloud`.`backup_schedule` SET uuid = UUID(); diff --git a/engine/schema/src/main/resources/META-INF/db/views/cloud.user_vm_view.sql b/engine/schema/src/main/resources/META-INF/db/views/cloud.user_vm_view.sql index a0c2720fc63..534579779c4 100644 --- a/engine/schema/src/main/resources/META-INF/db/views/cloud.user_vm_view.sql +++ b/engine/schema/src/main/resources/META-INF/db/views/cloud.user_vm_view.sql @@ -203,7 +203,7 @@ FROM LEFT JOIN `vpc` ON (((`networks`.`vpc_id` = `vpc`.`id`) AND ISNULL(`vpc`.`removed`)))) LEFT JOIN `user_ip_address` FORCE INDEX(`fk_user_ip_address__vm_id`) ON ((`user_ip_address`.`vm_id` = `vm_instance`.`id`))) - LEFT JOIN `user_vm_details` `ssh_details` ON (((`ssh_details`.`vm_id` = `vm_instance`.`id`) + LEFT JOIN `vm_instance_details` `ssh_details` ON (((`ssh_details`.`vm_id` = `vm_instance`.`id`) AND (`ssh_details`.`name` = 'SSH.KeyPairNames')))) LEFT JOIN `resource_tags` ON (((`resource_tags`.`resource_id` = `vm_instance`.`id`) AND (`resource_tags`.`resource_type` = 'UserVm')))) @@ -214,15 +214,15 @@ FROM LEFT JOIN `affinity_group` ON ((`affinity_group_vm_map`.`affinity_group_id` = `affinity_group`.`id`))) LEFT JOIN `autoscale_vmgroup_vm_map` ON ((`autoscale_vmgroup_vm_map`.`instance_id` = `vm_instance`.`id`))) LEFT JOIN `autoscale_vmgroups` ON ((`autoscale_vmgroup_vm_map`.`vmgroup_id` = `autoscale_vmgroups`.`id`))) - LEFT JOIN `user_vm_details` `custom_cpu` ON (((`custom_cpu`.`vm_id` = `vm_instance`.`id`) + LEFT JOIN `vm_instance_details` `custom_cpu` ON (((`custom_cpu`.`vm_id` = `vm_instance`.`id`) AND (`custom_cpu`.`name` = 'CpuNumber')))) - LEFT JOIN `user_vm_details` `custom_speed` ON (((`custom_speed`.`vm_id` = `vm_instance`.`id`) + LEFT JOIN `vm_instance_details` `custom_speed` ON (((`custom_speed`.`vm_id` = `vm_instance`.`id`) AND (`custom_speed`.`name` = 'CpuSpeed')))) - LEFT JOIN `user_vm_details` `custom_ram_size` ON (((`custom_ram_size`.`vm_id` = `vm_instance`.`id`) + LEFT JOIN `vm_instance_details` `custom_ram_size` ON (((`custom_ram_size`.`vm_id` = `vm_instance`.`id`) AND (`custom_ram_size`.`name` = 'memory'))) - LEFT JOIN `user_vm_details` `lease_expiry_date` ON ((`lease_expiry_date`.`vm_id` = `vm_instance`.`id`) + LEFT JOIN `vm_instance_details` `lease_expiry_date` ON ((`lease_expiry_date`.`vm_id` = `vm_instance`.`id`) AND (`lease_expiry_date`.`name` = 'leaseexpirydate')) - LEFT JOIN `user_vm_details` `lease_action_execution` ON ((`lease_action_execution`.`vm_id` = `vm_instance`.`id`) + LEFT JOIN `vm_instance_details` `lease_action_execution` ON ((`lease_action_execution`.`vm_id` = `vm_instance`.`id`) AND (`lease_action_execution`.`name` = 'leaseactionexecution')) - LEFT JOIN `user_vm_details` `lease_expiry_action` ON (((`lease_expiry_action`.`vm_id` = `vm_instance`.`id`) + LEFT JOIN `vm_instance_details` `lease_expiry_action` ON (((`lease_expiry_action`.`vm_id` = `vm_instance`.`id`) AND (`lease_expiry_action`.`name` = 'leaseexpiryaction')))); diff --git a/engine/storage/integration-test/src/test/java/org/apache/cloudstack/storage/test/ChildTestConfiguration.java b/engine/storage/integration-test/src/test/java/org/apache/cloudstack/storage/test/ChildTestConfiguration.java index c5321ae6102..4f44051456e 100644 --- a/engine/storage/integration-test/src/test/java/org/apache/cloudstack/storage/test/ChildTestConfiguration.java +++ b/engine/storage/integration-test/src/test/java/org/apache/cloudstack/storage/test/ChildTestConfiguration.java @@ -91,7 +91,7 @@ import com.cloud.vm.dao.DomainRouterDao; import com.cloud.vm.dao.NicDaoImpl; import com.cloud.vm.dao.SecondaryStorageVmDaoImpl; import com.cloud.vm.dao.UserVmDaoImpl; -import com.cloud.vm.dao.UserVmDetailsDaoImpl; +import com.cloud.vm.dao.VMInstanceDetailsDaoImpl; import com.cloud.vm.dao.VMInstanceDaoImpl; import com.cloud.vm.snapshot.dao.VMSnapshotDaoImpl; @@ -101,7 +101,7 @@ import com.cloud.vm.snapshot.dao.VMSnapshotDaoImpl; ConfigurationGroupDaoImpl.class, ConfigurationSubGroupDaoImpl.class, ClusterDaoImpl.class, HostPodDaoImpl.class, VMTemplateZoneDaoImpl.class, VMTemplateDetailsDaoImpl.class, HostDetailsDaoImpl.class, HostTagsDaoImpl.class, HostTransferMapDaoImpl.class, DataCenterIpAddressDaoImpl.class, DataCenterLinkLocalIpAddressDaoImpl.class, DataCenterVnetDaoImpl.class, PodVlanDaoImpl.class, DataCenterDetailsDaoImpl.class, DiskOfferingDaoImpl.class, - StoragePoolHostDaoImpl.class, UserVmDaoImpl.class, UserVmDetailsDaoImpl.class, ServiceOfferingDaoImpl.class, CapacityDaoImpl.class, SnapshotDaoImpl.class, + StoragePoolHostDaoImpl.class, UserVmDaoImpl.class, VMInstanceDetailsDaoImpl.class, ServiceOfferingDaoImpl.class, CapacityDaoImpl.class, SnapshotDaoImpl.class, VMSnapshotDaoImpl.class, OCFS2ManagerImpl.class, ClusterDetailsDaoImpl.class, SecondaryStorageVmDaoImpl.class, ConsoleProxyDaoImpl.class, StoragePoolWorkDaoImpl.class, StorageCacheManagerImpl.class, UserDaoImpl.class, DataCenterDaoImpl.class, StoragePoolDetailsDaoImpl.class, DomainDaoImpl.class, DownloadMonitorImpl.class, AccountDaoImpl.class, ActionEventUtils.class, EventDaoImpl.class}, diff --git a/framework/quota/src/main/java/org/apache/cloudstack/quota/activationrule/presetvariables/PresetVariableHelper.java b/framework/quota/src/main/java/org/apache/cloudstack/quota/activationrule/presetvariables/PresetVariableHelper.java index 05b75f4f64d..2a6ad132f63 100644 --- a/framework/quota/src/main/java/org/apache/cloudstack/quota/activationrule/presetvariables/PresetVariableHelper.java +++ b/framework/quota/src/main/java/org/apache/cloudstack/quota/activationrule/presetvariables/PresetVariableHelper.java @@ -92,10 +92,10 @@ import com.cloud.user.AccountVO; import com.cloud.user.dao.AccountDao; import com.cloud.utils.Pair; import com.cloud.utils.exception.CloudRuntimeException; -import com.cloud.vm.UserVmDetailVO; +import com.cloud.vm.VMInstanceDetailVO; import com.cloud.vm.VMInstanceVO; import com.cloud.vm.constants.VmDetails; -import com.cloud.vm.dao.UserVmDetailsDao; +import com.cloud.vm.dao.VMInstanceDetailsDao; import com.cloud.vm.dao.VMInstanceDao; import com.cloud.vm.snapshot.VMSnapshotVO; import com.cloud.vm.snapshot.dao.VMSnapshotDao; @@ -174,7 +174,7 @@ public class PresetVariableHelper { VMSnapshotDao vmSnapshotDao; @Inject - UserVmDetailsDao userVmDetailsDao; + VMInstanceDetailsDao vmInstanceDetailsDao; @Inject BackupOfferingDao backupOfferingDao; @@ -465,7 +465,7 @@ public class PresetVariableHelper { computingResources.setCpuSpeed(serviceOfferingVo.getSpeed()); if (serviceOfferingVo.isDynamic()) { - List details = userVmDetailsDao.listDetails(vmVo.getId()); + List details = vmInstanceDetailsDao.listDetails(vmVo.getId()); computingResources.setMemory(getDetailByName(details, VmDetails.MEMORY.getName(), computingResources.getMemory())); computingResources.setCpuNumber(getDetailByName(details, VmDetails.CPU_NUMBER.getName(), computingResources.getCpuNumber())); @@ -485,14 +485,14 @@ public class PresetVariableHelper { } } - protected Integer getDetailByName(List details, String name, Integer defaultValue) { - List detailFiltered = details.stream().filter(det -> name.equals(det.getName())).collect(Collectors.toList()); + protected Integer getDetailByName(List details, String name, Integer defaultValue) { + List detailFiltered = details.stream().filter(det -> name.equals(det.getName())).collect(Collectors.toList()); if (CollectionUtils.isEmpty(detailFiltered)) { return defaultValue; } - UserVmDetailVO detail = detailFiltered.get(0); + VMInstanceDetailVO detail = detailFiltered.get(0); if (detail.getValue() != null) { return Integer.valueOf(detail.getValue()); diff --git a/framework/quota/src/main/java/org/apache/cloudstack/quota/dao/UserVmDetailsDao.java b/framework/quota/src/main/java/org/apache/cloudstack/quota/dao/VMInstanceDetailsDao.java similarity index 87% rename from framework/quota/src/main/java/org/apache/cloudstack/quota/dao/UserVmDetailsDao.java rename to framework/quota/src/main/java/org/apache/cloudstack/quota/dao/VMInstanceDetailsDao.java index f8ab3b9dbc4..af94136cecd 100644 --- a/framework/quota/src/main/java/org/apache/cloudstack/quota/dao/UserVmDetailsDao.java +++ b/framework/quota/src/main/java/org/apache/cloudstack/quota/dao/VMInstanceDetailsDao.java @@ -20,8 +20,8 @@ import java.util.Map; import com.cloud.utils.db.GenericDao; -import org.apache.cloudstack.quota.vo.UserVmDetailVO; +import org.apache.cloudstack.quota.vo.VMInstanceDetailVO; -public interface UserVmDetailsDao extends GenericDao { +public interface VMInstanceDetailsDao extends GenericDao { Map listDetailsKeyPairs(long resourceId); } diff --git a/framework/quota/src/main/java/org/apache/cloudstack/quota/dao/UserVmDetailsDaoImpl.java b/framework/quota/src/main/java/org/apache/cloudstack/quota/dao/VMInstanceDetailsDaoImpl.java similarity index 80% rename from framework/quota/src/main/java/org/apache/cloudstack/quota/dao/UserVmDetailsDaoImpl.java rename to framework/quota/src/main/java/org/apache/cloudstack/quota/dao/VMInstanceDetailsDaoImpl.java index eb852e12aba..b0f87c1c550 100644 --- a/framework/quota/src/main/java/org/apache/cloudstack/quota/dao/UserVmDetailsDaoImpl.java +++ b/framework/quota/src/main/java/org/apache/cloudstack/quota/dao/VMInstanceDetailsDaoImpl.java @@ -20,7 +20,7 @@ import java.util.HashMap; import java.util.List; import java.util.Map; -import org.apache.cloudstack.quota.vo.UserVmDetailVO; +import org.apache.cloudstack.quota.vo.VMInstanceDetailVO; import org.springframework.stereotype.Component; import com.cloud.utils.db.GenericDaoBase; @@ -28,10 +28,10 @@ import com.cloud.utils.db.SearchBuilder; import com.cloud.utils.db.SearchCriteria; @Component -public class UserVmDetailsDaoImpl extends GenericDaoBase implements UserVmDetailsDao { - private SearchBuilder AllFieldsSearch; +public class VMInstanceDetailsDaoImpl extends GenericDaoBase implements VMInstanceDetailsDao { + private SearchBuilder AllFieldsSearch; - public UserVmDetailsDaoImpl() { + public VMInstanceDetailsDaoImpl() { AllFieldsSearch = createSearchBuilder(); AllFieldsSearch.and("resourceId", AllFieldsSearch.entity().getResourceId(), SearchCriteria.Op.EQ); AllFieldsSearch.and("name", AllFieldsSearch.entity().getName(), SearchCriteria.Op.EQ); @@ -43,11 +43,11 @@ public class UserVmDetailsDaoImpl extends GenericDaoBase i @Override public Map listDetailsKeyPairs(long resourceId) { Map details = new HashMap(); - SearchCriteria sc = AllFieldsSearch.create(); + SearchCriteria sc = AllFieldsSearch.create(); sc.setParameters("resourceId", resourceId); - List results = search(sc, null); - for (UserVmDetailVO result : results) { + List results = search(sc, null); + for (VMInstanceDetailVO result : results) { details.put(result.getName(), result.getValue()); } return details; diff --git a/framework/quota/src/main/java/org/apache/cloudstack/quota/vo/UserVmDetailVO.java b/framework/quota/src/main/java/org/apache/cloudstack/quota/vo/VMInstanceDetailVO.java similarity index 89% rename from framework/quota/src/main/java/org/apache/cloudstack/quota/vo/UserVmDetailVO.java rename to framework/quota/src/main/java/org/apache/cloudstack/quota/vo/VMInstanceDetailVO.java index 21fcdbdb52a..c5ca590e95c 100644 --- a/framework/quota/src/main/java/org/apache/cloudstack/quota/vo/UserVmDetailVO.java +++ b/framework/quota/src/main/java/org/apache/cloudstack/quota/vo/VMInstanceDetailVO.java @@ -26,8 +26,8 @@ import javax.persistence.Table; import org.apache.cloudstack.api.ResourceDetail; @Entity -@Table(name = "user_vm_details") -public class UserVmDetailVO implements ResourceDetail { +@Table(name = "vm_instance_details") +public class VMInstanceDetailVO implements ResourceDetail { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name = "id") @@ -45,10 +45,10 @@ public class UserVmDetailVO implements ResourceDetail { @Column(name = "display") private boolean display = true; - public UserVmDetailVO() { + public VMInstanceDetailVO() { } - public UserVmDetailVO(long vmId, String name, String value, boolean display) { + public VMInstanceDetailVO(long vmId, String name, String value, boolean display) { this.resourceId = vmId; this.name = name; this.value = value; diff --git a/framework/quota/src/main/resources/META-INF/cloudstack/quota/spring-framework-quota-context.xml b/framework/quota/src/main/resources/META-INF/cloudstack/quota/spring-framework-quota-context.xml index e634321208f..453355c8522 100644 --- a/framework/quota/src/main/resources/META-INF/cloudstack/quota/spring-framework-quota-context.xml +++ b/framework/quota/src/main/resources/META-INF/cloudstack/quota/spring-framework-quota-context.xml @@ -25,7 +25,7 @@ - + diff --git a/framework/quota/src/test/java/org/apache/cloudstack/quota/activationrule/presetvariables/PresetVariableHelperTest.java b/framework/quota/src/test/java/org/apache/cloudstack/quota/activationrule/presetvariables/PresetVariableHelperTest.java index e2be3acbbb5..c692cb7c1e7 100644 --- a/framework/quota/src/test/java/org/apache/cloudstack/quota/activationrule/presetvariables/PresetVariableHelperTest.java +++ b/framework/quota/src/test/java/org/apache/cloudstack/quota/activationrule/presetvariables/PresetVariableHelperTest.java @@ -93,9 +93,9 @@ import com.cloud.user.AccountVO; import com.cloud.user.dao.AccountDao; import com.cloud.utils.Pair; import com.cloud.utils.exception.CloudRuntimeException; -import com.cloud.vm.UserVmDetailVO; +import com.cloud.vm.VMInstanceDetailVO; import com.cloud.vm.VMInstanceVO; -import com.cloud.vm.dao.UserVmDetailsDao; +import com.cloud.vm.dao.VMInstanceDetailsDao; import com.cloud.vm.dao.VMInstanceDao; import com.cloud.vm.snapshot.VMSnapshot; import com.cloud.vm.snapshot.VMSnapshotVO; @@ -171,7 +171,7 @@ public class PresetVariableHelperTest { VolumeDao volumeDaoMock; @Mock - UserVmDetailsDao userVmDetailsDaoMock; + VMInstanceDetailsDao vmInstanceDetailsDaoMock; @InjectMocks PresetVariableHelper presetVariableHelperSpy = Mockito.spy(PresetVariableHelper.class); @@ -296,11 +296,11 @@ public class PresetVariableHelperTest { return quotaTypesMap.entrySet(); } - private List getVmDetailsForTests() { - List details = new LinkedList<>(); - details.add(new UserVmDetailVO(1l, "test_with_value", "277", false)); - details.add(new UserVmDetailVO(1l, "test_with_invalid_value", "invalid", false)); - details.add(new UserVmDetailVO(1l, "test_with_null", null, false)); + private List getVmDetailsForTests() { + List details = new LinkedList<>(); + details.add(new VMInstanceDetailVO(1l, "test_with_value", "277", false)); + details.add(new VMInstanceDetailVO(1l, "test_with_invalid_value", "invalid", false)); + details.add(new VMInstanceDetailVO(1l, "test_with_null", null, false)); return details; } @@ -1245,7 +1245,7 @@ public class PresetVariableHelperTest { ComputingResources result = presetVariableHelperSpy.getPresetVariableValueComputingResource(vmInstanceVoMock, serviceOfferingVoMock); Assert.assertEquals(expected.toString(), result.toString()); - Mockito.verify(userVmDetailsDaoMock, Mockito.never()).listDetails(Mockito.anyLong()); + Mockito.verify(vmInstanceDetailsDaoMock, Mockito.never()).listDetails(Mockito.anyLong()); } @Test @@ -1263,7 +1263,7 @@ public class PresetVariableHelperTest { ComputingResources result = presetVariableHelperSpy.getPresetVariableValueComputingResource(vmInstanceVoMock, serviceOfferingVoMock); Assert.assertEquals(expected.toString(), result.toString()); - Mockito.verify(userVmDetailsDaoMock).listDetails(Mockito.anyLong()); + Mockito.verify(vmInstanceDetailsDaoMock).listDetails(Mockito.anyLong()); } @Test diff --git a/plugins/deployment-planners/implicit-dedication/src/test/java/org/apache/cloudstack/implicitplanner/ImplicitPlannerTest.java b/plugins/deployment-planners/implicit-dedication/src/test/java/org/apache/cloudstack/implicitplanner/ImplicitPlannerTest.java index a00fb49bb3f..d859ebd0ffb 100644 --- a/plugins/deployment-planners/implicit-dedication/src/test/java/org/apache/cloudstack/implicitplanner/ImplicitPlannerTest.java +++ b/plugins/deployment-planners/implicit-dedication/src/test/java/org/apache/cloudstack/implicitplanner/ImplicitPlannerTest.java @@ -95,7 +95,7 @@ import com.cloud.vm.UserVmVO; import com.cloud.vm.VMInstanceVO; import com.cloud.vm.VirtualMachineProfileImpl; import com.cloud.vm.dao.UserVmDao; -import com.cloud.vm.dao.UserVmDetailsDao; +import com.cloud.vm.dao.VMInstanceDetailsDao; import com.cloud.vm.dao.VMInstanceDao; @RunWith(SpringJUnit4ClassRunner.class) @@ -123,7 +123,7 @@ public class ImplicitPlannerTest { @Inject UserVmDao vmDao; @Inject - UserVmDetailsDao vmDetailsDao; + VMInstanceDetailsDao vmDetailsDao; @Inject VMInstanceDao vmInstanceDao; @Inject @@ -489,8 +489,8 @@ public class ImplicitPlannerTest { } @Bean - public UserVmDetailsDao userVmDetailsDao() { - return Mockito.mock(UserVmDetailsDao.class); + public VMInstanceDetailsDao vmInstanceDetailsDao() { + return Mockito.mock(VMInstanceDetailsDao.class); } @Bean diff --git a/plugins/integrations/kubernetes-service/src/main/java/com/cloud/kubernetes/cluster/KubernetesClusterManagerImpl.java b/plugins/integrations/kubernetes-service/src/main/java/com/cloud/kubernetes/cluster/KubernetesClusterManagerImpl.java index f242ded5593..82e486cd103 100644 --- a/plugins/integrations/kubernetes-service/src/main/java/com/cloud/kubernetes/cluster/KubernetesClusterManagerImpl.java +++ b/plugins/integrations/kubernetes-service/src/main/java/com/cloud/kubernetes/cluster/KubernetesClusterManagerImpl.java @@ -17,9 +17,9 @@ package com.cloud.kubernetes.cluster; import static com.cloud.kubernetes.cluster.KubernetesServiceHelper.KubernetesClusterNodeType.CONTROL; +import static com.cloud.kubernetes.cluster.KubernetesServiceHelper.KubernetesClusterNodeType.DEFAULT; import static com.cloud.kubernetes.cluster.KubernetesServiceHelper.KubernetesClusterNodeType.ETCD; import static com.cloud.kubernetes.cluster.KubernetesServiceHelper.KubernetesClusterNodeType.WORKER; -import static com.cloud.kubernetes.cluster.KubernetesServiceHelper.KubernetesClusterNodeType.DEFAULT; import static com.cloud.utils.NumbersUtil.toHumanReadableSize; import static com.cloud.vm.UserVmManager.AllowUserExpungeRecoverVm; @@ -47,28 +47,6 @@ import java.util.stream.Collectors; import javax.inject.Inject; import javax.naming.ConfigurationException; -import com.cloud.bgp.BGPService; -import com.cloud.dc.DedicatedResourceVO; -import com.cloud.dc.dao.DedicatedResourceDao; -import com.cloud.exception.ManagementServerException; -import com.cloud.exception.ResourceUnavailableException; -import com.cloud.host.Host; -import com.cloud.kubernetes.cluster.KubernetesServiceHelper.KubernetesClusterNodeType; -import com.cloud.kubernetes.cluster.actionworkers.KubernetesClusterRemoveWorker; -import com.cloud.network.dao.NsxProviderDao; -import com.cloud.network.element.NsxProviderVO; -import com.cloud.kubernetes.cluster.actionworkers.KubernetesClusterAddWorker; -import com.cloud.network.rules.PortForwardingRuleVO; -import com.cloud.network.rules.dao.PortForwardingRulesDao; -import com.cloud.template.TemplateApiService; -import com.cloud.user.UserDataVO; -import com.cloud.user.dao.AccountDao; -import com.cloud.user.dao.UserDataDao; -import com.cloud.uservm.UserVm; -import com.cloud.vm.NicVO; -import com.cloud.vm.UserVmService; -import com.cloud.vm.dao.NicDao; -import com.cloud.vm.dao.UserVmDetailsDao; import org.apache.cloudstack.acl.ControlledEntity; import org.apache.cloudstack.acl.Role; import org.apache.cloudstack.acl.RolePermissionEntity; @@ -87,7 +65,6 @@ import org.apache.cloudstack.api.ApiErrorCode; import org.apache.cloudstack.api.BaseCmd; import org.apache.cloudstack.api.ResponseObject.ResponseView; import org.apache.cloudstack.api.ServerApiException; -import org.apache.cloudstack.api.command.user.kubernetes.cluster.AddNodesToKubernetesClusterCmd; import org.apache.cloudstack.api.command.user.address.AssociateIPAddrCmd; import org.apache.cloudstack.api.command.user.address.DisassociateIPAddrCmd; import org.apache.cloudstack.api.command.user.address.ListPublicIpAddressesCmd; @@ -96,6 +73,7 @@ import org.apache.cloudstack.api.command.user.firewall.DeleteFirewallRuleCmd; import org.apache.cloudstack.api.command.user.firewall.ListFirewallRulesCmd; import org.apache.cloudstack.api.command.user.firewall.UpdateFirewallRuleCmd; import org.apache.cloudstack.api.command.user.job.QueryAsyncJobResultCmd; +import org.apache.cloudstack.api.command.user.kubernetes.cluster.AddNodesToKubernetesClusterCmd; import org.apache.cloudstack.api.command.user.kubernetes.cluster.AddVirtualMachinesToKubernetesClusterCmd; import org.apache.cloudstack.api.command.user.kubernetes.cluster.CreateKubernetesClusterCmd; import org.apache.cloudstack.api.command.user.kubernetes.cluster.DeleteKubernetesClusterCmd; @@ -130,13 +108,14 @@ import org.apache.cloudstack.context.CallContext; import org.apache.cloudstack.engine.orchestration.service.NetworkOrchestrationService; import org.apache.cloudstack.framework.config.ConfigKey; import org.apache.cloudstack.managed.context.ManagedContextRunnable; -import org.apache.commons.beanutils.BeanUtils; import org.apache.cloudstack.network.RoutedIpv4Manager; +import org.apache.commons.beanutils.BeanUtils; import org.apache.commons.codec.binary.Base64; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.collections.MapUtils; import org.apache.commons.lang3.ObjectUtils; import org.apache.commons.lang3.StringUtils; +import org.apache.logging.log4j.Level; import com.cloud.api.ApiDBUtils; import com.cloud.api.query.dao.NetworkOfferingJoinDao; @@ -144,14 +123,17 @@ import com.cloud.api.query.dao.TemplateJoinDao; import com.cloud.api.query.dao.UserVmJoinDao; import com.cloud.api.query.vo.NetworkOfferingJoinVO; import com.cloud.api.query.vo.UserVmJoinVO; +import com.cloud.bgp.BGPService; import com.cloud.capacity.CapacityManager; import com.cloud.dc.ClusterDetailsDao; import com.cloud.dc.ClusterDetailsVO; import com.cloud.dc.ClusterVO; import com.cloud.dc.DataCenter; import com.cloud.dc.DataCenterVO; +import com.cloud.dc.DedicatedResourceVO; import com.cloud.dc.dao.ClusterDao; import com.cloud.dc.dao.DataCenterDao; +import com.cloud.dc.dao.DedicatedResourceDao; import com.cloud.deploy.DeployDestination; import com.cloud.domain.Domain; import com.cloud.event.ActionEvent; @@ -159,13 +141,19 @@ import com.cloud.exception.ConcurrentOperationException; import com.cloud.exception.InsufficientCapacityException; import com.cloud.exception.InsufficientServerCapacityException; import com.cloud.exception.InvalidParameterValueException; +import com.cloud.exception.ManagementServerException; import com.cloud.exception.PermissionDeniedException; import com.cloud.exception.ResourceAllocationException; +import com.cloud.exception.ResourceUnavailableException; +import com.cloud.host.Host; import com.cloud.host.HostVO; import com.cloud.host.dao.HostDao; import com.cloud.hypervisor.Hypervisor; +import com.cloud.kubernetes.cluster.KubernetesServiceHelper.KubernetesClusterNodeType; import com.cloud.kubernetes.cluster.actionworkers.KubernetesClusterActionWorker; +import com.cloud.kubernetes.cluster.actionworkers.KubernetesClusterAddWorker; import com.cloud.kubernetes.cluster.actionworkers.KubernetesClusterDestroyWorker; +import com.cloud.kubernetes.cluster.actionworkers.KubernetesClusterRemoveWorker; import com.cloud.kubernetes.cluster.actionworkers.KubernetesClusterScaleWorker; import com.cloud.kubernetes.cluster.actionworkers.KubernetesClusterStartWorker; import com.cloud.kubernetes.cluster.actionworkers.KubernetesClusterStopWorker; @@ -189,10 +177,14 @@ import com.cloud.network.dao.IPAddressDao; import com.cloud.network.dao.IPAddressVO; import com.cloud.network.dao.NetworkDao; import com.cloud.network.dao.NetworkVO; +import com.cloud.network.dao.NsxProviderDao; import com.cloud.network.dao.PhysicalNetworkDao; +import com.cloud.network.element.NsxProviderVO; import com.cloud.network.router.NetworkHelper; import com.cloud.network.rules.FirewallRule; import com.cloud.network.rules.FirewallRuleVO; +import com.cloud.network.rules.PortForwardingRuleVO; +import com.cloud.network.rules.dao.PortForwardingRulesDao; import com.cloud.network.security.SecurityGroup; import com.cloud.network.security.SecurityGroupManager; import com.cloud.network.security.SecurityGroupService; @@ -214,6 +206,7 @@ import com.cloud.service.ServiceOfferingVO; import com.cloud.service.dao.ServiceOfferingDao; import com.cloud.storage.VMTemplateVO; import com.cloud.storage.dao.VMTemplateDao; +import com.cloud.template.TemplateApiService; import com.cloud.user.Account; import com.cloud.user.AccountManager; import com.cloud.user.AccountService; @@ -221,9 +214,13 @@ import com.cloud.user.AccountVO; import com.cloud.user.SSHKeyPairVO; import com.cloud.user.User; import com.cloud.user.UserAccount; +import com.cloud.user.UserDataVO; import com.cloud.user.UserVO; +import com.cloud.user.dao.AccountDao; import com.cloud.user.dao.SSHKeyPairDao; import com.cloud.user.dao.UserDao; +import com.cloud.user.dao.UserDataDao; +import com.cloud.uservm.UserVm; import com.cloud.utils.Pair; import com.cloud.utils.Ternary; import com.cloud.utils.UuidUtils; @@ -242,10 +239,12 @@ import com.cloud.utils.exception.CloudRuntimeException; import com.cloud.utils.fsm.NoTransitionException; import com.cloud.utils.fsm.StateMachine2; import com.cloud.utils.net.NetUtils; +import com.cloud.vm.NicVO; +import com.cloud.vm.UserVmService; import com.cloud.vm.VMInstanceVO; import com.cloud.vm.VirtualMachine; +import com.cloud.vm.dao.NicDao; import com.cloud.vm.dao.VMInstanceDao; -import org.apache.logging.log4j.Level; public class KubernetesClusterManagerImpl extends ManagerBase implements KubernetesClusterService { @@ -328,8 +327,6 @@ public class KubernetesClusterManagerImpl extends ManagerBase implements Kuberne @Inject protected UserDao userDao; @Inject - protected UserVmDetailsDao userVmDetailsDao; - @Inject protected VMInstanceDao vmInstanceDao; @Inject protected UserVmJoinDao userVmJoinDao; diff --git a/plugins/integrations/kubernetes-service/src/main/java/com/cloud/kubernetes/cluster/actionworkers/KubernetesClusterActionWorker.java b/plugins/integrations/kubernetes-service/src/main/java/com/cloud/kubernetes/cluster/actionworkers/KubernetesClusterActionWorker.java index 7ce227dfeb7..1f2f42c3fe6 100644 --- a/plugins/integrations/kubernetes-service/src/main/java/com/cloud/kubernetes/cluster/actionworkers/KubernetesClusterActionWorker.java +++ b/plugins/integrations/kubernetes-service/src/main/java/com/cloud/kubernetes/cluster/actionworkers/KubernetesClusterActionWorker.java @@ -122,12 +122,12 @@ import com.cloud.utils.exception.CloudRuntimeException; import com.cloud.utils.fsm.NoTransitionException; import com.cloud.utils.fsm.StateMachine2; import com.cloud.utils.ssh.SshHelper; -import com.cloud.vm.UserVmDetailVO; +import com.cloud.vm.VMInstanceDetailVO; import com.cloud.vm.UserVmService; import com.cloud.vm.UserVmVO; import com.cloud.vm.VmDetailConstants; import com.cloud.vm.dao.UserVmDao; -import com.cloud.vm.dao.UserVmDetailsDao; +import com.cloud.vm.dao.VMInstanceDetailsDao; import static com.cloud.kubernetes.cluster.KubernetesServiceHelper.KubernetesClusterNodeType.CONTROL; import static com.cloud.kubernetes.cluster.KubernetesServiceHelper.KubernetesClusterNodeType.ETCD; @@ -185,7 +185,7 @@ public class KubernetesClusterActionWorker { @Inject protected UserVmDao userVmDao; @Inject - protected UserVmDetailsDao userVmDetailsDao; + protected VMInstanceDetailsDao vmInstanceDetailsDao; @Inject protected UserVmService userVmService; @Inject @@ -281,7 +281,7 @@ public class KubernetesClusterActionWorker { if (userVM == null) { throw new CloudRuntimeException("Failed to find login user, Unable to log in to node to fetch details"); } - UserVmDetailVO vmDetail = userVmDetailsDao.findDetail(vmId, VmDetailConstants.CKS_CONTROL_NODE_LOGIN_USER); + VMInstanceDetailVO vmDetail = vmInstanceDetailsDao.findDetail(vmId, VmDetailConstants.CKS_CONTROL_NODE_LOGIN_USER); if (vmDetail != null && !org.apache.commons.lang3.StringUtils.isEmpty(vmDetail.getValue())) { return vmDetail.getValue(); } else { @@ -654,7 +654,7 @@ public class KubernetesClusterActionWorker { for (Long vmId : clusterVMs) { UserVm controlNode = userVmDao.findById(vmId); if (controlNode != null) { - userVmDetailsDao.addDetail(vmId, VmDetailConstants.CKS_CONTROL_NODE_LOGIN_USER, CLUSTER_NODE_VM_USER, true); + vmInstanceDetailsDao.addDetail(vmId, VmDetailConstants.CKS_CONTROL_NODE_LOGIN_USER, CLUSTER_NODE_VM_USER, true); } } } diff --git a/plugins/network-elements/juniper-contrail/src/test/java/org/apache/cloudstack/network/contrail/management/IntegrationTestConfiguration.java b/plugins/network-elements/juniper-contrail/src/test/java/org/apache/cloudstack/network/contrail/management/IntegrationTestConfiguration.java index 19e617e9d13..9903f0e7490 100644 --- a/plugins/network-elements/juniper-contrail/src/test/java/org/apache/cloudstack/network/contrail/management/IntegrationTestConfiguration.java +++ b/plugins/network-elements/juniper-contrail/src/test/java/org/apache/cloudstack/network/contrail/management/IntegrationTestConfiguration.java @@ -296,7 +296,7 @@ import com.cloud.vm.dao.NicSecondaryIpDaoImpl; import com.cloud.vm.dao.SecondaryStorageVmDaoImpl; import com.cloud.vm.dao.UserVmCloneSettingDaoImpl; import com.cloud.vm.dao.UserVmDaoImpl; -import com.cloud.vm.dao.UserVmDetailsDaoImpl; +import com.cloud.vm.dao.VMInstanceDetailsDaoImpl; import com.cloud.vm.dao.VMInstanceDaoImpl; import com.cloud.vm.snapshot.VMSnapshotManager; import com.cloud.vm.snapshot.dao.VMSnapshotDaoImpl; @@ -331,7 +331,7 @@ import com.cloud.vm.snapshot.dao.VMSnapshotDaoImpl; SnapshotDaoImpl.class, SnapshotPolicyDaoImpl.class, StaticRouteDaoImpl.class, StatsCollector.class, StoragePoolDetailsDaoImpl.class, StoragePoolHostDaoImpl.class, StoragePoolJoinDaoImpl.class, SyncQueueItemDaoImpl.class, TemplateDataStoreDaoImpl.class, TemplateJoinDaoImpl.class, UploadDaoImpl.class, UsageEventDaoImpl.class, UserAccountJoinDaoImpl.class, UserDaoImpl.class, UserIpv6AddressDaoImpl.class, UserStatisticsDaoImpl.class, UserStatsLogDaoImpl.class, - UserVmCloneSettingDaoImpl.class, UserVmDaoImpl.class, UserVmDetailsDaoImpl.class, UserVmJoinDaoImpl.class, UserVmManagerImpl.class, VMInstanceDaoImpl.class, VMSnapshotDaoImpl.class, + UserVmCloneSettingDaoImpl.class, UserVmDaoImpl.class, VMInstanceDetailsDaoImpl.class, UserVmJoinDaoImpl.class, UserVmManagerImpl.class, VMInstanceDaoImpl.class, VMSnapshotDaoImpl.class, VMTemplateDaoImpl.class, VMTemplateDetailsDaoImpl.class, VMTemplateZoneDaoImpl.class, VirtualMachineManagerImpl.class, VirtualRouterProviderDaoImpl.class, VlanDaoImpl.class, VmDiskStatisticsDaoImpl.class, VmRulesetLogDaoImpl.class, VolumeDaoImpl.class, VolumeJoinDaoImpl.class, VpcDaoImpl.class, VpcGatewayDaoImpl.class, VpcManagerImpl.class, VpcOfferingDaoImpl.class, VpcOfferingServiceMapDaoImpl.class, VpcServiceMapDaoImpl.class, diff --git a/server/src/main/java/com/cloud/agent/manager/allocator/impl/FirstFitAllocator.java b/server/src/main/java/com/cloud/agent/manager/allocator/impl/FirstFitAllocator.java index 3ca47caf8af..5f82bc1656c 100644 --- a/server/src/main/java/com/cloud/agent/manager/allocator/impl/FirstFitAllocator.java +++ b/server/src/main/java/com/cloud/agent/manager/allocator/impl/FirstFitAllocator.java @@ -61,10 +61,10 @@ import com.cloud.storage.dao.GuestOSDao; import com.cloud.user.Account; import com.cloud.utils.Pair; import com.cloud.utils.component.AdapterBase; -import com.cloud.vm.UserVmDetailVO; +import com.cloud.vm.VMInstanceDetailVO; import com.cloud.vm.VirtualMachine; import com.cloud.vm.VirtualMachineProfile; -import com.cloud.vm.dao.UserVmDetailsDao; +import com.cloud.vm.dao.VMInstanceDetailsDao; import com.cloud.vm.dao.VMInstanceDao; import org.apache.cloudstack.framework.config.dao.ConfigurationDao; @@ -103,7 +103,7 @@ public class FirstFitAllocator extends AdapterBase implements HostAllocator { @Inject CapacityDao _capacityDao; @Inject - UserVmDetailsDao _userVmDetailsDao; + VMInstanceDetailsDao _vmInstanceDetailsDao; boolean _checkHvm = true; static DecimalFormat decimalFormat = new DecimalFormat("#.##"); @@ -124,9 +124,9 @@ public class FirstFitAllocator extends AdapterBase implements HostAllocator { Account account = vmProfile.getOwner(); boolean isVMDeployedWithUefi = false; - UserVmDetailVO userVmDetailVO = _userVmDetailsDao.findDetail(vmProfile.getId(), "UEFI"); - if(userVmDetailVO != null){ - if ("secure".equalsIgnoreCase(userVmDetailVO.getValue()) || "legacy".equalsIgnoreCase(userVmDetailVO.getValue())) { + VMInstanceDetailVO vmInstanceDetailVO = _vmInstanceDetailsDao.findDetail(vmProfile.getId(), "UEFI"); + if(vmInstanceDetailVO != null){ + if ("secure".equalsIgnoreCase(vmInstanceDetailVO.getValue()) || "legacy".equalsIgnoreCase(vmInstanceDetailVO.getValue())) { isVMDeployedWithUefi = true; } } diff --git a/server/src/main/java/com/cloud/api/ApiDBUtils.java b/server/src/main/java/com/cloud/api/ApiDBUtils.java index 4783815a9e5..1471ee4220a 100644 --- a/server/src/main/java/com/cloud/api/ApiDBUtils.java +++ b/server/src/main/java/com/cloud/api/ApiDBUtils.java @@ -343,7 +343,7 @@ import com.cloud.vm.InstanceGroup; import com.cloud.vm.InstanceGroupVO; import com.cloud.vm.NicProfile; import com.cloud.vm.NicVO; -import com.cloud.vm.UserVmDetailVO; +import com.cloud.vm.VMInstanceDetailVO; import com.cloud.vm.UserVmManager; import com.cloud.vm.UserVmVO; import com.cloud.vm.VMInstanceVO; @@ -357,7 +357,7 @@ import com.cloud.vm.dao.NicDao; import com.cloud.vm.dao.NicSecondaryIpDao; import com.cloud.vm.dao.NicSecondaryIpVO; import com.cloud.vm.dao.UserVmDao; -import com.cloud.vm.dao.UserVmDetailsDao; +import com.cloud.vm.dao.VMInstanceDetailsDao; import com.cloud.vm.dao.VMInstanceDao; import com.cloud.vm.snapshot.VMSnapshot; import com.cloud.vm.snapshot.dao.VMSnapshotDao; @@ -434,7 +434,7 @@ public class ApiDBUtils { static HighAvailabilityManager s_haMgr; static VpcManager s_vpcMgr; static TaggedResourceService s_taggedResourceService; - static UserVmDetailsDao s_userVmDetailsDao; + static VMInstanceDetailsDao s_vmInstanceDetailsDao; static SSHKeyPairDao s_sshKeyPairDao; static ConditionDao s_asConditionDao; @@ -639,7 +639,7 @@ public class ApiDBUtils { @Inject private TaggedResourceService taggedResourceService; @Inject - private UserVmDetailsDao userVmDetailsDao; + private VMInstanceDetailsDao vmInstanceDetailsDao; @Inject private SSHKeyPairDao sshKeyPairDao; @@ -839,7 +839,7 @@ public class ApiDBUtils { s_vpcMgr = vpcMgr; s_taggedResourceService = taggedResourceService; s_sshKeyPairDao = sshKeyPairDao; - s_userVmDetailsDao = userVmDetailsDao; + s_vmInstanceDetailsDao = vmInstanceDetailsDao; s_asConditionDao = asConditionDao; s_asPolicyDao = asPolicyDao; s_asPolicyConditionMapDao = asPolicyConditionMapDao; @@ -1621,8 +1621,8 @@ public class ApiDBUtils { return null; } - public static UserVmDetailVO findPublicKeyByVmId(long vmId) { - return s_userVmDetailsDao.findDetail(vmId, VmDetailConstants.SSH_PUBLIC_KEY); + public static VMInstanceDetailVO findPublicKeyByVmId(long vmId) { + return s_vmInstanceDetailsDao.findDetail(vmId, VmDetailConstants.SSH_PUBLIC_KEY); } public static void getAutoScaleVmGroupPolicies(long vmGroupId, List scaleUpPolicies, List scaleDownPolicies) { diff --git a/server/src/main/java/com/cloud/api/query/QueryManagerImpl.java b/server/src/main/java/com/cloud/api/query/QueryManagerImpl.java index 57bc347eeff..cdedd830c0a 100644 --- a/server/src/main/java/com/cloud/api/query/QueryManagerImpl.java +++ b/server/src/main/java/com/cloud/api/query/QueryManagerImpl.java @@ -36,12 +36,6 @@ import java.util.stream.Stream; import javax.inject.Inject; -import com.cloud.dc.Pod; -import com.cloud.dc.dao.DataCenterDao; -import com.cloud.dc.dao.HostPodDao; -import com.cloud.org.Cluster; -import com.cloud.server.ManagementService; -import com.cloud.storage.dao.StoragePoolAndAccessGroupMapDao; import org.apache.cloudstack.acl.ControlledEntity; import org.apache.cloudstack.acl.ControlledEntity.ACLType; import org.apache.cloudstack.acl.SecurityChecker; @@ -237,8 +231,11 @@ import com.cloud.cpu.CPU; import com.cloud.dc.ClusterVO; import com.cloud.dc.DataCenter; import com.cloud.dc.DedicatedResourceVO; +import com.cloud.dc.Pod; import com.cloud.dc.dao.ClusterDao; +import com.cloud.dc.dao.DataCenterDao; import com.cloud.dc.dao.DedicatedResourceDao; +import com.cloud.dc.dao.HostPodDao; import com.cloud.domain.Domain; import com.cloud.domain.DomainVO; import com.cloud.domain.dao.DomainDao; @@ -276,6 +273,7 @@ import com.cloud.network.security.dao.SecurityGroupVMMapDao; import com.cloud.network.vo.PublicIpQuarantineVO; import com.cloud.offering.DiskOffering; import com.cloud.offering.ServiceOffering; +import com.cloud.org.Cluster; import com.cloud.org.Grouping; import com.cloud.projects.Project; import com.cloud.projects.Project.ListProjectResourcesCriteria; @@ -287,6 +285,7 @@ import com.cloud.projects.dao.ProjectDao; import com.cloud.projects.dao.ProjectInvitationDao; import com.cloud.resource.ResourceManager; import com.cloud.resource.icon.dao.ResourceIconDao; +import com.cloud.server.ManagementService; import com.cloud.server.ResourceManagerUtil; import com.cloud.server.ResourceMetaDataService; import com.cloud.server.ResourceTag; @@ -317,6 +316,7 @@ import com.cloud.storage.VolumeVO; import com.cloud.storage.dao.BucketDao; import com.cloud.storage.dao.DiskOfferingDao; import com.cloud.storage.dao.GuestOSDao; +import com.cloud.storage.dao.StoragePoolAndAccessGroupMapDao; import com.cloud.storage.dao.StoragePoolHostDao; import com.cloud.storage.dao.StoragePoolTagsDao; import com.cloud.storage.dao.VMTemplateDao; @@ -351,8 +351,8 @@ import com.cloud.utils.exception.CloudRuntimeException; import com.cloud.vm.DomainRouterVO; import com.cloud.vm.InstanceGroupVMMapVO; import com.cloud.vm.NicVO; -import com.cloud.vm.UserVmDetailVO; import com.cloud.vm.UserVmVO; +import com.cloud.vm.VMInstanceDetailVO; import com.cloud.vm.VMInstanceVO; import com.cloud.vm.VirtualMachine; import com.cloud.vm.VirtualMachineManager; @@ -361,8 +361,8 @@ import com.cloud.vm.dao.DomainRouterDao; import com.cloud.vm.dao.InstanceGroupVMMapDao; import com.cloud.vm.dao.NicDao; import com.cloud.vm.dao.UserVmDao; -import com.cloud.vm.dao.UserVmDetailsDao; import com.cloud.vm.dao.VMInstanceDao; +import com.cloud.vm.dao.VMInstanceDetailsDao; @Component public class QueryManagerImpl extends MutualExclusiveIdsManagerBase implements QueryService, Configurable { @@ -591,7 +591,7 @@ public class QueryManagerImpl extends MutualExclusiveIdsManagerBase implements Q AffinityGroupVMMapDao affinityGroupVMMapDao; @Inject - UserVmDetailsDao userVmDetailsDao; + VMInstanceDetailsDao vmInstanceDetailsDao; @Inject SSHKeyPairDao sshKeyPairDao; @@ -1519,7 +1519,7 @@ public class QueryManagerImpl extends MutualExclusiveIdsManagerBase implements Q } if (cmd.getOnlyLeasedInstances()) { - SearchBuilder leasedInstancesSearch = userVmDetailsDao.createSearchBuilder(); + SearchBuilder leasedInstancesSearch = vmInstanceDetailsDao.createSearchBuilder(); leasedInstancesSearch.and(leasedInstancesSearch.entity().getName(), SearchCriteria.Op.EQ).values(VmDetailConstants.INSTANCE_LEASE_EXECUTION); leasedInstancesSearch.and(leasedInstancesSearch.entity().getValue(), SearchCriteria.Op.EQ).values(VMLeaseManager.LeaseActionExecution.PENDING.name()); userVmSearchBuilder.join("userVmToLeased", leasedInstancesSearch, leasedInstancesSearch.entity().getResourceId(), @@ -1527,8 +1527,8 @@ public class QueryManagerImpl extends MutualExclusiveIdsManagerBase implements Q } if (keyPairName != null) { - SearchBuilder vmDetailSearchKeys = userVmDetailsDao.createSearchBuilder(); - SearchBuilder vmDetailSearchVmIds = userVmDetailsDao.createSearchBuilder(); + SearchBuilder vmDetailSearchKeys = vmInstanceDetailsDao.createSearchBuilder(); + SearchBuilder vmDetailSearchVmIds = vmInstanceDetailsDao.createSearchBuilder(); vmDetailSearchKeys.and(vmDetailSearchKeys.entity().getName(), Op.EQ).values(SSH_PUBLIC_KEY); SearchBuilder sshKeyPairSearch = sshKeyPairDao.createSearchBuilder(); diff --git a/server/src/main/java/com/cloud/api/query/dao/UserVmJoinDaoImpl.java b/server/src/main/java/com/cloud/api/query/dao/UserVmJoinDaoImpl.java index ba2aff42329..c174da2993a 100644 --- a/server/src/main/java/com/cloud/api/query/dao/UserVmJoinDaoImpl.java +++ b/server/src/main/java/com/cloud/api/query/dao/UserVmJoinDaoImpl.java @@ -16,6 +16,44 @@ // under the License. package com.cloud.api.query.dao; +import java.text.DecimalFormat; +import java.time.LocalDate; +import java.time.ZoneId; +import java.time.temporal.ChronoUnit; +import java.util.ArrayList; +import java.util.Calendar; +import java.util.Collections; +import java.util.Date; +import java.util.HashMap; +import java.util.Hashtable; +import java.util.List; +import java.util.Map; +import java.util.Set; +import java.util.stream.Collectors; + +import javax.inject.Inject; + +import org.apache.cloudstack.affinity.AffinityGroupResponse; +import org.apache.cloudstack.annotation.AnnotationService; +import org.apache.cloudstack.annotation.dao.AnnotationDao; +import org.apache.cloudstack.api.ApiConstants; +import org.apache.cloudstack.api.ApiConstants.VMDetails; +import org.apache.cloudstack.api.ResponseObject.ResponseView; +import org.apache.cloudstack.api.response.NicExtraDhcpOptionResponse; +import org.apache.cloudstack.api.response.NicResponse; +import org.apache.cloudstack.api.response.NicSecondaryIpResponse; +import org.apache.cloudstack.api.response.SecurityGroupResponse; +import org.apache.cloudstack.api.response.UserVmResponse; +import org.apache.cloudstack.api.response.VnfNicResponse; +import org.apache.cloudstack.context.CallContext; +import org.apache.cloudstack.framework.config.dao.ConfigurationDao; +import org.apache.cloudstack.query.QueryService; +import org.apache.cloudstack.vm.lease.VMLeaseManager; +import org.apache.commons.collections.CollectionUtils; +import org.apache.commons.lang3.BooleanUtils; +import org.apache.commons.lang3.StringUtils; +import org.springframework.stereotype.Component; + import com.cloud.api.ApiDBUtils; import com.cloud.api.ApiResponseHelper; import com.cloud.api.query.vo.UserVmJoinVO; @@ -44,50 +82,14 @@ import com.cloud.utils.db.SearchBuilder; import com.cloud.utils.db.SearchCriteria; import com.cloud.utils.db.SearchCriteria.Op; import com.cloud.utils.net.Dhcp; -import com.cloud.vm.UserVmDetailVO; import com.cloud.vm.UserVmManager; +import com.cloud.vm.VMInstanceDetailVO; import com.cloud.vm.VirtualMachine; import com.cloud.vm.VirtualMachine.State; import com.cloud.vm.VmStats; import com.cloud.vm.dao.NicExtraDhcpOptionDao; import com.cloud.vm.dao.NicSecondaryIpVO; -import com.cloud.vm.dao.UserVmDetailsDao; -import org.apache.cloudstack.affinity.AffinityGroupResponse; -import org.apache.cloudstack.annotation.AnnotationService; -import org.apache.cloudstack.annotation.dao.AnnotationDao; -import org.apache.cloudstack.api.ApiConstants; -import org.apache.cloudstack.api.ApiConstants.VMDetails; -import org.apache.cloudstack.api.ResponseObject.ResponseView; -import org.apache.cloudstack.api.response.NicExtraDhcpOptionResponse; -import org.apache.cloudstack.api.response.NicResponse; -import org.apache.cloudstack.api.response.NicSecondaryIpResponse; -import org.apache.cloudstack.api.response.SecurityGroupResponse; -import org.apache.cloudstack.api.response.UserVmResponse; -import org.apache.cloudstack.api.response.VnfNicResponse; -import org.apache.cloudstack.context.CallContext; -import org.apache.cloudstack.framework.config.dao.ConfigurationDao; -import org.apache.cloudstack.query.QueryService; -import org.apache.cloudstack.vm.lease.VMLeaseManager; -import org.apache.commons.collections.CollectionUtils; -import org.apache.commons.lang3.BooleanUtils; -import org.apache.commons.lang3.StringUtils; -import org.springframework.stereotype.Component; - -import javax.inject.Inject; -import java.text.DecimalFormat; -import java.time.LocalDate; -import java.time.ZoneId; -import java.time.temporal.ChronoUnit; -import java.util.ArrayList; -import java.util.Calendar; -import java.util.Collections; -import java.util.Date; -import java.util.HashMap; -import java.util.Hashtable; -import java.util.List; -import java.util.Map; -import java.util.Set; -import java.util.stream.Collectors; +import com.cloud.vm.dao.VMInstanceDetailsDao; @Component public class UserVmJoinDaoImpl extends GenericDaoBaseWithTagInformation implements UserVmJoinDao { @@ -97,7 +99,7 @@ public class UserVmJoinDaoImpl extends GenericDaoBaseWithTagInformation vmDetails = _userVmDetailsDao.listDetails(userVm.getId(), true); + List vmDetails = _vmInstanceDetailsDao.listDetails(userVm.getId(), true); if (vmDetails != null) { Map resourceDetails = new HashMap(); - for (UserVmDetailVO userVmDetailVO : vmDetails) { - if (!userVmDetailVO.getName().startsWith(ApiConstants.PROPERTIES) || - (UserVmManager.DisplayVMOVFProperties.value() && userVmDetailVO.getName().startsWith(ApiConstants.PROPERTIES))) { - resourceDetails.put(userVmDetailVO.getName(), userVmDetailVO.getValue()); + for (VMInstanceDetailVO vmInstanceDetailVO : vmDetails) { + if (!vmInstanceDetailVO.getName().startsWith(ApiConstants.PROPERTIES) || + (UserVmManager.DisplayVMOVFProperties.value() && vmInstanceDetailVO.getName().startsWith(ApiConstants.PROPERTIES))) { + resourceDetails.put(vmInstanceDetailVO.getName(), vmInstanceDetailVO.getValue()); } - if ((ApiConstants.BootType.UEFI.toString()).equalsIgnoreCase(userVmDetailVO.getName())) { + if ((ApiConstants.BootType.UEFI.toString()).equalsIgnoreCase(vmInstanceDetailVO.getName())) { userVmResponse.setBootType("Uefi"); - userVmResponse.setBootMode(userVmDetailVO.getValue().toLowerCase()); + userVmResponse.setBootMode(vmInstanceDetailVO.getValue().toLowerCase()); } } diff --git a/server/src/main/java/com/cloud/capacity/CapacityManagerImpl.java b/server/src/main/java/com/cloud/capacity/CapacityManagerImpl.java index 8eebc04ee68..51efb6a668d 100644 --- a/server/src/main/java/com/cloud/capacity/CapacityManagerImpl.java +++ b/server/src/main/java/com/cloud/capacity/CapacityManagerImpl.java @@ -89,7 +89,7 @@ import com.cloud.utils.db.TransactionStatus; import com.cloud.utils.exception.CloudRuntimeException; import com.cloud.utils.fsm.StateListener; import com.cloud.utils.fsm.StateMachine2; -import com.cloud.vm.UserVmDetailVO; +import com.cloud.vm.VMInstanceDetailVO; import com.cloud.vm.UserVmVO; import com.cloud.vm.VMInstanceVO; import com.cloud.vm.VirtualMachine; @@ -97,7 +97,7 @@ import com.cloud.vm.VirtualMachine.Event; import com.cloud.vm.VirtualMachine.State; import com.cloud.vm.VmDetailConstants; import com.cloud.vm.dao.UserVmDao; -import com.cloud.vm.dao.UserVmDetailsDao; +import com.cloud.vm.dao.VMInstanceDetailsDao; import com.cloud.vm.dao.VMInstanceDao; import com.cloud.vm.snapshot.dao.VMSnapshotDao; @@ -130,7 +130,7 @@ public class CapacityManagerImpl extends ManagerBase implements CapacityManager, @Inject protected UserVmDao _userVMDao; @Inject - protected UserVmDetailsDao _userVmDetailsDao; + protected VMInstanceDetailsDao _vmInstanceDetailsDao; @Inject ClusterDao _clusterDao; @Inject @@ -660,7 +660,7 @@ public class CapacityManagerImpl extends ManagerBase implements CapacityManager, } protected Map getVmDetailsForCapacityCalculation(long vmId) { - return _userVmDetailsDao.listDetailsKeyPairs(vmId, + return _vmInstanceDetailsDao.listDetailsKeyPairs(vmId, List.of(VmDetailConstants.CPU_OVER_COMMIT_RATIO, VmDetailConstants.MEMORY_OVER_COMMIT_RATIO, UsageEventVO.DynamicParameters.memory.name(), @@ -769,7 +769,7 @@ public class CapacityManagerImpl extends ManagerBase implements CapacityManager, } else { // signal if not done already, that the VM has been stopped for skip.counting.hours, // hence capacity will not be reserved anymore. - UserVmDetailVO messageSentFlag = _userVmDetailsDao.findDetail(vm.getId(), VmDetailConstants.MESSAGE_RESERVED_CAPACITY_FREED_FLAG); + VMInstanceDetailVO messageSentFlag = _vmInstanceDetailsDao.findDetail(vm.getId(), VmDetailConstants.MESSAGE_RESERVED_CAPACITY_FREED_FLAG); if (messageSentFlag == null || !Boolean.valueOf(messageSentFlag.getValue())) { _messageBus.publish(_name, "VM_ReservedCapacity_Free", PublishScope.LOCAL, vm); diff --git a/server/src/main/java/com/cloud/consoleproxy/ConsoleProxyManagerImpl.java b/server/src/main/java/com/cloud/consoleproxy/ConsoleProxyManagerImpl.java index 4331cc494c4..1c69e6ba59d 100644 --- a/server/src/main/java/com/cloud/consoleproxy/ConsoleProxyManagerImpl.java +++ b/server/src/main/java/com/cloud/consoleproxy/ConsoleProxyManagerImpl.java @@ -146,7 +146,7 @@ import com.cloud.vm.VirtualMachineManager; import com.cloud.vm.VirtualMachineName; import com.cloud.vm.VirtualMachineProfile; import com.cloud.vm.dao.ConsoleProxyDao; -import com.cloud.vm.dao.UserVmDetailsDao; +import com.cloud.vm.dao.VMInstanceDetailsDao; import com.cloud.vm.dao.VMInstanceDao; import com.google.gson.Gson; import com.google.gson.GsonBuilder; @@ -208,7 +208,7 @@ public class ConsoleProxyManagerImpl extends ManagerBase implements ConsoleProxy @Inject private PrimaryDataStoreDao primaryDataStoreDao; @Inject - private UserVmDetailsDao userVmDetailsDao; + private VMInstanceDetailsDao vmInstanceDetailsDao; @Inject private ResourceManager resourceManager; @Inject @@ -1244,7 +1244,7 @@ public class ConsoleProxyManagerImpl extends ManagerBase implements ConsoleProxy final Certificate certificate = caManager.issueCertificate(null, Arrays.asList(profile.getHostName(), profile.getInstanceName()), new ArrayList<>(ipAddressDetails.values()), CAManager.CertValidityPeriod.value(), null); ConsoleProxyVO vm = consoleProxyDao.findById(profile.getId()); - Map details = userVmDetailsDao.listDetailsKeyPairs(vm.getId()); + Map details = vmInstanceDetailsDao.listDetailsKeyPairs(vm.getId()); vm.setDetails(details); StringBuilder buf = profile.getBootArgsBuilder(); diff --git a/server/src/main/java/com/cloud/deploy/FirstFitPlanner.java b/server/src/main/java/com/cloud/deploy/FirstFitPlanner.java index d01e43622c6..9370204fb6e 100644 --- a/server/src/main/java/com/cloud/deploy/FirstFitPlanner.java +++ b/server/src/main/java/com/cloud/deploy/FirstFitPlanner.java @@ -72,7 +72,7 @@ import com.cloud.utils.component.AdapterBase; import com.cloud.vm.VirtualMachine; import com.cloud.vm.VirtualMachineProfile; import com.cloud.vm.dao.UserVmDao; -import com.cloud.vm.dao.UserVmDetailsDao; +import com.cloud.vm.dao.VMInstanceDetailsDao; import com.cloud.vm.dao.VMInstanceDao; import com.cloud.host.dao.HostDetailsDao; @@ -98,7 +98,7 @@ public class FirstFitPlanner extends AdapterBase implements DeploymentClusterPla @Inject protected UserVmDao vmDao; @Inject - protected UserVmDetailsDao vmDetailsDao; + protected VMInstanceDetailsDao vmDetailsDao; @Inject protected VMInstanceDao vmInstanceDao; @Inject diff --git a/server/src/main/java/com/cloud/hypervisor/HypervisorGuruBase.java b/server/src/main/java/com/cloud/hypervisor/HypervisorGuruBase.java index 7554c1f9704..1be822d673e 100644 --- a/server/src/main/java/com/cloud/hypervisor/HypervisorGuruBase.java +++ b/server/src/main/java/com/cloud/hypervisor/HypervisorGuruBase.java @@ -77,7 +77,7 @@ import com.cloud.vm.VirtualMachine; import com.cloud.vm.VirtualMachineProfile; import com.cloud.vm.dao.NicDao; import com.cloud.vm.dao.NicSecondaryIpDao; -import com.cloud.vm.dao.UserVmDetailsDao; +import com.cloud.vm.dao.VMInstanceDetailsDao; import com.cloud.vm.dao.VMInstanceDao; public abstract class HypervisorGuruBase extends AdapterBase implements HypervisorGuru, Configurable { @@ -102,7 +102,7 @@ public abstract class HypervisorGuruBase extends AdapterBase implements Hypervis protected VMInstanceDao virtualMachineDao; @Inject - private UserVmDetailsDao _userVmDetailsDao; + private VMInstanceDetailsDao _vmInstanceDetailsDao; @Inject private NicSecondaryIpDao _nicSecIpDao; @Inject @@ -315,7 +315,7 @@ public abstract class HypervisorGuruBase extends AdapterBase implements Hypervis to.setArch("x86_64"); } - Map detailsInVm = _userVmDetailsDao.listDetailsKeyPairs(vm.getId()); + Map detailsInVm = _vmInstanceDetailsDao.listDetailsKeyPairs(vm.getId()); if (detailsInVm != null) { to.setDetails(detailsInVm); addExtraConfig(detailsInVm, to, vm.getAccountId(), vm.getHypervisorType()); diff --git a/server/src/main/java/com/cloud/hypervisor/kvm/dpdk/DpdkHelperImpl.java b/server/src/main/java/com/cloud/hypervisor/kvm/dpdk/DpdkHelperImpl.java index a4afdb394c1..7a20f5d1518 100644 --- a/server/src/main/java/com/cloud/hypervisor/kvm/dpdk/DpdkHelperImpl.java +++ b/server/src/main/java/com/cloud/hypervisor/kvm/dpdk/DpdkHelperImpl.java @@ -23,12 +23,13 @@ import com.cloud.offering.ServiceOffering; import com.cloud.service.ServiceOfferingDetailsVO; import com.cloud.service.dao.ServiceOfferingDetailsDao; import com.cloud.utils.exception.CloudRuntimeException; -import com.cloud.vm.UserVmDetailVO; +import com.cloud.vm.VMInstanceDetailVO; import com.cloud.vm.VMInstanceVO; import com.cloud.vm.VirtualMachine; import com.cloud.vm.VirtualMachineProfile; -import com.cloud.vm.dao.UserVmDetailsDao; +import com.cloud.vm.dao.VMInstanceDetailsDao; import com.cloud.vm.dao.VMInstanceDao; + import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang3.StringUtils; import org.apache.logging.log4j.Logger; @@ -46,7 +47,7 @@ public class DpdkHelperImpl implements DpdkHelper { @Inject private VMInstanceDao vmInstanceDao; @Inject - private UserVmDetailsDao userVmDetailsDao; + private VMInstanceDetailsDao vmInstanceDetailsDao; protected Logger logger = LogManager.getLogger(getClass()); @@ -93,7 +94,7 @@ public class DpdkHelperImpl implements DpdkHelper { return false; } - List details = userVmDetailsDao.listDetails(vm.getId()); + List details = vmInstanceDetailsDao.listDetails(vm.getId()); List offeringDetails = serviceOfferingDetailsDao.listDetails(vm.getServiceOfferingId()); if (!hasRequiredDPDKConfigurations(details, offeringDetails)) { @@ -106,13 +107,13 @@ public class DpdkHelperImpl implements DpdkHelper { /** * True if VM is DPDK enabled. NUMA and HUGEPAGES configurations must be present on VM or service offering details */ - private boolean hasRequiredDPDKConfigurations(List details, List offeringDetails) { + private boolean hasRequiredDPDKConfigurations(List details, List offeringDetails) { if (CollectionUtils.isEmpty(details)) { return hasValidDPDKConfigurationsOnServiceOffering(false, false, offeringDetails); } else { boolean isNumaSet = false; boolean isHugePagesSet = false; - for (UserVmDetailVO detail : details) { + for (VMInstanceDetailVO detail : details) { if (detail.getName().equals(DPDK_NUMA)) { isNumaSet = true; } else if (detail.getName().equals(DPDK_HUGE_PAGES)) { diff --git a/server/src/main/java/com/cloud/metadata/ResourceMetaDataManagerImpl.java b/server/src/main/java/com/cloud/metadata/ResourceMetaDataManagerImpl.java index fc2453286cb..2f9d49c42aa 100644 --- a/server/src/main/java/com/cloud/metadata/ResourceMetaDataManagerImpl.java +++ b/server/src/main/java/com/cloud/metadata/ResourceMetaDataManagerImpl.java @@ -66,7 +66,7 @@ import com.cloud.utils.db.Transaction; import com.cloud.utils.db.TransactionCallback; import com.cloud.utils.db.TransactionStatus; import com.cloud.vm.dao.NicDetailsDao; -import com.cloud.vm.dao.UserVmDetailsDao; +import com.cloud.vm.dao.VMInstanceDetailsDao; @Component public class ResourceMetaDataManagerImpl extends ManagerBase implements ResourceMetaDataService, ResourceMetaDataManager { @@ -75,7 +75,7 @@ public class ResourceMetaDataManagerImpl extends ManagerBase implements Resource @Inject NicDetailsDao _nicDetailDao; @Inject - UserVmDetailsDao _userVmDetailDao; + VMInstanceDetailsDao _userVmDetailDao; @Inject DataCenterDetailsDao _dcDetailsDao; @Inject diff --git a/server/src/main/java/com/cloud/network/element/ConfigDriveNetworkElement.java b/server/src/main/java/com/cloud/network/element/ConfigDriveNetworkElement.java index 5f1c1e58d93..a18855fa34a 100644 --- a/server/src/main/java/com/cloud/network/element/ConfigDriveNetworkElement.java +++ b/server/src/main/java/com/cloud/network/element/ConfigDriveNetworkElement.java @@ -84,14 +84,14 @@ import com.cloud.utils.fsm.StateMachine2; import com.cloud.vm.Nic; import com.cloud.vm.NicProfile; import com.cloud.vm.ReservationContext; -import com.cloud.vm.UserVmDetailVO; +import com.cloud.vm.VMInstanceDetailVO; import com.cloud.vm.UserVmVO; import com.cloud.vm.VirtualMachine; import com.cloud.vm.VirtualMachineManager; import com.cloud.vm.VirtualMachineProfile; import com.cloud.vm.VmDetailConstants; import com.cloud.vm.dao.UserVmDao; -import com.cloud.vm.dao.UserVmDetailsDao; +import com.cloud.vm.dao.VMInstanceDetailsDao; public class ConfigDriveNetworkElement extends AdapterBase implements NetworkElement, UserDataServiceProvider, DhcpServiceProvider, DnsServiceProvider, @@ -104,7 +104,7 @@ public class ConfigDriveNetworkElement extends AdapterBase implements NetworkEle @Inject UserVmDao _userVmDao; @Inject - UserVmDetailsDao _userVmDetailsDao; + VMInstanceDetailsDao _vmInstanceDetailsDao; @Inject ConfigurationManager _configMgr; @Inject @@ -224,7 +224,7 @@ public class ConfigDriveNetworkElement extends AdapterBase implements NetworkEle } private String getSshKey(VirtualMachineProfile profile) { - final UserVmDetailVO vmDetailSshKey = _userVmDetailsDao.findDetail(profile.getId(), VmDetailConstants.SSH_PUBLIC_KEY); + final VMInstanceDetailVO vmDetailSshKey = _vmInstanceDetailsDao.findDetail(profile.getId(), VmDetailConstants.SSH_PUBLIC_KEY); return (vmDetailSshKey!=null ? vmDetailSshKey.getValue() : null); } @@ -299,7 +299,7 @@ public class ConfigDriveNetworkElement extends AdapterBase implements NetworkEle final String password_encrypted = DBEncryptionUtil.encrypt(password); final UserVmVO userVmVO = _userVmDao.findById(vm.getId()); - _userVmDetailsDao.addDetail(vm.getId(), VmDetailConstants.PASSWORD, password_encrypted, false); + _vmInstanceDetailsDao.addDetail(vm.getId(), VmDetailConstants.PASSWORD, password_encrypted, false); userVmVO.setUpdateParameters(true); _userVmDao.update(userVmVO.getId(), userVmVO); @@ -530,7 +530,7 @@ public class ConfigDriveNetworkElement extends AdapterBase implements NetworkEle } private Location getConfigDriveLocation(long vmId) { - final UserVmDetailVO vmDetailConfigDriveLocation = _userVmDetailsDao.findDetail(vmId, VmDetailConstants.CONFIG_DRIVE_LOCATION); + final VMInstanceDetailVO vmDetailConfigDriveLocation = _vmInstanceDetailsDao.findDetail(vmId, VmDetailConstants.CONFIG_DRIVE_LOCATION); if (vmDetailConfigDriveLocation != null) { if (Location.HOST.toString().equalsIgnoreCase(vmDetailConfigDriveLocation.getValue())) { return Location.HOST; @@ -544,7 +544,7 @@ public class ConfigDriveNetworkElement extends AdapterBase implements NetworkEle } private boolean isConfigDriveIsoOnHostCache(long vmId) { - final UserVmDetailVO vmDetailConfigDriveLocation = _userVmDetailsDao.findDetail(vmId, VmDetailConstants.CONFIG_DRIVE_LOCATION); + final VMInstanceDetailVO vmDetailConfigDriveLocation = _vmInstanceDetailsDao.findDetail(vmId, VmDetailConstants.CONFIG_DRIVE_LOCATION); if (vmDetailConfigDriveLocation != null && Location.HOST.toString().equalsIgnoreCase(vmDetailConfigDriveLocation.getValue())) { return true; } @@ -552,7 +552,7 @@ public class ConfigDriveNetworkElement extends AdapterBase implements NetworkEle } private boolean isLastConfigDriveIsoOnHostCache(long vmId) { - final UserVmDetailVO vmDetailLastConfigDriveLocation = _userVmDetailsDao.findDetail(vmId, VmDetailConstants.LAST_CONFIG_DRIVE_LOCATION); + final VMInstanceDetailVO vmDetailLastConfigDriveLocation = _vmInstanceDetailsDao.findDetail(vmId, VmDetailConstants.LAST_CONFIG_DRIVE_LOCATION); if (vmDetailLastConfigDriveLocation == null) { return isConfigDriveIsoOnHostCache(vmId); } @@ -681,15 +681,15 @@ public class ConfigDriveNetworkElement extends AdapterBase implements NetworkEle } private void updateConfigDriveLocationInVMDetails(long vmId, NetworkElement.Location configDriveLocation) { - final UserVmDetailVO vmDetailConfigDriveLocation = _userVmDetailsDao.findDetail(vmId, VmDetailConstants.CONFIG_DRIVE_LOCATION); + final VMInstanceDetailVO vmDetailConfigDriveLocation = _vmInstanceDetailsDao.findDetail(vmId, VmDetailConstants.CONFIG_DRIVE_LOCATION); if (vmDetailConfigDriveLocation != null) { if (!configDriveLocation.toString().equalsIgnoreCase(vmDetailConfigDriveLocation.getValue())) { - _userVmDetailsDao.addDetail(vmId, VmDetailConstants.LAST_CONFIG_DRIVE_LOCATION, vmDetailConfigDriveLocation.getValue(), false); + _vmInstanceDetailsDao.addDetail(vmId, VmDetailConstants.LAST_CONFIG_DRIVE_LOCATION, vmDetailConfigDriveLocation.getValue(), false); } else { - _userVmDetailsDao.removeDetail(vmId, VmDetailConstants.LAST_CONFIG_DRIVE_LOCATION); + _vmInstanceDetailsDao.removeDetail(vmId, VmDetailConstants.LAST_CONFIG_DRIVE_LOCATION); } } - _userVmDetailsDao.addDetail(vmId, VmDetailConstants.CONFIG_DRIVE_LOCATION, configDriveLocation.toString(), false); + _vmInstanceDetailsDao.addDetail(vmId, VmDetailConstants.CONFIG_DRIVE_LOCATION, configDriveLocation.toString(), false); } private Map getVMCustomUserdataParamMap(long vmId) { diff --git a/server/src/main/java/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java b/server/src/main/java/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java index 27f04234c33..fa3c3abc681 100644 --- a/server/src/main/java/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java +++ b/server/src/main/java/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java @@ -262,7 +262,7 @@ import com.cloud.vm.dao.DomainRouterDao; import com.cloud.vm.dao.NicDao; import com.cloud.vm.dao.NicIpAliasDao; import com.cloud.vm.dao.NicIpAliasVO; -import com.cloud.vm.dao.UserVmDetailsDao; +import com.cloud.vm.dao.VMInstanceDetailsDao; import com.google.gson.JsonSyntaxException; import com.google.gson.reflect.TypeToken; @@ -310,7 +310,7 @@ Configurable, StateListener(cpu, speed, ramSize); } - List vmDetails = userVmDetailsDao.listDetails(runningVM.getId()); + List vmDetails = vmInstanceDetailsDao.listDetails(runningVM.getId()); if (CollectionUtils.isEmpty(vmDetails)) { return new Ternary<>(cpu, speed, ramSize); } - for (UserVmDetailVO vmDetail : vmDetails) { + for (VMInstanceDetailVO vmDetail : vmDetails) { if (StringUtils.isBlank(vmDetail.getName()) || StringUtils.isBlank(vmDetail.getValue())) { continue; } diff --git a/server/src/main/java/com/cloud/server/ManagementServerImpl.java b/server/src/main/java/com/cloud/server/ManagementServerImpl.java index 1ae2ded5b1c..ea6c595ae13 100644 --- a/server/src/main/java/com/cloud/server/ManagementServerImpl.java +++ b/server/src/main/java/com/cloud/server/ManagementServerImpl.java @@ -848,7 +848,7 @@ import com.cloud.vm.DomainRouterVO; import com.cloud.vm.InstanceGroupVO; import com.cloud.vm.NicVO; import com.cloud.vm.SecondaryStorageVmVO; -import com.cloud.vm.UserVmDetailVO; +import com.cloud.vm.VMInstanceDetailVO; import com.cloud.vm.UserVmManager; import com.cloud.vm.UserVmVO; import com.cloud.vm.VMInstanceVO; @@ -863,7 +863,7 @@ import com.cloud.vm.dao.InstanceGroupDao; import com.cloud.vm.dao.NicDao; import com.cloud.vm.dao.SecondaryStorageVmDao; import com.cloud.vm.dao.UserVmDao; -import com.cloud.vm.dao.UserVmDetailsDao; +import com.cloud.vm.dao.VMInstanceDetailsDao; import com.cloud.vm.dao.VMInstanceDao; public class ManagementServerImpl extends ManagerBase implements ManagementServer, Configurable { @@ -894,7 +894,7 @@ public class ManagementServerImpl extends ManagerBase implements ManagementServe @Inject private ClusterDao _clusterDao; @Inject - protected UserVmDetailsDao _UserVmDetailsDao; + protected VMInstanceDetailsDao _vmInstanceDetailsDao; @Inject private SecondaryStorageVmDao _secStorageVmDao; @Inject @@ -1416,10 +1416,10 @@ public class ManagementServerImpl extends ManagerBase implements ManagementServe } protected Pair> filterUefiHostsForMigration(List allHosts, List filteredHosts, VirtualMachine vm) { - UserVmDetailVO userVmDetailVO = _UserVmDetailsDao.findDetail(vm.getId(), ApiConstants.BootType.UEFI.toString()); - if (userVmDetailVO != null && - (ApiConstants.BootMode.LEGACY.toString().equalsIgnoreCase(userVmDetailVO.getValue()) || - ApiConstants.BootMode.SECURE.toString().equalsIgnoreCase(userVmDetailVO.getValue()))) { + VMInstanceDetailVO vmInstanceDetailVO = _vmInstanceDetailsDao.findDetail(vm.getId(), ApiConstants.BootType.UEFI.toString()); + if (vmInstanceDetailVO != null && + (ApiConstants.BootMode.LEGACY.toString().equalsIgnoreCase(vmInstanceDetailVO.getValue()) || + ApiConstants.BootMode.SECURE.toString().equalsIgnoreCase(vmInstanceDetailVO.getValue()))) { logger.info(" Live Migration of UEFI enabled VM : " + vm.getInstanceName() + " is not supported"); if (CollectionUtils.isEmpty(filteredHosts)) { filteredHosts = new ArrayList<>(allHosts); diff --git a/server/src/main/java/com/cloud/storage/VolumeApiServiceImpl.java b/server/src/main/java/com/cloud/storage/VolumeApiServiceImpl.java index f88287a2d33..baf75925a02 100644 --- a/server/src/main/java/com/cloud/storage/VolumeApiServiceImpl.java +++ b/server/src/main/java/com/cloud/storage/VolumeApiServiceImpl.java @@ -215,7 +215,7 @@ import com.cloud.utils.exception.CloudRuntimeException; import com.cloud.utils.fsm.NoTransitionException; import com.cloud.utils.fsm.StateMachine2; import com.cloud.vm.DiskProfile; -import com.cloud.vm.UserVmDetailVO; +import com.cloud.vm.VMInstanceDetailVO; import com.cloud.vm.UserVmManager; import com.cloud.vm.UserVmService; import com.cloud.vm.UserVmVO; @@ -237,7 +237,7 @@ import com.cloud.vm.VmWorkResizeVolume; import com.cloud.vm.VmWorkSerializer; import com.cloud.vm.VmWorkTakeVolumeSnapshot; import com.cloud.vm.dao.UserVmDao; -import com.cloud.vm.dao.UserVmDetailsDao; +import com.cloud.vm.dao.VMInstanceDetailsDao; import com.cloud.vm.dao.VMInstanceDao; import com.cloud.vm.snapshot.VMSnapshotVO; import com.cloud.vm.snapshot.dao.VMSnapshotDao; @@ -283,7 +283,7 @@ public class VolumeApiServiceImpl extends ManagerBase implements VolumeApiServic @Inject private UserVmDao _userVmDao; @Inject - private UserVmDetailsDao userVmDetailsDao; + private VMInstanceDetailsDao vmInstanceDetailsDao; @Inject private UserVmService _userVmService; @Inject @@ -1597,13 +1597,13 @@ public class VolumeApiServiceImpl extends ManagerBase implements VolumeApiServic _volsDao.update(volume.getId(), volume); if (Volume.Type.ROOT.equals(volume.getVolumeType()) && userVm != null) { - UserVmDetailVO userVmDetailVO = userVmDetailsDao.findDetail(userVm.getId(), VmDetailConstants.ROOT_DISK_SIZE); - if (userVmDetailVO != null) { - userVmDetailVO.setValue(String.valueOf(newSize/ GiB_TO_BYTES)); - userVmDetailsDao.update(userVmDetailVO.getId(), userVmDetailVO); + VMInstanceDetailVO vmInstanceDetailVO = vmInstanceDetailsDao.findDetail(userVm.getId(), VmDetailConstants.ROOT_DISK_SIZE); + if (vmInstanceDetailVO != null) { + vmInstanceDetailVO.setValue(String.valueOf(newSize/ GiB_TO_BYTES)); + vmInstanceDetailsDao.update(vmInstanceDetailVO.getId(), vmInstanceDetailVO); } else { - UserVmDetailVO detailVO = new UserVmDetailVO(userVm.getId(), VmDetailConstants.ROOT_DISK_SIZE, String.valueOf(newSize/ GiB_TO_BYTES), true); - userVmDetailsDao.persist(detailVO); + VMInstanceDetailVO detailVO = new VMInstanceDetailVO(userVm.getId(), VmDetailConstants.ROOT_DISK_SIZE, String.valueOf(newSize/ GiB_TO_BYTES), true); + vmInstanceDetailsDao.persist(detailVO); } } diff --git a/server/src/main/java/com/cloud/vm/UserVmManagerImpl.java b/server/src/main/java/com/cloud/vm/UserVmManagerImpl.java index af6b0f260cf..c3f7f53c224 100644 --- a/server/src/main/java/com/cloud/vm/UserVmManagerImpl.java +++ b/server/src/main/java/com/cloud/vm/UserVmManagerImpl.java @@ -59,8 +59,6 @@ import javax.naming.ConfigurationException; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.ParserConfigurationException; -import com.cloud.deploy.DeploymentPlan; -import com.cloud.network.NetworkService; import org.apache.cloudstack.acl.ControlledEntity; import org.apache.cloudstack.acl.ControlledEntity.ACLType; import org.apache.cloudstack.acl.SecurityChecker.AccessType; @@ -116,6 +114,8 @@ import org.apache.cloudstack.engine.subsystem.api.storage.DataStoreProvider; import org.apache.cloudstack.engine.subsystem.api.storage.DataStoreProviderManager; import org.apache.cloudstack.engine.subsystem.api.storage.PrimaryDataStore; import org.apache.cloudstack.engine.subsystem.api.storage.PrimaryDataStoreDriver; +import org.apache.cloudstack.engine.subsystem.api.storage.SnapshotDataFactory; +import org.apache.cloudstack.engine.subsystem.api.storage.SnapshotInfo; import org.apache.cloudstack.engine.subsystem.api.storage.VolumeDataFactory; import org.apache.cloudstack.engine.subsystem.api.storage.VolumeInfo; import org.apache.cloudstack.engine.subsystem.api.storage.VolumeService; @@ -140,9 +140,9 @@ import org.apache.cloudstack.storage.template.VnfTemplateManager; import org.apache.cloudstack.userdata.UserDataManager; import org.apache.cloudstack.utils.bytescale.ByteScaleUtils; import org.apache.cloudstack.utils.security.ParserUtils; +import org.apache.cloudstack.vm.UnmanagedVMsManager; import org.apache.cloudstack.vm.lease.VMLeaseManager; import org.apache.cloudstack.vm.schedule.VMScheduleManager; -import org.apache.cloudstack.vm.UnmanagedVMsManager; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.collections.MapUtils; import org.apache.commons.lang.math.NumberUtils; @@ -211,6 +211,7 @@ import com.cloud.dc.dao.HostPodDao; import com.cloud.dc.dao.VlanDao; import com.cloud.deploy.DataCenterDeployment; import com.cloud.deploy.DeployDestination; +import com.cloud.deploy.DeploymentPlan; import com.cloud.deploy.DeploymentPlanner; import com.cloud.deploy.DeploymentPlanner.ExcludeList; import com.cloud.deploy.DeploymentPlanningManager; @@ -261,6 +262,7 @@ import com.cloud.network.Network.IpAddresses; import com.cloud.network.Network.Provider; import com.cloud.network.Network.Service; import com.cloud.network.NetworkModel; +import com.cloud.network.NetworkService; import com.cloud.network.Networks.TrafficType; import com.cloud.network.PhysicalNetwork; import com.cloud.network.as.AutoScaleManager; @@ -390,16 +392,13 @@ import com.cloud.vm.dao.InstanceGroupVMMapDao; import com.cloud.vm.dao.NicDao; import com.cloud.vm.dao.NicExtraDhcpOptionDao; import com.cloud.vm.dao.UserVmDao; -import com.cloud.vm.dao.UserVmDetailsDao; import com.cloud.vm.dao.VMInstanceDao; +import com.cloud.vm.dao.VMInstanceDetailsDao; import com.cloud.vm.dao.VmStatsDao; import com.cloud.vm.snapshot.VMSnapshotManager; import com.cloud.vm.snapshot.VMSnapshotVO; import com.cloud.vm.snapshot.dao.VMSnapshotDao; -import org.apache.cloudstack.engine.subsystem.api.storage.SnapshotDataFactory; -import org.apache.cloudstack.engine.subsystem.api.storage.SnapshotInfo; - public class UserVmManagerImpl extends ManagerBase implements UserVmManager, VirtualMachineGuru, Configurable { @@ -491,7 +490,7 @@ public class UserVmManagerImpl extends ManagerBase implements UserVmManager, Vir @Inject private SSHKeyPairDao _sshKeyPairDao; @Inject - private UserVmDetailsDao userVmDetailsDao; + private VMInstanceDetailsDao vmInstanceDetailsDao; @Inject private HypervisorCapabilitiesDao _hypervisorCapabilitiesDao; @Inject @@ -1060,7 +1059,7 @@ public class UserVmManagerImpl extends ManagerBase implements UserVmManager, Vir } protected void removeEncryptedPasswordFromUserVmVoDetails(long vmId) { - userVmDetailsDao.removeDetail(vmId, VmDetailConstants.ENCRYPTED_PASSWORD); + vmInstanceDetailsDao.removeDetail(vmId, VmDetailConstants.ENCRYPTED_PASSWORD); } private boolean resetVMSSHKeyInternal(Long vmId, String sshPublicKeys, String keypairnames) throws ResourceUnavailableException, InsufficientCapacityException { @@ -2863,20 +2862,20 @@ public class UserVmManagerImpl extends ManagerBase implements UserVmManager, Vir final List userReadOnlySettings = Stream.of(QueryService.UserVMReadOnlyDetails.value().split(",")) .map(item -> (item).trim()) .collect(Collectors.toList()); - List existingDetails = userVmDetailsDao.listDetails(id); + List existingDetails = vmInstanceDetailsDao.listDetails(id); if (cleanupDetails){ if (caller != null && caller.getType() == Account.Type.ADMIN) { - for (final UserVmDetailVO detail : existingDetails) { + for (final VMInstanceDetailVO detail : existingDetails) { if (detail != null && detail.isDisplay() && !isExtraConfig(detail.getName())) { - userVmDetailsDao.removeDetail(id, detail.getName()); + vmInstanceDetailsDao.removeDetail(id, detail.getName()); } } } else { - for (final UserVmDetailVO detail : existingDetails) { + for (final VMInstanceDetailVO detail : existingDetails) { if (detail != null && !userDenyListedSettings.contains(detail.getName()) && !userReadOnlySettings.contains(detail.getName()) && detail.isDisplay() && !isExtraConfig(detail.getName())) { - userVmDetailsDao.removeDetail(id, detail.getName()); + vmInstanceDetailsDao.removeDetail(id, detail.getName()); } } } @@ -2909,7 +2908,7 @@ public class UserVmManagerImpl extends ManagerBase implements UserVmManager, Vir } } // Add any existing user denied or read-only details. We do it here because admins would already provide these (or can delete them). - for (final UserVmDetailVO detail : existingDetails) { + for (final VMInstanceDetailVO detail : existingDetails) { if (userDenyListedSettings.contains(detail.getName()) || userReadOnlySettings.contains(detail.getName())) { details.put(detail.getName(), detail.getValue()); } @@ -2917,7 +2916,7 @@ public class UserVmManagerImpl extends ManagerBase implements UserVmManager, Vir } // ensure details marked as non-displayable are maintained, regardless of admin or not - for (final UserVmDetailVO existingDetail : existingDetails) { + for (final VMInstanceDetailVO existingDetail : existingDetails) { if (!existingDetail.isDisplay() || isExtraConfig(existingDetail.getName())) { details.put(existingDetail.getName(), existingDetail.getValue()); } @@ -3316,7 +3315,7 @@ public class UserVmManagerImpl extends ManagerBase implements UserVmManager, Vir } additonalParams.put(VirtualMachineProfile.Param.BootIntoSetup, cmd.getBootIntoSetup()); } - UserVmDetailVO uefiDetail = userVmDetailsDao.findDetail(cmd.getId(), ApiConstants.BootType.UEFI.toString()); + VMInstanceDetailVO uefiDetail = vmInstanceDetailsDao.findDetail(cmd.getId(), ApiConstants.BootType.UEFI.toString()); if (uefiDetail != null) { addVmUefiBootOptionsToParams(additonalParams, uefiDetail.getName(), uefiDetail.getValue()); } @@ -5111,7 +5110,7 @@ public class UserVmManagerImpl extends ManagerBase implements UserVmManager, Vir podId = adminCmd.getPodId(); clusterId = adminCmd.getClusterId(); } - UserVmDetailVO uefiDetail = userVmDetailsDao.findDetail(cmd.getEntityId(), ApiConstants.BootType.UEFI.toString()); + VMInstanceDetailVO uefiDetail = vmInstanceDetailsDao.findDetail(cmd.getEntityId(), ApiConstants.BootType.UEFI.toString()); if (uefiDetail != null) { addVmUefiBootOptionsToParams(additionalParams, uefiDetail.getName(), uefiDetail.getValue()); } @@ -5217,7 +5216,7 @@ public class UserVmManagerImpl extends ManagerBase implements UserVmManager, Vir @Override public boolean finalizeVirtualMachineProfile(VirtualMachineProfile profile, DeployDestination dest, ReservationContext context) { UserVmVO vm = _vmDao.findById(profile.getId()); - Map details = userVmDetailsDao.listDetailsKeyPairs(vm.getId()); + Map details = vmInstanceDetailsDao.listDetailsKeyPairs(vm.getId()); vm.setDetails(details); StringBuilder buf = profile.getBootArgsBuilder(); if (CKS_NODE.equals(vm.getUserVmType()) || SHAREDFSVM.equals(vm.getUserVmType())) { @@ -5689,7 +5688,7 @@ public class UserVmManagerImpl extends ManagerBase implements UserVmManager, Vir // display purposes if (template.isEnablePassword()) { if (vm.getDetail(VmDetailConstants.PASSWORD) != null) { - userVmDetailsDao.removeDetail(vm.getId(), VmDetailConstants.PASSWORD); + vmInstanceDetailsDao.removeDetail(vm.getId(), VmDetailConstants.PASSWORD); } vm.setUpdateParameters(false); _vmDao.update(vm.getId(), vm); @@ -6399,7 +6398,7 @@ public class UserVmManagerImpl extends ManagerBase implements UserVmManager, Vir String instanceUuid = instance.getUuid(); // vm must have active lease associated during deployment - Map vmDetails = userVmDetailsDao.listDetailsKeyPairs(instance.getId(), + Map vmDetails = vmInstanceDetailsDao.listDetailsKeyPairs(instance.getId(), List.of(VmDetailConstants.INSTANCE_LEASE_EXPIRY_DATE, VmDetailConstants.INSTANCE_LEASE_EXECUTION)); String leaseExecution = vmDetails.get(VmDetailConstants.INSTANCE_LEASE_EXECUTION); String leaseExpiryDate = vmDetails.get(VmDetailConstants.INSTANCE_LEASE_EXPIRY_DATE); @@ -6432,7 +6431,7 @@ public class UserVmManagerImpl extends ManagerBase implements UserVmManager, Vir } if (leaseDuration < 1) { - userVmDetailsDao.addDetail(instance.getId(), VmDetailConstants.INSTANCE_LEASE_EXECUTION, + vmInstanceDetailsDao.addDetail(instance.getId(), VmDetailConstants.INSTANCE_LEASE_EXECUTION, VMLeaseManager.LeaseActionExecution.DISABLED.name(), false); ActionEventUtils.onActionEvent(CallContext.current().getCallingUserId(), instance.getAccountId(), instance.getDomainId(), EventTypes.VM_LEASE_DISABLED, "Disabling lease on the instance", instance.getId(), ApiCommandResourceType.VirtualMachine.toString()); @@ -6452,9 +6451,9 @@ public class UserVmManagerImpl extends ManagerBase implements UserVmManager, Vir SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); sdf.setTimeZone(TimeZone.getTimeZone("UTC")); String formattedLeaseExpiryDate = sdf.format(leaseExpiryDate); - userVmDetailsDao.addDetail(vm.getId(), VmDetailConstants.INSTANCE_LEASE_EXPIRY_DATE, formattedLeaseExpiryDate, false); - userVmDetailsDao.addDetail(vm.getId(), VmDetailConstants.INSTANCE_LEASE_EXPIRY_ACTION, leaseExpiryAction.name(), false); - userVmDetailsDao.addDetail(vm.getId(), VmDetailConstants.INSTANCE_LEASE_EXECUTION, "PENDING", false); + vmInstanceDetailsDao.addDetail(vm.getId(), VmDetailConstants.INSTANCE_LEASE_EXPIRY_DATE, formattedLeaseExpiryDate, false); + vmInstanceDetailsDao.addDetail(vm.getId(), VmDetailConstants.INSTANCE_LEASE_EXPIRY_ACTION, leaseExpiryAction.name(), false); + vmInstanceDetailsDao.addDetail(vm.getId(), VmDetailConstants.INSTANCE_LEASE_EXECUTION, "PENDING", false); logger.debug("Instance lease for instanceId: {} is configured to expire on: {} with action: {}", vm.getUuid(), formattedLeaseExpiryDate, leaseExpiryAction); } @@ -6496,7 +6495,7 @@ public class UserVmManagerImpl extends ManagerBase implements UserVmManager, Vir boolean validXenOrVmwareConfiguration = isValidXenOrVmwareConfiguration(cfg, allowedKeyList); String[] paramArray = cfg.split("="); if (validXenOrVmwareConfiguration && paramArray.length == 2) { - userVmDetailsDao.addDetail(vm.getId(), paramArray[0].trim(), paramArray[1].trim(), true); + vmInstanceDetailsDao.addDetail(vm.getId(), paramArray[0].trim(), paramArray[1].trim(), true); } else { throw new CloudRuntimeException("Extra config " + cfg + " is not on the list of allowed keys for VMware hypervisor hosts."); } @@ -6525,7 +6524,7 @@ public class UserVmManagerImpl extends ManagerBase implements UserVmManager, Vir String[] allowedKeyList = XenServerAdditionalConfigAllowList.value().split(","); boolean validXenOrVmwareConfiguration = isValidXenOrVmwareConfiguration(cfg, allowedKeyList); if (validXenOrVmwareConfiguration) { - userVmDetailsDao.addDetail(vm.getId(), extraConfigKey + String.valueOf(i), cfg, true); + vmInstanceDetailsDao.addDetail(vm.getId(), extraConfigKey + String.valueOf(i), cfg, true); i++; } else { throw new CloudRuntimeException("Extra config " + cfg + " is not on the list of allowed keys for XenServer hypervisor hosts."); @@ -6609,7 +6608,7 @@ public class UserVmManagerImpl extends ManagerBase implements UserVmManager, Vir extraConfigKey += "-" + String.valueOf(i); extraConfigValue = cfg; } - userVmDetailsDao.addDetail(vm.getId(), extraConfigKey, extraConfigValue, true); + vmInstanceDetailsDao.addDetail(vm.getId(), extraConfigKey, extraConfigValue, true); i++; } } @@ -8794,7 +8793,7 @@ public class UserVmManagerImpl extends ManagerBase implements UserVmManager, Vir vm.setUpdateParameters(false); _vmDao.loadDetails(vm); if (vm.getDetail(VmDetailConstants.PASSWORD) != null) { - userVmDetailsDao.removeDetail(vm.getId(), VmDetailConstants.PASSWORD); + vmInstanceDetailsDao.removeDetail(vm.getId(), VmDetailConstants.PASSWORD); } _vmDao.update(vm.getId(), vm); } @@ -8816,7 +8815,7 @@ public class UserVmManagerImpl extends ManagerBase implements UserVmManager, Vir VolumeVO resizedVolume = (VolumeVO) vol; Long size = null; if (template != null && template.getSize() != null) { - UserVmDetailVO vmRootDiskSizeDetail = userVmDetailsDao.findDetail(userVm.getId(), VmDetailConstants.ROOT_DISK_SIZE); + VMInstanceDetailVO vmRootDiskSizeDetail = vmInstanceDetailsDao.findDetail(userVm.getId(), VmDetailConstants.ROOT_DISK_SIZE); if (vmRootDiskSizeDetail == null) { size = template.getSize(); } else { @@ -8824,7 +8823,7 @@ public class UserVmManagerImpl extends ManagerBase implements UserVmManager, Vir if (template.getSize() >= rootDiskSize) { size = template.getSize(); if (update) { - userVmDetailsDao.remove(vmRootDiskSizeDetail.getId()); + vmInstanceDetailsDao.remove(vmRootDiskSizeDetail.getId()); } } else { size = rootDiskSize; @@ -8865,13 +8864,13 @@ public class UserVmManagerImpl extends ManagerBase implements UserVmManager, Vir if (update) { resizedVolume.setSize(rootDiskSize); } - UserVmDetailVO vmRootDiskSizeDetail = userVmDetailsDao.findDetail(userVm.getId(), VmDetailConstants.ROOT_DISK_SIZE); + VMInstanceDetailVO vmRootDiskSizeDetail = vmInstanceDetailsDao.findDetail(userVm.getId(), VmDetailConstants.ROOT_DISK_SIZE); if (update) { if (vmRootDiskSizeDetail != null) { vmRootDiskSizeDetail.setValue(details.get(VmDetailConstants.ROOT_DISK_SIZE)); - userVmDetailsDao.update(vmRootDiskSizeDetail.getId(), vmRootDiskSizeDetail); + vmInstanceDetailsDao.update(vmRootDiskSizeDetail.getId(), vmRootDiskSizeDetail); } else { - userVmDetailsDao.persist(new UserVmDetailVO(userVm.getId(), VmDetailConstants.ROOT_DISK_SIZE, + vmInstanceDetailsDao.persist(new VMInstanceDetailVO(userVm.getId(), VmDetailConstants.ROOT_DISK_SIZE, details.get(VmDetailConstants.ROOT_DISK_SIZE), true)); } } @@ -9336,7 +9335,7 @@ public class UserVmManagerImpl extends ManagerBase implements UserVmManager, Vir private void unmanageVMFromDB(long vmId) { VMInstanceVO vm = _vmInstanceDao.findById(vmId); - userVmDetailsDao.removeDetails(vmId); + vmInstanceDetailsDao.removeDetails(vmId); vm.setState(State.Expunging); vm.setRemoved(new Date()); _vmInstanceDao.update(vm.getId(), vm); diff --git a/server/src/main/java/com/cloud/vm/snapshot/VMSnapshotManagerImpl.java b/server/src/main/java/com/cloud/vm/snapshot/VMSnapshotManagerImpl.java index 1c1a28eb8c6..3ce57ae068c 100644 --- a/server/src/main/java/com/cloud/vm/snapshot/VMSnapshotManagerImpl.java +++ b/server/src/main/java/com/cloud/vm/snapshot/VMSnapshotManagerImpl.java @@ -109,7 +109,7 @@ import com.cloud.utils.db.TransactionCallbackWithException; import com.cloud.utils.db.TransactionCallbackWithExceptionNoReturn; import com.cloud.utils.db.TransactionStatus; import com.cloud.utils.exception.CloudRuntimeException; -import com.cloud.vm.UserVmDetailVO; +import com.cloud.vm.VMInstanceDetailVO; import com.cloud.vm.UserVmManager; import com.cloud.vm.UserVmVO; import com.cloud.vm.VMInstanceVO; @@ -123,7 +123,7 @@ import com.cloud.vm.VmWorkJobHandler; import com.cloud.vm.VmWorkJobHandlerProxy; import com.cloud.vm.VmWorkSerializer; import com.cloud.vm.dao.UserVmDao; -import com.cloud.vm.dao.UserVmDetailsDao; +import com.cloud.vm.dao.VMInstanceDetailsDao; import com.cloud.vm.dao.VMInstanceDao; import com.cloud.vm.snapshot.dao.VMSnapshotDao; import com.cloud.vm.snapshot.dao.VMSnapshotDetailsDao; @@ -164,7 +164,7 @@ public class VMSnapshotManagerImpl extends MutualExclusiveIdsManagerBase impleme @Inject protected ServiceOfferingDao _serviceOfferingDao; @Inject - protected UserVmDetailsDao _userVmDetailsDao; + protected VMInstanceDetailsDao _vmInstanceDetailsDao; @Inject protected VMSnapshotDetailsDao _vmSnapshotDetailsDao; @Inject @@ -473,9 +473,9 @@ public class VMSnapshotManagerImpl extends MutualExclusiveIdsManagerBase impleme protected void addSupportForCustomServiceOffering(long vmId, long serviceOfferingId, long vmSnapshotId) { ServiceOfferingVO serviceOfferingVO = _serviceOfferingDao.findById(serviceOfferingId); if (serviceOfferingVO.isDynamic()) { - List vmDetails = _userVmDetailsDao.listDetails(vmId); + List vmDetails = _vmInstanceDetailsDao.listDetails(vmId); List vmSnapshotDetails = new ArrayList(); - for (UserVmDetailVO detail : vmDetails) { + for (VMInstanceDetailVO detail : vmDetails) { if(detail.getName().equalsIgnoreCase(VmDetailConstants.CPU_NUMBER) || detail.getName().equalsIgnoreCase(VmDetailConstants.CPU_SPEED) || detail.getName().equalsIgnoreCase(VmDetailConstants.MEMORY)) { vmSnapshotDetails.add(new VMSnapshotDetailsVO(vmSnapshotId, detail.getName(), detail.getValue(), detail.isDisplay())); } @@ -812,9 +812,9 @@ public class VMSnapshotManagerImpl extends MutualExclusiveIdsManagerBase impleme * @return map */ protected Map getVmMapDetails(UserVm userVm) { - List userVmDetails = _userVmDetailsDao.listDetails(userVm.getId()); + List userVmDetails = _vmInstanceDetailsDao.listDetails(userVm.getId()); Map details = new HashMap(); - for (UserVmDetailVO detail : userVmDetails) { + for (VMInstanceDetailVO detail : userVmDetails) { details.put(detail.getName(), detail.getValue()); } return details; @@ -943,11 +943,11 @@ public class VMSnapshotManagerImpl extends MutualExclusiveIdsManagerBase impleme ServiceOfferingVO serviceOfferingVO = _serviceOfferingDao.findById(vmSnapshotVo.getServiceOfferingId()); if (serviceOfferingVO.isDynamic()) { List vmSnapshotDetails = _vmSnapshotDetailsDao.listDetails(vmSnapshotVo.getId()); - List userVmDetails = new ArrayList(); + List userVmDetails = new ArrayList(); for (VMSnapshotDetailsVO detail : vmSnapshotDetails) { - userVmDetails.add(new UserVmDetailVO(userVm.getId(), detail.getName(), detail.getValue(), detail.isDisplay())); + userVmDetails.add(new VMInstanceDetailVO(userVm.getId(), detail.getName(), detail.getValue(), detail.isDisplay())); } - _userVmDetailsDao.saveDetails(userVmDetails); + _vmInstanceDetailsDao.saveDetails(userVmDetails); } } diff --git a/server/src/main/java/org/apache/cloudstack/consoleproxy/ConsoleAccessManagerImpl.java b/server/src/main/java/org/apache/cloudstack/consoleproxy/ConsoleAccessManagerImpl.java index b480b37cd89..b497871238b 100644 --- a/server/src/main/java/org/apache/cloudstack/consoleproxy/ConsoleAccessManagerImpl.java +++ b/server/src/main/java/org/apache/cloudstack/consoleproxy/ConsoleAccessManagerImpl.java @@ -63,12 +63,12 @@ import com.cloud.utils.db.EntityManager; import com.cloud.utils.db.GlobalLock; import com.cloud.utils.exception.CloudRuntimeException; import com.cloud.vm.ConsoleSessionVO; -import com.cloud.vm.UserVmDetailVO; +import com.cloud.vm.VMInstanceDetailVO; import com.cloud.vm.VirtualMachine; import com.cloud.vm.VirtualMachineManager; import com.cloud.vm.VmDetailConstants; import com.cloud.vm.dao.ConsoleSessionDao; -import com.cloud.vm.dao.UserVmDetailsDao; +import com.cloud.vm.dao.VMInstanceDetailsDao; import com.google.gson.Gson; import com.google.gson.GsonBuilder; import org.apache.logging.log4j.LogManager; @@ -92,7 +92,7 @@ public class ConsoleAccessManagerImpl extends ManagerBase implements ConsoleAcce @Inject private EntityManager entityManager; @Inject - private UserVmDetailsDao userVmDetailsDao; + private VMInstanceDetailsDao vmInstanceDetailsDao; @Inject private KeysManager keysManager; @Inject @@ -344,8 +344,8 @@ public class ConsoleAccessManagerImpl extends ManagerBase implements ConsoleAcce if (hostVo.getHypervisorType() == Hypervisor.HypervisorType.KVM && (hostVo.getResourceState().equals(ResourceState.ErrorInMaintenance) || hostVo.getResourceState().equals(ResourceState.ErrorInPrepareForMaintenance))) { - UserVmDetailVO detailAddress = userVmDetailsDao.findDetail(vm.getId(), VmDetailConstants.KVM_VNC_ADDRESS); - UserVmDetailVO detailPort = userVmDetailsDao.findDetail(vm.getId(), VmDetailConstants.KVM_VNC_PORT); + VMInstanceDetailVO detailAddress = vmInstanceDetailsDao.findDetail(vm.getId(), VmDetailConstants.KVM_VNC_ADDRESS); + VMInstanceDetailVO detailPort = vmInstanceDetailsDao.findDetail(vm.getId(), VmDetailConstants.KVM_VNC_PORT); if (detailAddress != null && detailPort != null) { portInfo = new Pair<>(detailAddress.getValue(), Integer.valueOf(detailPort.getValue())); } else { @@ -372,7 +372,7 @@ public class ConsoleAccessManagerImpl extends ManagerBase implements ConsoleAcce } String sid = vm.getVncPassword(); - UserVmDetailVO details = userVmDetailsDao.findDetail(vm.getId(), VmDetailConstants.KEYBOARD); + VMInstanceDetailVO details = vmInstanceDetailsDao.findDetail(vm.getId(), VmDetailConstants.KEYBOARD); String tag = vm.getUuid(); String displayName = vm.getHostName(); @@ -416,7 +416,7 @@ public class ConsoleAccessManagerImpl extends ManagerBase implements ConsoleAcce } private String generateConsoleAccessUrl(String rootUrl, ConsoleProxyClientParam param, String token, int vncPort, - VirtualMachine vm, HostVO hostVo, UserVmDetailVO details) { + VirtualMachine vm, HostVO hostVo, VMInstanceDetailVO details) { StringBuilder sb = new StringBuilder(rootUrl); if (param.getHypervHost() != null || !ConsoleProxyManager.NoVncConsoleDefault.value()) { sb.append("/ajax?token=" + token); @@ -450,7 +450,7 @@ public class ConsoleAccessManagerImpl extends ManagerBase implements ConsoleAcce int port, String sid, String tag, String ticket, String sessionUuid, String addr, String extraSecurityToken, VirtualMachine vm, - HostVO hostVo, UserVmDetailVO details, + HostVO hostVo, VMInstanceDetailVO details, Pair portInfo, String host, String displayName) { ConsoleProxyClientParam param = new ConsoleProxyClientParam(); diff --git a/server/src/main/java/org/apache/cloudstack/resource/ResourceCleanupServiceImpl.java b/server/src/main/java/org/apache/cloudstack/resource/ResourceCleanupServiceImpl.java index 50c4de36b7f..298753a6c4f 100644 --- a/server/src/main/java/org/apache/cloudstack/resource/ResourceCleanupServiceImpl.java +++ b/server/src/main/java/org/apache/cloudstack/resource/ResourceCleanupServiceImpl.java @@ -93,7 +93,7 @@ import com.cloud.vm.dao.NicDao; import com.cloud.vm.dao.NicDetailsDao; import com.cloud.vm.dao.NicExtraDhcpOptionDao; import com.cloud.vm.dao.NicSecondaryIpDao; -import com.cloud.vm.dao.UserVmDetailsDao; +import com.cloud.vm.dao.VMInstanceDetailsDao; import com.cloud.vm.dao.VMInstanceDao; import com.cloud.vm.snapshot.VMSnapshotVO; import com.cloud.vm.snapshot.dao.VMSnapshotDao; @@ -125,7 +125,7 @@ public class ResourceCleanupServiceImpl extends ManagerBase implements ResourceC @Inject InlineLoadBalancerNicMapDao inlineLoadBalancerNicMapDao; @Inject - UserVmDetailsDao userVmDetailsDao; + VMInstanceDetailsDao vmInstanceDetailsDao; @Inject VMSnapshotDao vmSnapshotDao; @Inject @@ -269,7 +269,7 @@ public class ResourceCleanupServiceImpl extends ManagerBase implements ResourceC } purgeVMVolumes(vmIds, batchSize); purgeVMNics(vmIds, batchSize); - userVmDetailsDao.batchExpungeForResources(vmIds, batchSize); + vmInstanceDetailsDao.batchExpungeForResources(vmIds, batchSize); purgeVMSnapshots(vmIds, batchSize); autoScaleVmGroupVmMapDao.expungeByVmList(vmIds, batchSize); commandExecLogDao.expungeByVmList(vmIds, batchSize); diff --git a/server/src/main/java/org/apache/cloudstack/vm/UnmanagedVMsManagerImpl.java b/server/src/main/java/org/apache/cloudstack/vm/UnmanagedVMsManagerImpl.java index 03c0ad06dc9..4fed2ddd325 100644 --- a/server/src/main/java/org/apache/cloudstack/vm/UnmanagedVMsManagerImpl.java +++ b/server/src/main/java/org/apache/cloudstack/vm/UnmanagedVMsManagerImpl.java @@ -139,7 +139,7 @@ import com.cloud.vm.VirtualMachineProfileImpl; import com.cloud.vm.VmDetailConstants; import com.cloud.vm.dao.NicDao; import com.cloud.vm.dao.UserVmDao; -import com.cloud.vm.dao.UserVmDetailsDao; +import com.cloud.vm.dao.VMInstanceDetailsDao; import com.cloud.vm.dao.VMInstanceDao; import com.google.gson.Gson; import org.apache.cloudstack.acl.ControlledEntity; @@ -223,7 +223,7 @@ public class UnmanagedVMsManagerImpl implements UnmanagedVMsManager { @Inject private ResourceLimitService resourceLimitService; @Inject - private UserVmDetailsDao userVmDetailsDao; + private VMInstanceDetailsDao vmInstanceDetailsDao; @Inject private UserVmManager userVmManager; @Inject diff --git a/server/src/main/java/org/apache/cloudstack/vm/lease/VMLeaseManagerImpl.java b/server/src/main/java/org/apache/cloudstack/vm/lease/VMLeaseManagerImpl.java index e50b8389ef3..8904d87259c 100644 --- a/server/src/main/java/org/apache/cloudstack/vm/lease/VMLeaseManagerImpl.java +++ b/server/src/main/java/org/apache/cloudstack/vm/lease/VMLeaseManagerImpl.java @@ -18,23 +18,21 @@ package org.apache.cloudstack.vm.lease; -import com.cloud.api.ApiGsonHelper; -import com.cloud.api.query.dao.UserVmJoinDao; -import com.cloud.api.query.vo.UserVmJoinVO; -import com.cloud.event.ActionEventUtils; -import com.cloud.event.EventTypes; -import com.cloud.user.Account; -import com.cloud.user.User; -import com.cloud.utils.DateUtil; -import com.cloud.utils.Pair; -import com.cloud.utils.component.ComponentContext; -import com.cloud.utils.component.ManagerBase; -import com.cloud.utils.concurrency.NamedThreadFactory; -import com.cloud.utils.db.GlobalLock; -import com.cloud.vm.VmDetailConstants; -import com.cloud.vm.dao.UserVmDetailsDao; -import com.google.gson.Gson; -import com.google.gson.reflect.TypeToken; +import java.util.ArrayList; +import java.util.Calendar; +import java.util.Date; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; +import java.util.concurrent.Executors; +import java.util.concurrent.ScheduledExecutorService; +import java.util.concurrent.TimeUnit; + +import javax.inject.Inject; +import javax.naming.ConfigurationException; + import org.apache.cloudstack.api.ApiCommandResourceType; import org.apache.cloudstack.api.ApiConstants; import org.apache.cloudstack.api.command.user.vm.DestroyVMCmd; @@ -52,26 +50,29 @@ import org.apache.cloudstack.managed.context.ManagedContextRunnable; import org.apache.commons.lang3.EnumUtils; import org.apache.commons.lang3.time.DateUtils; -import javax.inject.Inject; -import javax.naming.ConfigurationException; - -import java.util.ArrayList; -import java.util.Calendar; -import java.util.Date; -import java.util.HashMap; -import java.util.HashSet; -import java.util.List; -import java.util.Map; -import java.util.Set; -import java.util.concurrent.Executors; -import java.util.concurrent.ScheduledExecutorService; -import java.util.concurrent.TimeUnit; +import com.cloud.api.ApiGsonHelper; +import com.cloud.api.query.dao.UserVmJoinDao; +import com.cloud.api.query.vo.UserVmJoinVO; +import com.cloud.event.ActionEventUtils; +import com.cloud.event.EventTypes; +import com.cloud.user.Account; +import com.cloud.user.User; +import com.cloud.utils.DateUtil; +import com.cloud.utils.Pair; +import com.cloud.utils.component.ComponentContext; +import com.cloud.utils.component.ManagerBase; +import com.cloud.utils.concurrency.NamedThreadFactory; +import com.cloud.utils.db.GlobalLock; +import com.cloud.vm.VmDetailConstants; +import com.cloud.vm.dao.VMInstanceDetailsDao; +import com.google.gson.Gson; +import com.google.gson.reflect.TypeToken; public class VMLeaseManagerImpl extends ManagerBase implements VMLeaseManager, Configurable { private static final int ACQUIRE_GLOBAL_LOCK_TIMEOUT_FOR_COOPERATION = 5; // 5 seconds @Inject - private UserVmDetailsDao userVmDetailsDao; + private VMInstanceDetailsDao vmInstanceDetailsDao; @Inject private UserVmJoinDao userVmJoinDao; @@ -131,7 +132,7 @@ public class VMLeaseManagerImpl extends ManagerBase implements VMLeaseManager, C List leaseExpiringForInstances = userVmJoinDao.listLeaseInstancesExpiringInDays(-1); logger.debug("Total instances found for lease cancellation: {}", leaseExpiringForInstances.size()); for (UserVmJoinVO instance : leaseExpiringForInstances) { - userVmDetailsDao.addDetail(instance.getId(), VmDetailConstants.INSTANCE_LEASE_EXECUTION, + vmInstanceDetailsDao.addDetail(instance.getId(), VmDetailConstants.INSTANCE_LEASE_EXECUTION, LeaseActionExecution.CANCELLED.name(), false); String leaseCancellationMsg = String.format("Lease is cancelled for the instance: %s (id: %s) ", instance.getName(), instance.getUuid()); ActionEventUtils.onActionEvent(instance.getUserId(), instance.getAccountId(), instance.getDomainId(), @@ -370,7 +371,7 @@ public class VMLeaseManagerImpl extends ManagerBase implements VMLeaseManager, C if (VMLeaseManager.class.getSimpleName().equals(params.get(JOB_INITIATOR))) { logger.debug("Lease expiry job: {} successfully executed for instanceId: {}", asyncExpiryJob.getId(), asyncExpiryJob.getInstanceId()); - userVmDetailsDao.addDetail(asyncExpiryJob.getInstanceId(), VmDetailConstants.INSTANCE_LEASE_EXECUTION, LeaseActionExecution.DONE.name(), false); + vmInstanceDetailsDao.addDetail(asyncExpiryJob.getInstanceId(), VmDetailConstants.INSTANCE_LEASE_EXECUTION, LeaseActionExecution.DONE.name(), false); } } } catch (final Exception e) { diff --git a/server/src/test/java/com/cloud/api/query/dao/UserVmJoinDaoImplTest.java b/server/src/test/java/com/cloud/api/query/dao/UserVmJoinDaoImplTest.java index 28bb998c5ce..14074add021 100755 --- a/server/src/test/java/com/cloud/api/query/dao/UserVmJoinDaoImplTest.java +++ b/server/src/test/java/com/cloud/api/query/dao/UserVmJoinDaoImplTest.java @@ -49,7 +49,7 @@ import com.cloud.user.dao.UserDao; import com.cloud.user.dao.UserStatisticsDao; import com.cloud.utils.db.SearchBuilder; import com.cloud.utils.db.SearchCriteria; -import com.cloud.vm.dao.UserVmDetailsDao; +import com.cloud.vm.dao.VMInstanceDetailsDao; @RunWith(MockitoJUnitRunner.class) public class UserVmJoinDaoImplTest extends GenericDaoBaseWithTagInformationBaseTest { @@ -67,7 +67,7 @@ public class UserVmJoinDaoImplTest extends GenericDaoBaseWithTagInformationBaseT private AccountManager accountMgr; @Mock - private UserVmDetailsDao _userVmDetailsDao; + private VMInstanceDetailsDao _vmInstanceDetailsDao; @Mock private UserStatisticsDao userStatsDao; diff --git a/server/src/test/java/com/cloud/deploy/DeploymentPlanningManagerImplTest.java b/server/src/test/java/com/cloud/deploy/DeploymentPlanningManagerImplTest.java index e7fe559994d..7e25570dc82 100644 --- a/server/src/test/java/com/cloud/deploy/DeploymentPlanningManagerImplTest.java +++ b/server/src/test/java/com/cloud/deploy/DeploymentPlanningManagerImplTest.java @@ -79,7 +79,7 @@ import com.cloud.vm.VirtualMachine.Type; import com.cloud.vm.VirtualMachineProfile; import com.cloud.vm.VirtualMachineProfileImpl; import com.cloud.vm.dao.UserVmDao; -import com.cloud.vm.dao.UserVmDetailsDao; +import com.cloud.vm.dao.VMInstanceDetailsDao; import com.cloud.vm.dao.VMInstanceDao; import org.apache.cloudstack.affinity.AffinityGroupProcessor; import org.apache.cloudstack.affinity.AffinityGroupService; @@ -182,7 +182,7 @@ public class DeploymentPlanningManagerImplTest { DedicatedResourceDao _dedicatedDao; @Inject - UserVmDetailsDao vmDetailsDao; + VMInstanceDetailsDao vmDetailsDao; @Inject VMTemplateDao templateDao; @@ -1114,8 +1114,8 @@ public class DeploymentPlanningManagerImplTest { } @Bean - public UserVmDetailsDao userVmDetailsDao() { - return Mockito.mock(UserVmDetailsDao.class); + public VMInstanceDetailsDao vmInstanceDetailsDao() { + return Mockito.mock(VMInstanceDetailsDao.class); } @Bean diff --git a/server/src/test/java/com/cloud/hypervisor/kvm/dpdk/DpdkHelperImplTest.java b/server/src/test/java/com/cloud/hypervisor/kvm/dpdk/DpdkHelperImplTest.java index 64c5c04f3bb..7e1010e0022 100644 --- a/server/src/test/java/com/cloud/hypervisor/kvm/dpdk/DpdkHelperImplTest.java +++ b/server/src/test/java/com/cloud/hypervisor/kvm/dpdk/DpdkHelperImplTest.java @@ -22,12 +22,13 @@ import com.cloud.host.dao.HostDao; import com.cloud.offering.ServiceOffering; import com.cloud.service.ServiceOfferingDetailsVO; import com.cloud.service.dao.ServiceOfferingDetailsDao; -import com.cloud.vm.UserVmDetailVO; +import com.cloud.vm.VMInstanceDetailVO; import com.cloud.vm.VMInstanceVO; import com.cloud.vm.VirtualMachine; import com.cloud.vm.VirtualMachineProfile; -import com.cloud.vm.dao.UserVmDetailsDao; +import com.cloud.vm.dao.VMInstanceDetailsDao; import com.cloud.vm.dao.VMInstanceDao; + import org.junit.Assert; import org.junit.Before; import org.junit.Test; @@ -54,7 +55,7 @@ public class DpdkHelperImplTest { @Mock VMInstanceDao vmInstanceDao; @Mock - UserVmDetailsDao userVmDetailsDao; + VMInstanceDetailsDao vmInstanceDetailsDao; @Spy @InjectMocks @@ -73,9 +74,9 @@ public class DpdkHelperImplTest { @Mock ServiceOffering serviceOffering; @Mock - UserVmDetailVO dpdkNumaVmDetail; + VMInstanceDetailVO dpdkNumaVmDetail; @Mock - UserVmDetailVO dpdkHugePagesVmDetail; + VMInstanceDetailVO dpdkHugePagesVmDetail; @Mock HostVO hostVO; @Mock @@ -135,7 +136,7 @@ public class DpdkHelperImplTest { Mockito.lenient().when(dpdkNumaVmDetail.getValue()).thenReturn(dpdkNumaConf); Mockito.when(dpdkHugePagesVmDetail.getName()).thenReturn(DpdkHelper.DPDK_HUGE_PAGES); Mockito.lenient().when(dpdkHugePagesVmDetail.getValue()).thenReturn(dpdkHugePagesConf); - Mockito.when(userVmDetailsDao.listDetails(vmId)).thenReturn(Arrays.asList(dpdkNumaVmDetail, dpdkHugePagesVmDetail)); + Mockito.when(vmInstanceDetailsDao.listDetails(vmId)).thenReturn(Arrays.asList(dpdkNumaVmDetail, dpdkHugePagesVmDetail)); } @Test @@ -202,7 +203,7 @@ public class DpdkHelperImplTest { @Test public void testIsVMDpdkEnabledGuestTypeMissingConfigurationOnDetails() { - Mockito.when(userVmDetailsDao.listDetails(vmId)).thenReturn(Arrays.asList(dpdkNumaVmDetail)); + Mockito.when(vmInstanceDetailsDao.listDetails(vmId)).thenReturn(Arrays.asList(dpdkNumaVmDetail)); Mockito.when(serviceOfferingDetailsDao.listDetails(offeringId)).thenReturn(new ArrayList<>()); Assert.assertFalse(dpdkHelper.isVMDpdkEnabled(vmId)); Mockito.verify(dpdkHelper, Mockito.never()).isHostDpdkEnabled(hostId); @@ -210,7 +211,7 @@ public class DpdkHelperImplTest { @Test public void testIsVMDpdkEnabledGuestTypeEmptyDetails() { - Mockito.when(userVmDetailsDao.listDetails(vmId)).thenReturn(new ArrayList<>()); + Mockito.when(vmInstanceDetailsDao.listDetails(vmId)).thenReturn(new ArrayList<>()); Mockito.when(serviceOfferingDetailsDao.listDetails(offeringId)).thenReturn(new ArrayList<>()); Assert.assertFalse(dpdkHelper.isVMDpdkEnabled(vmId)); Mockito.verify(dpdkHelper, Mockito.never()).isHostDpdkEnabled(hostId); @@ -223,21 +224,21 @@ public class DpdkHelperImplTest { @Test public void testIsVMDpdkEnabledGuestTypeMissingConfigurationOnVmDetails() { - Mockito.when(userVmDetailsDao.listDetails(vmId)).thenReturn(Collections.singletonList(dpdkNumaVmDetail)); + Mockito.when(vmInstanceDetailsDao.listDetails(vmId)).thenReturn(Collections.singletonList(dpdkNumaVmDetail)); Mockito.when(hostVO.getCapabilities()).thenReturn(hostCapabilities + ",dpdk"); Assert.assertTrue(dpdkHelper.isVMDpdkEnabled(vmId)); } @Test public void testIsVMDpdkEnabledGuestTypeEmptyVmDetails() { - Mockito.when(userVmDetailsDao.listDetails(vmId)).thenReturn(new ArrayList<>()); + Mockito.when(vmInstanceDetailsDao.listDetails(vmId)).thenReturn(new ArrayList<>()); Mockito.when(hostVO.getCapabilities()).thenReturn(hostCapabilities + ",dpdk"); Assert.assertTrue(dpdkHelper.isVMDpdkEnabled(vmId)); } @Test public void testIsVMDpdkEnabledGuestTypeMixedConfigurationOnDetails() { - Mockito.when(userVmDetailsDao.listDetails(vmId)).thenReturn(Collections.singletonList(dpdkNumaVmDetail)); + Mockito.when(vmInstanceDetailsDao.listDetails(vmId)).thenReturn(Collections.singletonList(dpdkNumaVmDetail)); Mockito.when(serviceOfferingDetailsDao.listDetails(offeringId)).thenReturn(Collections.singletonList(dpdkHugePagesDetailVO)); Mockito.when(hostVO.getCapabilities()).thenReturn(hostCapabilities + ",dpdk"); Assert.assertTrue(dpdkHelper.isVMDpdkEnabled(vmId)); diff --git a/server/src/test/java/com/cloud/network/element/ConfigDriveNetworkElementTest.java b/server/src/test/java/com/cloud/network/element/ConfigDriveNetworkElementTest.java index 8c8dc33d7ec..0aab5afce4a 100644 --- a/server/src/test/java/com/cloud/network/element/ConfigDriveNetworkElementTest.java +++ b/server/src/test/java/com/cloud/network/element/ConfigDriveNetworkElementTest.java @@ -51,13 +51,13 @@ import com.cloud.utils.fsm.StateMachine2; import com.cloud.utils.net.Ip; import com.cloud.vm.Nic; import com.cloud.vm.NicProfile; -import com.cloud.vm.UserVmDetailVO; +import com.cloud.vm.VMInstanceDetailVO; import com.cloud.vm.UserVmVO; import com.cloud.vm.VirtualMachine; import com.cloud.vm.VirtualMachineProfile; import com.cloud.vm.VirtualMachineProfileImpl; import com.cloud.vm.dao.UserVmDao; -import com.cloud.vm.dao.UserVmDetailsDao; +import com.cloud.vm.dao.VMInstanceDetailsDao; import com.cloud.vm.dao.VMInstanceDao; import com.google.common.collect.Maps; import org.apache.cloudstack.context.CallContext; @@ -127,7 +127,7 @@ public class ConfigDriveNetworkElementTest { @Mock private ServiceOfferingDao _serviceOfferingDao; @Mock private UserVmDao _vmDao; @Mock private VMInstanceDao _vmInstanceDao; - @Mock private UserVmDetailsDao _userVmDetailsDao; + @Mock private VMInstanceDetailsDao _vmInstanceDetailsDao; @Mock private NetworkDao _networkDao; @Mock private NetworkServiceMapDao _ntwkSrvcDao; @Mock private IPAddressDao _ipAddressDao; @@ -269,12 +269,12 @@ public class ConfigDriveNetworkElementTest { Mockito.doReturn(Mockito.mock(Account.class)).when(callContextMock).getCallingAccount(); final HandleConfigDriveIsoAnswer answer = mock(HandleConfigDriveIsoAnswer.class); - final UserVmDetailVO userVmDetailVO = mock(UserVmDetailVO.class); + final VMInstanceDetailVO vmInstanceDetailVO = mock(VMInstanceDetailVO.class); when(network.getTrafficType()).thenReturn(Networks.TrafficType.Guest); when(virtualMachine.getUuid()).thenReturn("vm-uuid"); - when(userVmDetailVO.getValue()).thenReturn(PUBLIC_KEY); + when(vmInstanceDetailVO.getValue()).thenReturn(PUBLIC_KEY); when(nicp.getIPv4Address()).thenReturn("192.168.111.111"); - when(_userVmDetailsDao.findDetail(Mockito.anyLong(), Mockito.anyString())).thenReturn(userVmDetailVO); + when(_vmInstanceDetailsDao.findDetail(Mockito.anyLong(), Mockito.anyString())).thenReturn(vmInstanceDetailVO); when(_ipAddressDao.findByAssociatedVmId(VMID)).thenReturn(publicIp); when(publicIp.getAddress()).thenReturn(new Ip("7.7.7.7")); when(_hostDao.findById(virtualMachine.getHostId())).thenReturn(hostVO); diff --git a/server/src/test/java/com/cloud/network/element/VirtualRouterElementTest.java b/server/src/test/java/com/cloud/network/element/VirtualRouterElementTest.java index 22a86615c7e..ba6aa55169b 100644 --- a/server/src/test/java/com/cloud/network/element/VirtualRouterElementTest.java +++ b/server/src/test/java/com/cloud/network/element/VirtualRouterElementTest.java @@ -95,8 +95,9 @@ import com.cloud.vm.dao.DomainRouterDao; import com.cloud.vm.dao.NicDao; import com.cloud.vm.dao.NicIpAliasDao; import com.cloud.vm.dao.UserVmDao; -import com.cloud.vm.dao.UserVmDetailsDao; +import com.cloud.vm.dao.VMInstanceDetailsDao; import com.cloud.vm.dao.VMInstanceDao; + import org.apache.cloudstack.engine.orchestration.service.NetworkOrchestrationService; import org.apache.cloudstack.framework.config.dao.ConfigurationDao; import org.apache.cloudstack.network.BgpPeerVO; @@ -166,7 +167,7 @@ public class VirtualRouterElementTest { @Mock private UserVmDao _userVmDao; @Mock private VlanDao _vlanDao; @Mock private VMInstanceDao _vmDao; - @Mock private UserVmDetailsDao _vmDetailsDao; + @Mock private VMInstanceDetailsDao _vmDetailsDao; @Mock private VolumeDao _volumeDao; @Mock private RemoteAccessVpnDao _vpnDao; @Mock private VpnUserDao _vpnUsersDao; diff --git a/server/src/test/java/com/cloud/network/router/VirtualNetworkApplianceManagerImplTest.java b/server/src/test/java/com/cloud/network/router/VirtualNetworkApplianceManagerImplTest.java index 1e55f55fbd6..cadbc3eb966 100644 --- a/server/src/test/java/com/cloud/network/router/VirtualNetworkApplianceManagerImplTest.java +++ b/server/src/test/java/com/cloud/network/router/VirtualNetworkApplianceManagerImplTest.java @@ -74,7 +74,7 @@ import com.cloud.vm.dao.DomainRouterDao; import com.cloud.vm.dao.NicDao; import com.cloud.vm.dao.NicIpAliasDao; import com.cloud.vm.dao.UserVmDao; -import com.cloud.vm.dao.UserVmDetailsDao; +import com.cloud.vm.dao.VMInstanceDetailsDao; import com.cloud.vm.dao.VMInstanceDao; import org.apache.cloudstack.framework.config.dao.ConfigurationDao; import org.apache.cloudstack.network.BgpPeer; @@ -202,7 +202,7 @@ public class VirtualNetworkApplianceManagerImplTest { private VMInstanceDao _vmDao; @Mock - private UserVmDetailsDao _vmDetailsDao; + private VMInstanceDetailsDao _vmDetailsDao; @Mock private VolumeDao _volumeDao; diff --git a/server/src/test/java/com/cloud/network/security/SecurityGroupManagerTestConfiguration.java b/server/src/test/java/com/cloud/network/security/SecurityGroupManagerTestConfiguration.java index 42e5d15208e..d2639e75854 100644 --- a/server/src/test/java/com/cloud/network/security/SecurityGroupManagerTestConfiguration.java +++ b/server/src/test/java/com/cloud/network/security/SecurityGroupManagerTestConfiguration.java @@ -50,7 +50,7 @@ import com.cloud.vm.UserVmManager; import com.cloud.vm.VirtualMachineManager; import com.cloud.vm.dao.NicDaoImpl; import com.cloud.vm.dao.UserVmDaoImpl; -import com.cloud.vm.dao.UserVmDetailsDaoImpl; +import com.cloud.vm.dao.VMInstanceDetailsDaoImpl; import com.cloud.vm.dao.VMInstanceDaoImpl; import org.apache.cloudstack.engine.orchestration.service.NetworkOrchestrationService; import org.apache.cloudstack.framework.config.dao.ConfigurationDaoImpl; @@ -74,7 +74,7 @@ import java.io.IOException; ConfigurationSubGroupDaoImpl.class, SecurityGroupWorkDaoImpl.class, VmRulesetLogDaoImpl.class, VMInstanceDaoImpl.class, DomainDaoImpl.class, UsageEventDaoImpl.class, ResourceTagsDaoImpl.class, HostDaoImpl.class, HostDetailsDaoImpl.class, HostTagsDaoImpl.class, ClusterDaoImpl.class, HostPodDaoImpl.class, DataCenterDaoImpl.class, DataCenterIpAddressDaoImpl.class, HostTransferMapDaoImpl.class, SecurityGroupManagerImpl2.class, SecurityGroupDaoImpl.class, - SecurityGroupVMMapDaoImpl.class, UserVmDetailsDaoImpl.class, DataCenterIpAddressDaoImpl.class, DataCenterLinkLocalIpAddressDaoImpl.class, + SecurityGroupVMMapDaoImpl.class, VMInstanceDetailsDaoImpl.class, DataCenterIpAddressDaoImpl.class, DataCenterLinkLocalIpAddressDaoImpl.class, DataCenterVnetDaoImpl.class, PodVlanDaoImpl.class, DataCenterDetailsDaoImpl.class, SecurityGroupRuleDaoImpl.class, NicDaoImpl.class, SecurityGroupJoinDaoImpl.class}, includeFilters = {@Filter(value = Library.class, type = FilterType.CUSTOM)}, diff --git a/server/src/test/java/com/cloud/resource/ResourceManagerImplTest.java b/server/src/test/java/com/cloud/resource/ResourceManagerImplTest.java index 9ee6ab4c529..15d23775742 100644 --- a/server/src/test/java/com/cloud/resource/ResourceManagerImplTest.java +++ b/server/src/test/java/com/cloud/resource/ResourceManagerImplTest.java @@ -50,7 +50,7 @@ import com.cloud.utils.ssh.SSHCmdHelper; import com.cloud.utils.ssh.SshException; import com.cloud.vm.VMInstanceVO; import com.cloud.vm.VirtualMachine; -import com.cloud.vm.dao.UserVmDetailsDao; +import com.cloud.vm.dao.VMInstanceDetailsDao; import com.cloud.vm.dao.VMInstanceDao; import com.trilead.ssh2.Connection; import org.apache.cloudstack.api.command.admin.host.CancelHostAsDegradedCmd; @@ -105,7 +105,7 @@ public class ResourceManagerImplTest { @Mock private HighAvailabilityManager haManager; @Mock - private UserVmDetailsDao userVmDetailsDao; + private VMInstanceDetailsDao vmInstanceDetailsDao; @Mock private AgentManager agentManager; @Mock @@ -341,10 +341,10 @@ public class ResourceManagerImplTest { verify(resourceManager).setKVMVncAccess(hostId, vms); verify(agentManager, times(vms.size())).easySend(eq(hostId), any(GetVncPortCommand.class)); verify(agentManager).pullAgentToMaintenance(hostId); - verify(userVmDetailsDao).addDetail(eq(vm1Id), eq("kvm.vnc.address"), eq(vm1VncAddress), anyBoolean()); - verify(userVmDetailsDao).addDetail(eq(vm1Id), eq("kvm.vnc.port"), eq(String.valueOf(vm1VncPort)), anyBoolean()); - verify(userVmDetailsDao).addDetail(eq(vm2Id), eq("kvm.vnc.address"), eq(vm2VncAddress), anyBoolean()); - verify(userVmDetailsDao).addDetail(eq(vm2Id), eq("kvm.vnc.port"), eq(String.valueOf(vm2VncPort)), anyBoolean()); + verify(vmInstanceDetailsDao).addDetail(eq(vm1Id), eq("kvm.vnc.address"), eq(vm1VncAddress), anyBoolean()); + verify(vmInstanceDetailsDao).addDetail(eq(vm1Id), eq("kvm.vnc.port"), eq(String.valueOf(vm1VncPort)), anyBoolean()); + verify(vmInstanceDetailsDao).addDetail(eq(vm2Id), eq("kvm.vnc.address"), eq(vm2VncAddress), anyBoolean()); + verify(vmInstanceDetailsDao).addDetail(eq(vm2Id), eq("kvm.vnc.port"), eq(String.valueOf(vm2VncPort)), anyBoolean()); } @Test(expected = CloudRuntimeException.class) diff --git a/server/src/test/java/com/cloud/resource/RollingMaintenanceManagerImplTest.java b/server/src/test/java/com/cloud/resource/RollingMaintenanceManagerImplTest.java index 6f67eb8a237..586f2b58eca 100644 --- a/server/src/test/java/com/cloud/resource/RollingMaintenanceManagerImplTest.java +++ b/server/src/test/java/com/cloud/resource/RollingMaintenanceManagerImplTest.java @@ -27,10 +27,10 @@ import com.cloud.service.ServiceOfferingVO; import com.cloud.service.dao.ServiceOfferingDao; import com.cloud.utils.Ternary; import com.cloud.utils.exception.CloudRuntimeException; -import com.cloud.vm.UserVmDetailVO; +import com.cloud.vm.VMInstanceDetailVO; import com.cloud.vm.VMInstanceVO; import com.cloud.vm.VmDetailConstants; -import com.cloud.vm.dao.UserVmDetailsDao; +import com.cloud.vm.dao.VMInstanceDetailsDao; import org.junit.After; import org.junit.Assert; @@ -67,7 +67,7 @@ public class RollingMaintenanceManagerImplTest { @Mock ServiceOfferingDao serviceOfferingDao; @Mock - UserVmDetailsDao userVmDetailsDao; + VMInstanceDetailsDao vmInstanceDetailsDao; @Spy @InjectMocks @@ -213,18 +213,18 @@ public class RollingMaintenanceManagerImplTest { Mockito.when(serviceOffering.getSpeed()).thenReturn(null); Mockito.when(serviceOffering.getRamSize()).thenReturn(null); - List vmDetails = new ArrayList<>(); - UserVmDetailVO cpuDetail = new UserVmDetailVO(1L, VmDetailConstants.CPU_NUMBER, "2", false); + List vmDetails = new ArrayList<>(); + VMInstanceDetailVO cpuDetail = new VMInstanceDetailVO(1L, VmDetailConstants.CPU_NUMBER, "2", false); vmDetails.add(cpuDetail); - UserVmDetailVO speedDetail = new UserVmDetailVO(1L, VmDetailConstants.CPU_SPEED, "1000", false); + VMInstanceDetailVO speedDetail = new VMInstanceDetailVO(1L, VmDetailConstants.CPU_SPEED, "1000", false); vmDetails.add(speedDetail); - UserVmDetailVO ramSizeDetail = new UserVmDetailVO(1L, VmDetailConstants.MEMORY, "1024", false); + VMInstanceDetailVO ramSizeDetail = new VMInstanceDetailVO(1L, VmDetailConstants.MEMORY, "1024", false); vmDetails.add(ramSizeDetail); Mockito.when(vm.getId()).thenReturn(1L); Mockito.when(vm.getServiceOfferingId()).thenReturn(1L); Mockito.when(serviceOfferingDao.findById(1L)).thenReturn(serviceOffering); - Mockito.when(userVmDetailsDao.listDetails(1L)).thenReturn(vmDetails); + Mockito.when(vmInstanceDetailsDao.listDetails(1L)).thenReturn(vmDetails); Ternary cpuSpeedAndRamSize = manager.getComputeResourcesCpuSpeedAndRamSize(vm); diff --git a/server/src/test/java/com/cloud/server/ManagementServerImplTest.java b/server/src/test/java/com/cloud/server/ManagementServerImplTest.java index bdce0a5ae9d..c31db2c6dd7 100644 --- a/server/src/test/java/com/cloud/server/ManagementServerImplTest.java +++ b/server/src/test/java/com/cloud/server/ManagementServerImplTest.java @@ -97,10 +97,10 @@ import com.cloud.utils.db.Filter; import com.cloud.utils.db.SearchBuilder; import com.cloud.utils.db.SearchCriteria; import com.cloud.utils.exception.CloudRuntimeException; -import com.cloud.vm.UserVmDetailVO; import com.cloud.vm.UserVmVO; +import com.cloud.vm.VMInstanceDetailVO; import com.cloud.vm.dao.UserVmDao; -import com.cloud.vm.dao.UserVmDetailsDao; +import com.cloud.vm.dao.VMInstanceDetailsDao; @RunWith(MockitoJUnitRunner.class) public class ManagementServerImplTest { @@ -145,7 +145,7 @@ public class ManagementServerImplTest { UserDataManager userDataManager; @Mock - UserVmDetailsDao userVmDetailsDao; + VMInstanceDetailsDao vmInstanceDetailsDao; @Mock HostDetailsDao hostDetailsDao; @@ -585,10 +585,10 @@ public class ManagementServerImplTest { UserVmVO vm = Mockito.mock(UserVmVO.class); Mockito.when(vm.getId()).thenReturn(1L); if (uefiValue == null) { - Mockito.when(userVmDetailsDao.findDetail(vm.getId(), ApiConstants.BootType.UEFI.toString())).thenReturn(null); + Mockito.when(vmInstanceDetailsDao.findDetail(vm.getId(), ApiConstants.BootType.UEFI.toString())).thenReturn(null); } else { - UserVmDetailVO detail = new UserVmDetailVO(vm.getId(), ApiConstants.BootType.UEFI.toString(), uefiValue, true); - Mockito.when(userVmDetailsDao.findDetail(vm.getId(), ApiConstants.BootType.UEFI.toString())).thenReturn(detail); + VMInstanceDetailVO detail = new VMInstanceDetailVO(vm.getId(), ApiConstants.BootType.UEFI.toString(), uefiValue, true); + Mockito.when(vmInstanceDetailsDao.findDetail(vm.getId(), ApiConstants.BootType.UEFI.toString())).thenReturn(detail); Mockito.when(hostDetailsDao.findByName(Host.HOST_UEFI_ENABLE)).thenReturn(new ArrayList<>(List.of(new DetailVO(1l, Host.HOST_UEFI_ENABLE, "true"), new DetailVO(2l, Host.HOST_UEFI_ENABLE, "false")))); } return vm; diff --git a/server/src/test/java/com/cloud/vm/FirstFitPlannerTest.java b/server/src/test/java/com/cloud/vm/FirstFitPlannerTest.java index 517c2d2287b..fb188d159e2 100644 --- a/server/src/test/java/com/cloud/vm/FirstFitPlannerTest.java +++ b/server/src/test/java/com/cloud/vm/FirstFitPlannerTest.java @@ -98,7 +98,7 @@ import com.cloud.user.AccountVO; import com.cloud.utils.Pair; import com.cloud.utils.component.ComponentContext; import com.cloud.vm.dao.UserVmDao; -import com.cloud.vm.dao.UserVmDetailsDao; +import com.cloud.vm.dao.VMInstanceDetailsDao; import com.cloud.vm.dao.VMInstanceDao; @RunWith(SpringJUnit4ClassRunner.class) @@ -116,7 +116,7 @@ public class FirstFitPlannerTest { @Inject HostDetailsDao hostDetailsDao; @Inject - UserVmDetailsDao vmDetailsDao; + VMInstanceDetailsDao vmDetailsDao; @Inject ConfigurationDao configDao; @Inject @@ -476,8 +476,8 @@ public class FirstFitPlannerTest { } @Bean - public UserVmDetailsDao userVmDetailsDao() { - return Mockito.mock(UserVmDetailsDao.class); + public VMInstanceDetailsDao vmInstanceDetailsDao() { + return Mockito.mock(VMInstanceDetailsDao.class); } @Bean diff --git a/server/src/test/java/com/cloud/vm/UserVmManagerImplTest.java b/server/src/test/java/com/cloud/vm/UserVmManagerImplTest.java index b65b4513325..979a411d300 100644 --- a/server/src/test/java/com/cloud/vm/UserVmManagerImplTest.java +++ b/server/src/test/java/com/cloud/vm/UserVmManagerImplTest.java @@ -23,6 +23,8 @@ import static org.junit.Assert.assertThrows; import static org.junit.Assert.assertTrue; import static org.junit.Assert.fail; import static org.mockito.ArgumentMatchers.any; +import static org.mockito.ArgumentMatchers.anyBoolean; +import static org.mockito.ArgumentMatchers.anyList; import static org.mockito.ArgumentMatchers.anyLong; import static org.mockito.ArgumentMatchers.anyMap; import static org.mockito.ArgumentMatchers.anyString; @@ -34,14 +36,24 @@ import static org.mockito.Mockito.lenient; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.never; import static org.mockito.Mockito.times; +import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; +import java.text.SimpleDateFormat; +import java.time.LocalDateTime; +import java.time.ZoneOffset; import java.util.ArrayList; +import java.util.Date; import java.util.HashMap; +import java.util.HashSet; +import java.util.LinkedHashMap; +import java.util.LinkedHashSet; +import java.util.LinkedList; import java.util.List; import java.util.Map; +import java.util.TimeZone; +import java.util.UUID; -import com.cloud.storage.StorageManager; import org.apache.cloudstack.acl.ControlledEntity; import org.apache.cloudstack.acl.SecurityChecker; import org.apache.cloudstack.api.BaseCmd.HTTPMethod; @@ -56,10 +68,13 @@ import org.apache.cloudstack.context.CallContext; import org.apache.cloudstack.engine.orchestration.service.NetworkOrchestrationService; import org.apache.cloudstack.engine.subsystem.api.storage.PrimaryDataStore; import org.apache.cloudstack.engine.subsystem.api.storage.Scope; +import org.apache.cloudstack.engine.subsystem.api.storage.VolumeDataFactory; +import org.apache.cloudstack.engine.subsystem.api.storage.VolumeInfo; import org.apache.cloudstack.storage.datastore.db.PrimaryDataStoreDao; import org.apache.cloudstack.storage.datastore.db.StoragePoolVO; import org.apache.cloudstack.storage.template.VnfTemplateManager; import org.apache.cloudstack.userdata.UserDataManager; +import org.apache.cloudstack.vm.lease.VMLeaseManager; import org.junit.After; import org.junit.Assert; import org.junit.Before; @@ -67,6 +82,7 @@ import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.InjectMocks; import org.mockito.Mock; +import org.mockito.MockedStatic; import org.mockito.Mockito; import org.mockito.Spy; import org.mockito.junit.MockitoJUnitRunner; @@ -127,6 +143,7 @@ import com.cloud.storage.GuestOSVO; import com.cloud.storage.ScopeType; import com.cloud.storage.SnapshotVO; import com.cloud.storage.Storage; +import com.cloud.storage.StorageManager; import com.cloud.storage.VMTemplateVO; import com.cloud.storage.Volume; import com.cloud.storage.VolumeApiService; @@ -155,32 +172,10 @@ import com.cloud.utils.exception.CloudRuntimeException; import com.cloud.utils.exception.ExceptionProxyObject; import com.cloud.vm.dao.NicDao; import com.cloud.vm.dao.UserVmDao; -import com.cloud.vm.dao.UserVmDetailsDao; +import com.cloud.vm.dao.VMInstanceDetailsDao; import com.cloud.vm.snapshot.VMSnapshotVO; import com.cloud.vm.snapshot.dao.VMSnapshotDao; -import org.apache.cloudstack.vm.lease.VMLeaseManager; - -import org.mockito.MockedStatic; - -import java.text.SimpleDateFormat; -import java.time.LocalDateTime; -import java.time.ZoneOffset; -import java.util.Date; -import java.util.HashSet; -import java.util.LinkedHashMap; -import java.util.LinkedHashSet; -import java.util.LinkedList; -import java.util.TimeZone; -import java.util.UUID; - -import static org.mockito.ArgumentMatchers.anyBoolean; -import static org.mockito.ArgumentMatchers.anyList; -import static org.mockito.Mockito.verify; - -import org.apache.cloudstack.engine.subsystem.api.storage.VolumeDataFactory; -import org.apache.cloudstack.engine.subsystem.api.storage.VolumeInfo; - @RunWith(MockitoJUnitRunner.class) public class UserVmManagerImplTest { @@ -231,7 +226,7 @@ public class UserVmManagerImplTest { private EntityManager entityManager; @Mock - private UserVmDetailsDao userVmDetailsDao; + private VMInstanceDetailsDao vmInstanceDetailsDao; @Mock private UserVmVO userVmVoMock; @@ -524,7 +519,7 @@ public class UserVmManagerImplTest { verifyMethodsThatAreAlwaysExecuted(); Mockito.verify(userVmManagerImpl).updateDisplayVmFlag(false, vmId, userVmVoMock); - Mockito.verify(userVmDetailsDao, times(0)).removeDetail(anyLong(), anyString()); + Mockito.verify(vmInstanceDetailsDao, times(0)).removeDetail(anyLong(), anyString()); } @Test @@ -541,8 +536,8 @@ public class UserVmManagerImplTest { userVmManagerImpl.updateVirtualMachine(updateVmCommand); verifyMethodsThatAreAlwaysExecuted(); - Mockito.verify(userVmDetailsDao).removeDetail(vmId, "userdetail"); - Mockito.verify(userVmDetailsDao, times(0)).removeDetail(vmId, "systemdetail"); + Mockito.verify(vmInstanceDetailsDao).removeDetail(vmId, "userdetail"); + Mockito.verify(vmInstanceDetailsDao, times(0)).removeDetail(vmId, "systemdetail"); Mockito.verify(userVmManagerImpl, times(0)).updateDisplayVmFlag(false, vmId, userVmVoMock); } @@ -567,13 +562,13 @@ public class UserVmManagerImplTest { prepareAndExecuteMethodDealingWithDetails(false, false); } - private List prepareExistingDetails(Long vmId, String... existingDetailKeys) { - List existingDetails = new ArrayList<>(); + private List prepareExistingDetails(Long vmId, String... existingDetailKeys) { + List existingDetails = new ArrayList<>(); for (String detail : existingDetailKeys) { - existingDetails.add(new UserVmDetailVO(vmId, detail, "foo", true)); + existingDetails.add(new VMInstanceDetailVO(vmId, detail, "foo", true)); } - existingDetails.add(new UserVmDetailVO(vmId, "systemdetail", "bar", false)); - Mockito.when(userVmDetailsDao.listDetails(vmId)).thenReturn(existingDetails); + existingDetails.add(new VMInstanceDetailVO(vmId, "systemdetail", "bar", false)); + Mockito.when(vmInstanceDetailsDao.listDetails(vmId)).thenReturn(existingDetails); return existingDetails; } @@ -608,15 +603,15 @@ public class UserVmManagerImplTest { verifyMethodsThatAreAlwaysExecuted(); Mockito.verify(userVmVoMock, times(cleanUpDetails || isDetailsEmpty ? 0 : 1)).setDetails(details); - Mockito.verify(userVmDetailsDao, times(cleanUpDetails ? 1 : 0)).removeDetail(vmId, "existingdetail"); - Mockito.verify(userVmDetailsDao, times(0)).removeDetail(vmId, "systemdetail"); + Mockito.verify(vmInstanceDetailsDao, times(cleanUpDetails ? 1 : 0)).removeDetail(vmId, "existingdetail"); + Mockito.verify(vmInstanceDetailsDao, times(0)).removeDetail(vmId, "systemdetail"); Mockito.verify(userVmDao, times(cleanUpDetails || isDetailsEmpty ? 0 : 1)).saveDetails(userVmVoMock); Mockito.verify(userVmManagerImpl, times(0)).updateDisplayVmFlag(false, vmId, userVmVoMock); } private void configureDoNothingForDetailsMethod() { Mockito.lenient().doNothing().when(userVmManagerImpl).updateDisplayVmFlag(false, vmId, userVmVoMock); - Mockito.doNothing().when(userVmDetailsDao).removeDetail(anyLong(), anyString()); + Mockito.doNothing().when(vmInstanceDetailsDao).removeDetail(anyLong(), anyString()); Mockito.doNothing().when(userVmDao).saveDetails(userVmVoMock); } @@ -1724,9 +1719,9 @@ public class UserVmManagerImplTest { Mockito.when(diskOffering.getDiskSize()).thenReturn(8L * GiB_TO_BYTES); Map details = new HashMap<>(); details.put(VmDetailConstants.ROOT_DISK_SIZE, "16"); - UserVmDetailVO vmRootDiskSizeDetail = Mockito.mock(UserVmDetailVO.class); + VMInstanceDetailVO vmRootDiskSizeDetail = Mockito.mock(VMInstanceDetailVO.class); Mockito.when(vmRootDiskSizeDetail.getValue()).thenReturn("20"); - Mockito.when(userVmDetailsDao.findDetail(1L, VmDetailConstants.ROOT_DISK_SIZE)).thenReturn(vmRootDiskSizeDetail); + Mockito.when(vmInstanceDetailsDao.findDetail(1L, VmDetailConstants.ROOT_DISK_SIZE)).thenReturn(vmRootDiskSizeDetail); Long actualSize = userVmManagerImpl.getRootVolumeSizeForVmRestore(null, template, userVm, diskOffering, details, false); Assert.assertEquals(16 * GiB_TO_BYTES, actualSize.longValue()); } @@ -1739,9 +1734,9 @@ public class UserVmManagerImplTest { Mockito.when(userVm.getId()).thenReturn(1L); DiskOffering diskOffering = null; Map details = new HashMap<>(); - UserVmDetailVO vmRootDiskSizeDetail = Mockito.mock(UserVmDetailVO.class); + VMInstanceDetailVO vmRootDiskSizeDetail = Mockito.mock(VMInstanceDetailVO.class); Mockito.when(vmRootDiskSizeDetail.getValue()).thenReturn("20"); - Mockito.when(userVmDetailsDao.findDetail(1L, VmDetailConstants.ROOT_DISK_SIZE)).thenReturn(vmRootDiskSizeDetail); + Mockito.when(vmInstanceDetailsDao.findDetail(1L, VmDetailConstants.ROOT_DISK_SIZE)).thenReturn(vmRootDiskSizeDetail); Long actualSize = userVmManagerImpl.getRootVolumeSizeForVmRestore(null, template, userVm, diskOffering, details, false); Assert.assertEquals(20 * GiB_TO_BYTES, actualSize.longValue()); } @@ -3290,16 +3285,16 @@ public class UserVmManagerImplTest { when(userVm.getId()).thenReturn(vmId); when(userVm.getUuid()).thenReturn(UUID.randomUUID().toString()); userVmManagerImpl.addLeaseDetailsForInstance(userVm, 10, VMLeaseManager.ExpiryAction.STOP); - verify(userVmDetailsDao).addDetail(eq(vmId), eq(VmDetailConstants.INSTANCE_LEASE_EXPIRY_ACTION), eq(VMLeaseManager.ExpiryAction.STOP.name()), anyBoolean()); - verify(userVmDetailsDao).addDetail(eq(vmId), eq(VmDetailConstants.INSTANCE_LEASE_EXPIRY_DATE), eq(getLeaseExpiryDate(10L)), anyBoolean()); + verify(vmInstanceDetailsDao).addDetail(eq(vmId), eq(VmDetailConstants.INSTANCE_LEASE_EXPIRY_ACTION), eq(VMLeaseManager.ExpiryAction.STOP.name()), anyBoolean()); + verify(vmInstanceDetailsDao).addDetail(eq(vmId), eq(VmDetailConstants.INSTANCE_LEASE_EXPIRY_DATE), eq(getLeaseExpiryDate(10L)), anyBoolean()); } @Test public void testAddNullDurationLeaseDetailsForInstance() { UserVm userVm = mock(UserVm.class); userVmManagerImpl.addLeaseDetailsForInstance(userVm, null, VMLeaseManager.ExpiryAction.STOP); - Mockito.verify(userVmDetailsDao, Mockito.times(0)).removeDetail(vmId, VmDetailConstants.INSTANCE_LEASE_EXPIRY_ACTION); - Mockito.verify(userVmDetailsDao, Mockito.times(0)).removeDetail(vmId, VmDetailConstants.INSTANCE_LEASE_EXPIRY_DATE); + Mockito.verify(vmInstanceDetailsDao, Mockito.times(0)).removeDetail(vmId, VmDetailConstants.INSTANCE_LEASE_EXPIRY_ACTION); + Mockito.verify(vmInstanceDetailsDao, Mockito.times(0)).removeDetail(vmId, VmDetailConstants.INSTANCE_LEASE_EXPIRY_DATE); } @Test @@ -3346,7 +3341,7 @@ public class UserVmManagerImplTest { public void testApplyLeaseOnUpdateInstanceForNoLease() { UserVmVO userVm = Mockito.mock(UserVmVO.class); when(userVm.getId()).thenReturn(vmId); - when(userVmDetailsDao.listDetailsKeyPairs(anyLong(), anyList())).thenReturn(getLeaseDetails(5, VMLeaseManager.LeaseActionExecution.DISABLED.name())); + when(vmInstanceDetailsDao.listDetailsKeyPairs(anyLong(), anyList())).thenReturn(getLeaseDetails(5, VMLeaseManager.LeaseActionExecution.DISABLED.name())); userVmManagerImpl.applyLeaseOnUpdateInstance(userVm, 10, VMLeaseManager.ExpiryAction.STOP); Mockito.verify(userVmManagerImpl, Mockito.times(0)).addLeaseDetailsForInstance(any(), any(), any()); } @@ -3355,7 +3350,7 @@ public class UserVmManagerImplTest { public void testApplyLeaseOnUpdateInstanceForLease() { UserVmVO userVm = Mockito.mock(UserVmVO.class); when(userVm.getId()).thenReturn(vmId); - when(userVmDetailsDao.listDetailsKeyPairs(anyLong(), anyList())).thenReturn(getLeaseDetails(5, VMLeaseManager.LeaseActionExecution.PENDING.name())); + when(vmInstanceDetailsDao.listDetailsKeyPairs(anyLong(), anyList())).thenReturn(getLeaseDetails(5, VMLeaseManager.LeaseActionExecution.PENDING.name())); userVmManagerImpl.applyLeaseOnUpdateInstance(userVm, 10, VMLeaseManager.ExpiryAction.STOP); Mockito.verify(userVmManagerImpl, Mockito.times(1)).addLeaseDetailsForInstance(any(), any(), any()); } @@ -3364,7 +3359,7 @@ public class UserVmManagerImplTest { public void testApplyLeaseOnUpdateInstanceForDisabledLeaseInstance() { UserVmVO userVm = Mockito.mock(UserVmVO.class); when(userVm.getId()).thenReturn(vmId); - when(userVmDetailsDao.listDetailsKeyPairs(anyLong(), anyList())).thenReturn(getLeaseDetails(5, VMLeaseManager.LeaseActionExecution.DISABLED.name())); + when(vmInstanceDetailsDao.listDetailsKeyPairs(anyLong(), anyList())).thenReturn(getLeaseDetails(5, VMLeaseManager.LeaseActionExecution.DISABLED.name())); userVmManagerImpl.applyLeaseOnUpdateInstance(userVm, 10, VMLeaseManager.ExpiryAction.STOP); Mockito.verify(userVmManagerImpl, Mockito.times(1)).addLeaseDetailsForInstance(any(), any(), any()); } @@ -3372,7 +3367,7 @@ public class UserVmManagerImplTest { @Test(expected = CloudRuntimeException.class) public void testApplyLeaseOnUpdateInstanceForLeaseExpired() { UserVmVO userVm = Mockito.mock(UserVmVO.class); - when(userVmDetailsDao.listDetailsKeyPairs(anyLong(), anyList())).thenReturn(getLeaseDetails(-2, VMLeaseManager.LeaseActionExecution.PENDING.name())); + when(vmInstanceDetailsDao.listDetailsKeyPairs(anyLong(), anyList())).thenReturn(getLeaseDetails(-2, VMLeaseManager.LeaseActionExecution.PENDING.name())); userVmManagerImpl.applyLeaseOnUpdateInstance(userVm, 10, VMLeaseManager.ExpiryAction.STOP); Mockito.verify(userVmManagerImpl, Mockito.times(0)).addLeaseDetailsForInstance(any(), any(), any()); } @@ -3381,7 +3376,7 @@ public class UserVmManagerImplTest { public void testApplyLeaseOnUpdateInstanceToRemoveLease() { UserVmVO userVm = Mockito.mock(UserVmVO.class); when(userVm.getId()).thenReturn(vmId);; - when(userVmDetailsDao.listDetailsKeyPairs(anyLong(), anyList())).thenReturn(getLeaseDetails(2, VMLeaseManager.LeaseActionExecution.PENDING.name())); + when(vmInstanceDetailsDao.listDetailsKeyPairs(anyLong(), anyList())).thenReturn(getLeaseDetails(2, VMLeaseManager.LeaseActionExecution.PENDING.name())); try (MockedStatic ignored = Mockito.mockStatic(ActionEventUtils.class)) { Mockito.when(ActionEventUtils.onActionEvent(Mockito.anyLong(), Mockito.anyLong(), Mockito.anyLong(), @@ -3390,7 +3385,7 @@ public class UserVmManagerImplTest { userVmManagerImpl.applyLeaseOnUpdateInstance(userVm, -1, VMLeaseManager.ExpiryAction.STOP); } Mockito.verify(userVmManagerImpl, Mockito.times(0)).addLeaseDetailsForInstance(any(), any(), any()); - Mockito.verify(userVmDetailsDao, Mockito.times(1)). + Mockito.verify(vmInstanceDetailsDao, Mockito.times(1)). addDetail(vmId, VmDetailConstants.INSTANCE_LEASE_EXECUTION, VMLeaseManager.LeaseActionExecution.DISABLED.name(), false); } @@ -3398,11 +3393,11 @@ public class UserVmManagerImplTest { public void testApplyLeaseOnUpdateInstanceToRemoveLeaseForExpired() { UserVmVO userVm = Mockito.mock(UserVmVO.class); when(userVm.getId()).thenReturn(vmId); - when(userVmDetailsDao.listDetailsKeyPairs(anyLong(), anyList())).thenReturn(getLeaseDetails(-2, VMLeaseManager.LeaseActionExecution.PENDING.name())); + when(vmInstanceDetailsDao.listDetailsKeyPairs(anyLong(), anyList())).thenReturn(getLeaseDetails(-2, VMLeaseManager.LeaseActionExecution.PENDING.name())); userVmManagerImpl.applyLeaseOnUpdateInstance(userVm, -1, VMLeaseManager.ExpiryAction.STOP); Mockito.verify(userVmManagerImpl, Mockito.times(0)).addLeaseDetailsForInstance(any(), any(), any()); - Mockito.verify(userVmDetailsDao, Mockito.times(0)).removeDetail(vmId, VmDetailConstants.INSTANCE_LEASE_EXPIRY_ACTION); - Mockito.verify(userVmDetailsDao, Mockito.times(0)).removeDetail(vmId, VmDetailConstants.INSTANCE_LEASE_EXPIRY_DATE); + Mockito.verify(vmInstanceDetailsDao, Mockito.times(0)).removeDetail(vmId, VmDetailConstants.INSTANCE_LEASE_EXPIRY_ACTION); + Mockito.verify(vmInstanceDetailsDao, Mockito.times(0)).removeDetail(vmId, VmDetailConstants.INSTANCE_LEASE_EXPIRY_DATE); } String getLeaseExpiryDate(long leaseDuration) { diff --git a/server/src/test/java/com/cloud/vm/snapshot/VMSnapshotManagerTest.java b/server/src/test/java/com/cloud/vm/snapshot/VMSnapshotManagerTest.java index 06c917a1244..a0f09981a40 100644 --- a/server/src/test/java/com/cloud/vm/snapshot/VMSnapshotManagerTest.java +++ b/server/src/test/java/com/cloud/vm/snapshot/VMSnapshotManagerTest.java @@ -46,13 +46,13 @@ import com.cloud.user.dao.UserDao; import com.cloud.uservm.UserVm; import com.cloud.utils.exception.CloudRuntimeException; import com.cloud.utils.fsm.NoTransitionException; -import com.cloud.vm.UserVmDetailVO; +import com.cloud.vm.VMInstanceDetailVO; import com.cloud.vm.UserVmManager; import com.cloud.vm.UserVmVO; import com.cloud.vm.VirtualMachine.State; import com.cloud.vm.VirtualMachineManager; import com.cloud.vm.dao.UserVmDao; -import com.cloud.vm.dao.UserVmDetailsDao; +import com.cloud.vm.dao.VMInstanceDetailsDao; import com.cloud.vm.dao.VMInstanceDao; import com.cloud.vm.snapshot.dao.VMSnapshotDao; import com.cloud.vm.snapshot.dao.VMSnapshotDetailsDao; @@ -131,7 +131,7 @@ public class VMSnapshotManagerTest { @Mock ServiceOfferingDao _serviceOfferingDao; @Mock - UserVmDetailsDao _userVmDetailsDao; + VMInstanceDetailsDao _vmInstanceDetailsDao; @Mock VMSnapshotDetailsDao _vmSnapshotDetailsDao; @Mock @@ -141,7 +141,7 @@ public class VMSnapshotManagerTest { private static final long SERVICE_OFFERING_ID = 1L; private static final long SERVICE_OFFERING_DIFFERENT_ID = 2L; private static VMSnapshot.Type vmSnapshotType; - private static List userVmDetails; + private static List userVmDetails; private static List vmSnapshotDetails; private static final long VM_SNAPSHOT_ID = 1L; @@ -157,9 +157,9 @@ public class VMSnapshotManagerTest { @Mock ServiceOfferingVO serviceOffering; @Mock - UserVmDetailVO userVmDetailCpuNumber; + VMInstanceDetailVO userVmDetailCpuNumber; @Mock - UserVmDetailVO userVmDetailMemory; + VMInstanceDetailVO userVmDetailMemory; @Mock VMSnapshotDetailsVO vmSnapshotDetailCpuNumber; @Mock @@ -172,7 +172,7 @@ public class VMSnapshotManagerTest { @Captor ArgumentCaptor> mapDetailsCaptor; @Captor - ArgumentCaptor> listUserVmDetailsCaptor; + ArgumentCaptor> listUserVmDetailsCaptor; private AutoCloseable closeable; @@ -194,7 +194,7 @@ public class VMSnapshotManagerTest { doNothing().when(_accountMgr).checkAccess(any(Account.class), any(AccessType.class), any(Boolean.class), any(ControlledEntity.class)); _vmSnapshotMgr._serviceOfferingDao = _serviceOfferingDao; - _vmSnapshotMgr._userVmDetailsDao = _userVmDetailsDao; + _vmSnapshotMgr._vmInstanceDetailsDao = _vmInstanceDetailsDao; _vmSnapshotMgr._vmSnapshotDetailsDao = _vmSnapshotDetailsDao; _vmSnapshotMgr._userVmManager = _userVmManager; @@ -238,7 +238,7 @@ public class VMSnapshotManagerTest { userVmDetails = Arrays.asList(userVmDetailCpuNumber, userVmDetailMemory); vmSnapshotDetails = Arrays.asList(vmSnapshotDetailCpuNumber, vmSnapshotDetailMemory); - when(_userVmDetailsDao.listDetails(TEST_VM_ID)).thenReturn(userVmDetails); + when(_vmInstanceDetailsDao.listDetails(TEST_VM_ID)).thenReturn(userVmDetails); when(_vmSnapshotDetailsDao.listDetails(VM_SNAPSHOT_ID)).thenReturn(vmSnapshotDetails); when(userVm.getId()).thenReturn(TEST_VM_ID); @@ -327,7 +327,7 @@ public class VMSnapshotManagerTest { @Test public void testAddSupportForCustomServiceOfferingNotDynamicServiceOffering() { _vmSnapshotMgr.addSupportForCustomServiceOffering(TEST_VM_ID, SERVICE_OFFERING_ID, VM_SNAPSHOT_ID); - verify(_userVmDetailsDao, never()).listDetails(TEST_VM_ID); + verify(_vmInstanceDetailsDao, never()).listDetails(TEST_VM_ID); } @Test @@ -335,7 +335,7 @@ public class VMSnapshotManagerTest { when(serviceOffering.isDynamic()).thenReturn(true); _vmSnapshotMgr.addSupportForCustomServiceOffering(TEST_VM_ID, SERVICE_OFFERING_ID, VM_SNAPSHOT_ID); - verify(_userVmDetailsDao).listDetails(TEST_VM_ID); + verify(_vmInstanceDetailsDao).listDetails(TEST_VM_ID); verify(_vmSnapshotDetailsDao).saveDetails(listVmSnapshotDetailsCaptor.capture()); } @@ -405,7 +405,7 @@ public class VMSnapshotManagerTest { when(serviceOffering.isDynamic()).thenReturn(true); _vmSnapshotMgr.revertUserVmDetailsFromVmSnapshot(vmMock, vmSnapshotVO); verify(_vmSnapshotDetailsDao).listDetails(VM_SNAPSHOT_ID); - verify(_userVmDetailsDao).saveDetails(listUserVmDetailsCaptor.capture()); + verify(_vmInstanceDetailsDao).saveDetails(listUserVmDetailsCaptor.capture()); } } diff --git a/server/src/test/java/com/cloud/vpc/VpcTestConfiguration.java b/server/src/test/java/com/cloud/vpc/VpcTestConfiguration.java index 54bb0853478..22c0b47e154 100644 --- a/server/src/test/java/com/cloud/vpc/VpcTestConfiguration.java +++ b/server/src/test/java/com/cloud/vpc/VpcTestConfiguration.java @@ -82,7 +82,7 @@ import com.cloud.vm.dao.DomainRouterDaoImpl; import com.cloud.vm.dao.NicDaoImpl; import com.cloud.vm.dao.NicSecondaryIpDaoImpl; import com.cloud.vm.dao.UserVmDaoImpl; -import com.cloud.vm.dao.UserVmDetailsDaoImpl; +import com.cloud.vm.dao.VMInstanceDetailsDaoImpl; import com.cloud.vm.dao.VMInstanceDaoImpl; import com.cloud.vpc.dao.MockNetworkOfferingDaoImpl; import com.cloud.vpc.dao.MockNetworkOfferingServiceMapDaoImpl; @@ -113,7 +113,7 @@ import java.io.IOException; Site2SiteVpnGatewayDaoImpl.class, PodVlanMapDaoImpl.class, AccountVlanMapDaoImpl.class, DomainVlanMapDaoImpl.class, HostDaoImpl.class, HostDetailsDaoImpl.class, HostTagsDaoImpl.class, HostTransferMapDaoImpl.class, ClusterDaoImpl.class, HostPodDaoImpl.class, RouterNetworkDaoImpl.class, UserStatisticsDaoImpl.class, PhysicalNetworkTrafficTypeDaoImpl.class, FirewallRulesCidrsDaoImpl.class, ResourceLimitManagerImpl.class, - ResourceLimitDaoImpl.class, ResourceCountDaoImpl.class, DomainDaoImpl.class, UserVmDaoImpl.class, UserVmDetailsDaoImpl.class, NicDaoImpl.class, + ResourceLimitDaoImpl.class, ResourceCountDaoImpl.class, DomainDaoImpl.class, UserVmDaoImpl.class, VMInstanceDetailsDaoImpl.class, NicDaoImpl.class, SnapshotDaoImpl.class, VMInstanceDaoImpl.class, VolumeDaoImpl.class, UserIpv6AddressDaoImpl.class, NicSecondaryIpDaoImpl.class, VpcServiceMapDaoImpl.class, ServiceOfferingDaoImpl.class, MockVpcDaoImpl.class, VMTemplateDaoImpl.class, VMTemplateZoneDaoImpl.class, VMTemplateDetailsDaoImpl.class, DataCenterDaoImpl.class, DataCenterIpAddressDaoImpl.class, diff --git a/server/src/test/java/org/apache/cloudstack/consoleproxy/ConsoleAccessManagerImplTest.java b/server/src/test/java/org/apache/cloudstack/consoleproxy/ConsoleAccessManagerImplTest.java index df218f49bfd..748fe19893a 100644 --- a/server/src/test/java/org/apache/cloudstack/consoleproxy/ConsoleAccessManagerImplTest.java +++ b/server/src/test/java/org/apache/cloudstack/consoleproxy/ConsoleAccessManagerImplTest.java @@ -24,7 +24,7 @@ import com.cloud.user.AccountManager; import com.cloud.utils.db.EntityManager; import com.cloud.vm.VirtualMachine; import com.cloud.vm.VirtualMachineManager; -import com.cloud.vm.dao.UserVmDetailsDao; +import com.cloud.vm.dao.VMInstanceDetailsDao; import org.apache.cloudstack.acl.SecurityChecker; import org.apache.cloudstack.framework.security.keys.KeysManager; import org.junit.Assert; @@ -51,7 +51,7 @@ public class ConsoleAccessManagerImplTest { @Mock private EntityManager entityManager; @Mock - private UserVmDetailsDao userVmDetailsDao; + private VMInstanceDetailsDao vmInstanceDetailsDao; @Mock private KeysManager keysManager; @Mock diff --git a/server/src/test/java/org/apache/cloudstack/networkoffering/CreateNetworkOfferingTest.java b/server/src/test/java/org/apache/cloudstack/networkoffering/CreateNetworkOfferingTest.java index 403b14965b1..2a1a0237009 100644 --- a/server/src/test/java/org/apache/cloudstack/networkoffering/CreateNetworkOfferingTest.java +++ b/server/src/test/java/org/apache/cloudstack/networkoffering/CreateNetworkOfferingTest.java @@ -61,7 +61,7 @@ import com.cloud.offerings.dao.NetworkOfferingServiceMapDao; import com.cloud.user.AccountManager; import com.cloud.user.AccountVO; import com.cloud.user.UserVO; -import com.cloud.vm.dao.UserVmDetailsDao; +import com.cloud.vm.dao.VMInstanceDetailsDao; import junit.framework.TestCase; @@ -84,7 +84,7 @@ public class CreateNetworkOfferingTest extends TestCase { VpcManager vpcMgr; @Mock - UserVmDetailsDao userVmDetailsDao; + VMInstanceDetailsDao vmInstanceDetailsDao; @Mock UsageEventDao UsageEventDao; diff --git a/server/src/test/java/org/apache/cloudstack/resource/ResourceCleanupServiceImplTest.java b/server/src/test/java/org/apache/cloudstack/resource/ResourceCleanupServiceImplTest.java index 2ca9c0ef11b..d214f04ddb4 100644 --- a/server/src/test/java/org/apache/cloudstack/resource/ResourceCleanupServiceImplTest.java +++ b/server/src/test/java/org/apache/cloudstack/resource/ResourceCleanupServiceImplTest.java @@ -75,7 +75,7 @@ import com.cloud.vm.dao.NicDao; import com.cloud.vm.dao.NicDetailsDao; import com.cloud.vm.dao.NicExtraDhcpOptionDao; import com.cloud.vm.dao.NicSecondaryIpDao; -import com.cloud.vm.dao.UserVmDetailsDao; +import com.cloud.vm.dao.VMInstanceDetailsDao; import com.cloud.vm.dao.VMInstanceDao; import com.cloud.vm.snapshot.VMSnapshotVO; import com.cloud.vm.snapshot.dao.VMSnapshotDao; @@ -111,7 +111,7 @@ public class ResourceCleanupServiceImplTest { @Mock VMSnapshotDetailsDao vmSnapshotDetailsDao; @Mock - UserVmDetailsDao userVmDetailsDao; + VMInstanceDetailsDao vmInstanceDetailsDao; @Mock AutoScaleVmGroupVmMapDao autoScaleVmGroupVmMapDao; @Mock @@ -297,7 +297,7 @@ public class ResourceCleanupServiceImplTest { resourceCleanupService.purgeLinkedVMEntities(new ArrayList<>(), 50L); Mockito.verify(resourceCleanupService, Mockito.never()).purgeVMVolumes(Mockito.anyList(), Mockito.anyLong()); - Mockito.verify(userVmDetailsDao, Mockito.never()) + Mockito.verify(vmInstanceDetailsDao, Mockito.never()) .batchExpungeForResources(Mockito.anyList(), Mockito.anyLong()); } @@ -307,7 +307,7 @@ public class ResourceCleanupServiceImplTest { Mockito.eq(batchSize)); Mockito.doReturn(2L).when(resourceCleanupService).purgeVMNics(Mockito.anyList(), Mockito.eq(batchSize)); - Mockito.when(userVmDetailsDao.batchExpungeForResources(Mockito.anyList(), Mockito.anyLong())).thenReturn(2L); + Mockito.when(vmInstanceDetailsDao.batchExpungeForResources(Mockito.anyList(), Mockito.anyLong())).thenReturn(2L); Mockito.doReturn(2L).when(resourceCleanupService).purgeVMSnapshots(Mockito.anyList(), Mockito.eq(batchSize)); Mockito.when(autoScaleVmGroupVmMapDao.expungeByVmList(Mockito.anyList(), Mockito.anyLong())).thenReturn(2); @@ -327,7 +327,7 @@ public class ResourceCleanupServiceImplTest { Mockito.verify(resourceCleanupService, Mockito.times(1)).purgeVMVolumes(ids, batchSize); Mockito.verify(resourceCleanupService, Mockito.times(1)).purgeVMNics(ids, batchSize); - Mockito.verify(userVmDetailsDao, Mockito.times(1)) + Mockito.verify(vmInstanceDetailsDao, Mockito.times(1)) .batchExpungeForResources(ids, batchSize); Mockito.verify(resourceCleanupService, Mockito.times(1)) .purgeVMSnapshots(ids, batchSize); diff --git a/server/src/test/java/org/apache/cloudstack/vm/lease/VMLeaseManagerImplTest.java b/server/src/test/java/org/apache/cloudstack/vm/lease/VMLeaseManagerImplTest.java index c93223755b5..c700394b31d 100644 --- a/server/src/test/java/org/apache/cloudstack/vm/lease/VMLeaseManagerImplTest.java +++ b/server/src/test/java/org/apache/cloudstack/vm/lease/VMLeaseManagerImplTest.java @@ -18,16 +18,31 @@ package org.apache.cloudstack.vm.lease; -import com.cloud.api.query.dao.UserVmJoinDao; -import com.cloud.api.query.vo.UserVmJoinVO; -import com.cloud.event.ActionEventUtils; -import com.cloud.user.User; -import com.cloud.utils.component.ComponentContext; -import com.cloud.utils.db.GlobalLock; -import com.cloud.utils.exception.CloudRuntimeException; -import com.cloud.vm.VirtualMachine; -import com.cloud.vm.VmDetailConstants; -import com.cloud.vm.dao.UserVmDetailsDao; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertNull; +import static org.junit.Assert.assertTrue; +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.ArgumentMatchers.anyBoolean; +import static org.mockito.ArgumentMatchers.anyLong; +import static org.mockito.ArgumentMatchers.anyString; +import static org.mockito.ArgumentMatchers.eq; +import static org.mockito.Mockito.doNothing; +import static org.mockito.Mockito.doReturn; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.never; +import static org.mockito.Mockito.verify; +import static org.mockito.Mockito.when; + +import java.lang.reflect.Field; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.UUID; + +import javax.naming.ConfigurationException; + import org.apache.cloudstack.api.command.user.vm.DestroyVMCmd; import org.apache.cloudstack.api.command.user.vm.StopVMCmd; import org.apache.cloudstack.framework.config.ConfigKey; @@ -47,29 +62,16 @@ import org.mockito.Spy; import org.mockito.junit.MockitoJUnitRunner; import org.springframework.context.ApplicationContext; -import javax.naming.ConfigurationException; -import java.lang.reflect.Field; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.HashMap; -import java.util.List; -import java.util.UUID; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertNull; -import static org.junit.Assert.assertTrue; -import static org.mockito.ArgumentMatchers.any; -import static org.mockito.ArgumentMatchers.anyBoolean; -import static org.mockito.ArgumentMatchers.anyLong; -import static org.mockito.ArgumentMatchers.anyString; -import static org.mockito.ArgumentMatchers.eq; -import static org.mockito.Mockito.doNothing; -import static org.mockito.Mockito.doReturn; -import static org.mockito.Mockito.mock; -import static org.mockito.Mockito.never; -import static org.mockito.Mockito.verify; -import static org.mockito.Mockito.when; +import com.cloud.api.query.dao.UserVmJoinDao; +import com.cloud.api.query.vo.UserVmJoinVO; +import com.cloud.event.ActionEventUtils; +import com.cloud.user.User; +import com.cloud.utils.component.ComponentContext; +import com.cloud.utils.db.GlobalLock; +import com.cloud.utils.exception.CloudRuntimeException; +import com.cloud.vm.VirtualMachine; +import com.cloud.vm.VmDetailConstants; +import com.cloud.vm.dao.VMInstanceDetailsDao; @RunWith(MockitoJUnitRunner.class) public class VMLeaseManagerImplTest { @@ -88,7 +90,7 @@ public class VMLeaseManagerImplTest { MessageBus messageBus; @Mock - private UserVmDetailsDao userVmDetailsDao; + private VMInstanceDetailsDao vmInstanceDetailsDao; @Mock private AsyncJobManager asyncJobManager; @@ -104,7 +106,7 @@ public class VMLeaseManagerImplTest { vmLeaseManager.setAsyncJobDispatcher(asyncJobDispatcher); when(asyncJobDispatcher.getName()).thenReturn("AsyncJobDispatcher"); when(asyncJobManager.submitAsyncJob(any(AsyncJobVO.class))).thenReturn(1L); - doNothing().when(userVmDetailsDao).addDetail( + doNothing().when(vmInstanceDetailsDao).addDetail( anyLong(), anyString(), anyString(), anyBoolean() ); try { @@ -275,7 +277,7 @@ public class VMLeaseManagerImplTest { utilities.when(() -> ActionEventUtils.onStartedActionEvent(Mockito.anyLong(), Mockito.anyLong(), Mockito.anyString(), Mockito.anyString(), Mockito.anyLong(), Mockito.anyString(), Mockito.anyBoolean(), Mockito.anyLong())).thenReturn(1L); vmLeaseManager.cancelLeaseOnExistingInstances(); - verify(userVmDetailsDao).addDetail(1L, VmDetailConstants.INSTANCE_LEASE_EXECUTION, VMLeaseManager.LeaseActionExecution.CANCELLED.name(), false); + verify(vmInstanceDetailsDao).addDetail(1L, VmDetailConstants.INSTANCE_LEASE_EXECUTION, VMLeaseManager.LeaseActionExecution.CANCELLED.name(), false); } } diff --git a/server/src/test/resources/createNetworkOffering.xml b/server/src/test/resources/createNetworkOffering.xml index e62c4c0660f..5a0a51516af 100644 --- a/server/src/test/resources/createNetworkOffering.xml +++ b/server/src/test/resources/createNetworkOffering.xml @@ -50,7 +50,7 @@ - + diff --git a/services/secondary-storage/controller/src/main/java/org/apache/cloudstack/secondarystorage/SecondaryStorageManagerImpl.java b/services/secondary-storage/controller/src/main/java/org/apache/cloudstack/secondarystorage/SecondaryStorageManagerImpl.java index 3ac24d3985a..836cb62adea 100644 --- a/services/secondary-storage/controller/src/main/java/org/apache/cloudstack/secondarystorage/SecondaryStorageManagerImpl.java +++ b/services/secondary-storage/controller/src/main/java/org/apache/cloudstack/secondarystorage/SecondaryStorageManagerImpl.java @@ -157,7 +157,7 @@ import com.cloud.vm.VirtualMachineManager; import com.cloud.vm.VirtualMachineName; import com.cloud.vm.VirtualMachineProfile; import com.cloud.vm.dao.SecondaryStorageVmDao; -import com.cloud.vm.dao.UserVmDetailsDao; +import com.cloud.vm.dao.VMInstanceDetailsDao; import com.cloud.vm.dao.VMInstanceDao; /** @@ -223,7 +223,7 @@ public class SecondaryStorageManagerImpl extends ManagerBase implements Secondar @Inject protected CapacityDao _capacityDao; @Inject - UserVmDetailsDao _vmDetailsDao; + VMInstanceDetailsDao _vmDetailsDao; @Inject protected ResourceManager _resourceMgr; @Inject