You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by da...@apache.org on 2024/05/22 09:02:21 UTC
(cloudstack) branch 4.19 updated: server,test: fix resourceid for VOLUME.DETROY in restore VM (#9032)
This is an automated email from the ASF dual-hosted git repository.
dahn pushed a commit to branch 4.19
in repository https://gitbox.apache.org/repos/asf/cloudstack.git
The following commit(s) were added to refs/heads/4.19 by this push:
new 33659fdf069 server,test: fix resourceid for VOLUME.DETROY in restore VM (#9032)
33659fdf069 is described below
commit 33659fdf06911f6427ea3b81cb0d377e47d3b973
Author: Abhishek Kumar <ab...@gmail.com>
AuthorDate: Wed May 22 14:32:14 2024 +0530
server,test: fix resourceid for VOLUME.DETROY in restore VM (#9032)
Signed-off-by: Abhishek Kumar <ab...@gmail.com>
---
server/src/main/java/com/cloud/vm/UserVmManagerImpl.java | 2 +-
test/integration/smoke/test_events_resource.py | 15 +++++++++++++--
2 files changed, 14 insertions(+), 3 deletions(-)
diff --git a/server/src/main/java/com/cloud/vm/UserVmManagerImpl.java b/server/src/main/java/com/cloud/vm/UserVmManagerImpl.java
index 4283b44e171..3c172051463 100644
--- a/server/src/main/java/com/cloud/vm/UserVmManagerImpl.java
+++ b/server/src/main/java/com/cloud/vm/UserVmManagerImpl.java
@@ -7909,7 +7909,7 @@ public class UserVmManagerImpl extends ManagerBase implements UserVmManager, Vir
// Detach, destroy and create the usage event for the old root volume.
_volsDao.detachVolume(root.getId());
- _volumeService.destroyVolume(root.getId(), caller, Volume.State.Allocated.equals(root.getState()) || expunge, false);
+ destroyVolumeInContext(vm, Volume.State.Allocated.equals(root.getState()) || expunge, root);
// For VMware hypervisor since the old root volume is replaced by the new root volume, force expunge old root volume if it has been created in storage
if (vm.getHypervisorType() == HypervisorType.VMware) {
diff --git a/test/integration/smoke/test_events_resource.py b/test/integration/smoke/test_events_resource.py
index 660cbd37bce..79443110950 100644
--- a/test/integration/smoke/test_events_resource.py
+++ b/test/integration/smoke/test_events_resource.py
@@ -116,6 +116,7 @@ class TestEventsResource(cloudstackTestCase):
self.services["domain"],
parentdomainid=self.domain.id
)
+ self.cleanup.append(domain1)
self.services["domainid"] = domain1.id
account = Account.create(
@@ -123,6 +124,7 @@ class TestEventsResource(cloudstackTestCase):
self.services["account"],
domainid=domain1.id
)
+ self.cleanup.append(account)
account_network = Network.create(
self.apiclient,
@@ -130,6 +132,7 @@ class TestEventsResource(cloudstackTestCase):
account.name,
account.domainid
)
+ self.cleanup.append(account_network)
virtual_machine = VirtualMachine.create(
self.apiclient,
self.services,
@@ -138,6 +141,7 @@ class TestEventsResource(cloudstackTestCase):
networkids=account_network.id,
serviceofferingid=self.service_offering.id
)
+ self.cleanup.append(virtual_machine)
volume = Volume.create(
self.apiclient,
self.services,
@@ -146,6 +150,7 @@ class TestEventsResource(cloudstackTestCase):
domainid=account.domainid,
diskofferingid=self.disk_offering.id
)
+ self.cleanup.append(volume)
virtual_machine.attach_volume(
self.apiclient,
volume
@@ -157,15 +162,20 @@ class TestEventsResource(cloudstackTestCase):
time.sleep(self.services["sleep"])
virtual_machine.detach_volume(self.apiclient, volume)
volume.delete(self.apiclient)
+ self.cleanup.remove(volume)
ts = str(time.time())
virtual_machine.update(self.apiclient, displayname=ts)
virtual_machine.delete(self.apiclient)
+ self.cleanup.remove(virtual_machine)
account_network.update(self.apiclient, name=account_network.name + ts)
account_network.delete(self.apiclient)
+ self.cleanup.remove(account_network)
account.update(self.apiclient, newname=account.name + ts)
account.disable(self.apiclient)
account.delete(self.apiclient)
+ self.cleanup.remove(account)
domain1.delete(self.apiclient)
+ self.cleanup.remove(domain1)
cmd = listEvents.listEventsCmd()
cmd.startdate = start_time
@@ -185,8 +195,9 @@ class TestEventsResource(cloudstackTestCase):
for event in events:
if event.type.startswith("VM.") or (event.type.startswith("NETWORK.") and not event.type.startswith("NETWORK.ELEMENT")) or event.type.startswith("VOLUME.") or event.type.startswith("ACCOUNT.") or event.type.startswith("DOMAIN.") or event.type.startswith("TEMPLATE."):
if event.resourceid is None or event.resourcetype is None:
- self.debug("Failed event:: %s" % json.dumps(event, indent=2))
- self.fail("resourceid or resourcetype for the event not found!")
+ event_json = json.dumps(event.__dict__, indent=2)
+ self.debug("Failed event:: %s" % event_json)
+ self.fail("resourceid or resourcetype not found for the event: %s" % event_json)
else:
self.debug("Event %s at %s:: Resource Type: %s, Resource ID: %s" % (event.type, event.created, event.resourcetype, event.resourceid))