This is an automated email from the ASF dual-hosted git repository.
sureshanaparti pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/cloudstack.git
The following commit(s) were added to refs/heads/main by this push:
new 407072ffd43 schema,framework/db,server: fix user_vm_details usage
(#11292)
407072ffd43 is described below
commit 407072ffd43ab8838bbf8cf11ae99627849338de
Author: Abhishek Kumar <[email protected]>
AuthorDate: Sat Jul 26 12:24:05 2025 +0530
schema,framework/db,server: fix user_vm_details usage (#11292)
* schema,framework/db,server: fix user_vm_details usage
Continuation of #10736
* python files
Signed-off-by: Abhishek Kumar <[email protected]>
---
.../src/main/java/com/cloud/capacity/dao/CapacityDaoImpl.java | 6 +++---
.../java/com/cloud/configuration/dao/ResourceCountDaoImpl.java | 2 +-
.../schema/src/main/java/com/cloud/vm/dao/UserVmDaoImpl.java | 6 +++---
.../java/com/cloud/utils/crypt/EncryptionSecretKeyChanger.java | 2 +-
.../com/cloud/hypervisor/vmware/resource/VmwareResource.java | 2 +-
server/src/main/java/com/cloud/vm/UserVmManagerImpl.java | 10 +++++-----
test/integration/component/test_rootvolume_resize.py | 2 +-
test/integration/component/test_update_vm.py | 4 ++--
test/integration/smoke/test_deploy_vgpu_enabled_vm.py | 2 +-
9 files changed, 18 insertions(+), 18 deletions(-)
diff --git
a/engine/schema/src/main/java/com/cloud/capacity/dao/CapacityDaoImpl.java
b/engine/schema/src/main/java/com/cloud/capacity/dao/CapacityDaoImpl.java
index d54d1632bd0..91949bded50 100644
--- a/engine/schema/src/main/java/com/cloud/capacity/dao/CapacityDaoImpl.java
+++ b/engine/schema/src/main/java/com/cloud/capacity/dao/CapacityDaoImpl.java
@@ -204,9 +204,9 @@ public class CapacityDaoImpl extends
GenericDaoBase<CapacityVO, Long> implements
"(CASE WHEN ISNULL(service_offering.speed) THEN
custom_speed.value ELSE service_offering.speed end) AS speed, " +
"(CASE WHEN ISNULL(service_offering.ram_size) THEN
custom_ram_size.value ELSE service_offering.ram_size end) AS ram_size " +
"FROM vm_instance vi LEFT JOIN service_offering
ON(((vi.service_offering_id = service_offering.id))) " +
- "LEFT JOIN user_vm_details custom_cpu ON(((custom_cpu.vm_id =
vi.id) AND (custom_cpu.name = 'CpuNumber'))) " +
- "LEFT JOIN user_vm_details custom_speed
ON(((custom_speed.vm_id = vi.id) AND (custom_speed.name = 'CpuSpeed'))) " +
- "LEFT JOIN user_vm_details custom_ram_size
ON(((custom_ram_size.vm_id = vi.id) AND (custom_ram_size.name = 'memory'))) ";
+ "LEFT JOIN vm_instance_details custom_cpu
ON(((custom_cpu.vm_id = vi.id) AND (custom_cpu.name = 'CpuNumber'))) " +
+ "LEFT JOIN vm_instance_details custom_speed
ON(((custom_speed.vm_id = vi.id) AND (custom_speed.name = 'CpuSpeed'))) " +
+ "LEFT JOIN vm_instance_details custom_ram_size
ON(((custom_ram_size.vm_id = vi.id) AND (custom_ram_size.name = 'memory'))) ";
private static final String WHERE_STATE_IS_NOT_DESTRUCTIVE =
"WHERE ISNULL(vi.removed) AND vi.state NOT IN ('Destroyed',
'Error', 'Expunging')";
diff --git
a/engine/schema/src/main/java/com/cloud/configuration/dao/ResourceCountDaoImpl.java
b/engine/schema/src/main/java/com/cloud/configuration/dao/ResourceCountDaoImpl.java
index 65d7fed2d1a..0ab83442337 100644
---
a/engine/schema/src/main/java/com/cloud/configuration/dao/ResourceCountDaoImpl.java
+++
b/engine/schema/src/main/java/com/cloud/configuration/dao/ResourceCountDaoImpl.java
@@ -336,7 +336,7 @@ public class ResourceCountDaoImpl extends
GenericDaoBase<ResourceCountVO, Long>
+ " END)) as total "
+ " from vm_instance vm "
+ " join service_offering so on so.id = vm.service_offering_id "
- + " left join user_vm_details vmd on vmd.vm_id = vm.id and
vmd.name = '%s' "
+ + " left join vm_instance_details vmd on vmd.vm_id = vm.id and
vmd.name = '%s' "
+ " where vm.type = 'User' and state not in ('Destroyed', 'Error',
'Expunging') and display_vm = true and account_id = ? ";
@Override
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 7d7c8de06d6..fc0322c25e7 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
@@ -124,8 +124,8 @@ public class UserVmDaoImpl extends GenericDaoBase<UserVmVO,
Long> implements Use
+ "left join security_group on
security_group_vm_map.security_group_id=security_group.id " + "left join nics
on vm_instance.id=nics.instance_id "
+ "left join networks on nics.network_id=networks.id " + "left
join user_ip_address on user_ip_address.vm_id=vm_instance.id " + "where
vm_instance.id in (";
- private static final String VMS_DETAIL_BY_NAME = "select
vm_instance.instance_name, vm_instance.vm_type, vm_instance.id ,
user_vm_details.value, user_vm_details.name from vm_instance "
- + "left join user_vm_details on vm_instance.id =
user_vm_details.vm_id where (user_vm_details.name is null or
user_vm_details.name = ? ) and vm_instance.instance_name in (";
+ private static final String VMS_DETAIL_BY_NAME = "select
vm_instance.instance_name, vm_instance.vm_type, vm_instance.id ,
vm_instance_details.value, vm_instance_details.name from vm_instance "
+ + "left join vm_instance_details on vm_instance.id =
vm_instance_details.vm_id where (vm_instance_details.name is null or
vm_instance_details.name = ? ) and vm_instance.instance_name in (";
private static final int VM_DETAILS_BATCH_SIZE = 100;
@@ -755,7 +755,7 @@ public class UserVmDaoImpl extends GenericDaoBase<UserVmVO,
Long> implements Use
while (rs.next()) {
vmsDetailByNames.add(new Pair<Pair<String,
VirtualMachine.Type>, Pair<Long, String>>(new Pair<String, VirtualMachine.Type>(
rs.getString("vm_instance.instance_name"),
VirtualMachine.Type.valueOf(rs.getString("vm_type"))),
- new Pair<Long,
String>(rs.getLong("vm_instance.id"), rs.getString("user_vm_details.value"))));
+ new Pair<Long,
String>(rs.getLong("vm_instance.id"),
rs.getString("vm_instance_details.value"))));
}
}
} catch (SQLException e) {
diff --git
a/framework/db/src/main/java/com/cloud/utils/crypt/EncryptionSecretKeyChanger.java
b/framework/db/src/main/java/com/cloud/utils/crypt/EncryptionSecretKeyChanger.java
index e96b0a00894..a3e3cce237d 100644
---
a/framework/db/src/main/java/com/cloud/utils/crypt/EncryptionSecretKeyChanger.java
+++
b/framework/db/src/main/java/com/cloud/utils/crypt/EncryptionSecretKeyChanger.java
@@ -632,7 +632,7 @@ public class EncryptionSecretKeyChanger {
private void migrateUserVmDetails(Connection conn) {
System.out.println("Begin migrate user vm details");
- migrateDetails(conn, "user_vm_details", PASSWORD);
+ migrateDetails(conn, "vm_instance_details", PASSWORD);
System.out.println("End migrate user vm details");
}
diff --git
a/plugins/hypervisors/vmware/src/main/java/com/cloud/hypervisor/vmware/resource/VmwareResource.java
b/plugins/hypervisors/vmware/src/main/java/com/cloud/hypervisor/vmware/resource/VmwareResource.java
index 478ccf1d2af..aecfb58d708 100644
---
a/plugins/hypervisors/vmware/src/main/java/com/cloud/hypervisor/vmware/resource/VmwareResource.java
+++
b/plugins/hypervisors/vmware/src/main/java/com/cloud/hypervisor/vmware/resource/VmwareResource.java
@@ -3203,7 +3203,7 @@ public class VmwareResource extends ServerResourceBase
implements StoragePoolRes
}
/**
- * Modifies vm vram size if it was set to a different size to the one
provided in svga.vramSize (user_vm_details or template_vm_details) on {@code
vmConfigSpec}
+ * Modifies vm vram size if it was set to a different size to the one
provided in svga.vramSize (vm_instance_details or template_vm_details) on
{@code vmConfigSpec}
*
* @param videoCard vm's video card device
* @param vmMo virtual machine mo
diff --git a/server/src/main/java/com/cloud/vm/UserVmManagerImpl.java
b/server/src/main/java/com/cloud/vm/UserVmManagerImpl.java
index c3f7f53c224..14757bfb30f 100644
--- a/server/src/main/java/com/cloud/vm/UserVmManagerImpl.java
+++ b/server/src/main/java/com/cloud/vm/UserVmManagerImpl.java
@@ -6324,7 +6324,7 @@ public class UserVmManagerImpl extends ManagerBase
implements UserVmManager, Vir
}
}
- // Add extraConfig to user_vm_details table
+ // Add extraConfig to vm_instance_details table
String extraConfig = cmd.getExtraConfig();
if (StringUtils.isNotBlank(extraConfig)) {
if (EnableAdditionalVmConfig.valueIn(callerId)) {
@@ -6482,7 +6482,7 @@ public class UserVmManagerImpl extends ManagerBase
implements UserVmManager, Vir
}
/**
- * Persist extra configuration data in the user_vm_details table as
key/value pair
+ * Persist extra configuration data in the vm_instance_details table as
key/value pair
* @param decodedUrl String consisting of the extra config data to
appended onto the vmx file for VMware instances
*/
protected void persistExtraConfigVmware(String decodedUrl, UserVm vm) {
@@ -6506,7 +6506,7 @@ public class UserVmManagerImpl extends ManagerBase
implements UserVmManager, Vir
}
/**
- * Used to persist extra configuration settings in user_vm_details table
for the XenServer hypervisor
+ * Used to persist extra configuration settings in vm_instance_details
table for the XenServer hypervisor
* persists config as key/value pair e.g key = extraconfig-1 ,
value="PV-bootloader=pygrub" and so on to extraconfig-N where
* N denotes the number of extra configuration settings passed by user
*
@@ -6587,9 +6587,9 @@ public class UserVmManagerImpl extends ManagerBase
implements UserVmManager, Vir
/**
* Persist extra configuration data on KVM
- * persisted in the user_vm_details DB as extraconfig-1, and so on
depending on the number of configurations
+ * persisted in the vm_instance_details DB as extraconfig-1, and so on
depending on the number of configurations
* For KVM, extra config is passed as XML
- * @param decodedUrl string containing xml configuration to be persisted
into user_vm_details table
+ * @param decodedUrl string containing xml configuration to be persisted
into vm_instance_details table
* @param vm
*/
protected void persistExtraConfigKvm(String decodedUrl, UserVm vm) {
diff --git a/test/integration/component/test_rootvolume_resize.py
b/test/integration/component/test_rootvolume_resize.py
index fa2d4a018cd..971b82d0f1c 100644
--- a/test/integration/component/test_rootvolume_resize.py
+++ b/test/integration/component/test_rootvolume_resize.py
@@ -308,7 +308,7 @@ class TestResizeVolume(cloudstackTestCase):
vmid = int(qresultvmuuid[0][0])
qresult = self.dbclient.execute(
"select rootDiskController from"
- " user_vm_details where id = '%s';" % vmid
+ " vm_instance_details where id = '%s';" % vmid
)
self.debug("Query result: %s" % qresult)
diskcontroller = qresult[0][0]
diff --git a/test/integration/component/test_update_vm.py
b/test/integration/component/test_update_vm.py
index 4d167c63330..9629faf0cac 100644
--- a/test/integration/component/test_update_vm.py
+++ b/test/integration/component/test_update_vm.py
@@ -186,7 +186,7 @@ class TestUpdateVirtualMachine(cloudstackTestCase):
vm_db_id = dbresult[0][0]
self.debug("VM has database id %d" % vm_db_id)
- self.dbclient.execute("insert into user_vm_details (vm_id, name,
value, display) values (%d,'%s','HOST', 0)" % (vm_db_id, hidden_detail_name))
+ self.dbclient.execute("insert into vm_instance_details (vm_id, name,
value, display) values (%d,'%s','HOST', 0)" % (vm_db_id, hidden_detail_name))
vm = self.listVmById(self.virtual_machine.id)
self.debug("VirtualMachine fetched with details: %s of type %s" %
(vm.details, type(vm.details)))
@@ -227,7 +227,7 @@ class TestUpdateVirtualMachine(cloudstackTestCase):
def detailInDatabase(self, vm_id, detail_name):
- dbresult = self.dbclient.execute("select id from user_vm_details where
vm_id=%s and name='%s'" % (vm_id, detail_name))
+ dbresult = self.dbclient.execute("select id from vm_instance_details
where vm_id=%s and name='%s'" % (vm_id, detail_name))
self.debug("Detail %s for VM %s: %s" % (detail_name, vm_id, dbresult))
if validateList(dbresult)[0] == PASS:
return True
diff --git a/test/integration/smoke/test_deploy_vgpu_enabled_vm.py
b/test/integration/smoke/test_deploy_vgpu_enabled_vm.py
index 7ed4c8a08ca..2808a3ce06e 100644
--- a/test/integration/smoke/test_deploy_vgpu_enabled_vm.py
+++ b/test/integration/smoke/test_deploy_vgpu_enabled_vm.py
@@ -319,7 +319,7 @@ class TestDeployvGPUenabledVM(cloudstackTestCase):
qresultset = self.dbclient.execute("select id from vm_instance where
uuid = '%s';" % self.virtual_machine.id)
vm_id = qresultset[0]
- qresultset = self.dbclient.execute("select name, value from
user_vm_details where vm_id = '%d';" % vm_id)
+ qresultset = self.dbclient.execute("select name, value from
vm_instance_details where vm_id = '%d';" % vm_id)
detailKeys = [x[0] for x in qresultset]
self.assertTrue('mks.enable3d' in detailKeys and 'mks.use3dRenderer'
in detailKeys and 'svga.autodetect' in detailKeys and 'svga.vramSize' in
detailKeys, "VM details do not contain 3D GPU details")