DaanHoogland commented on a change in pull request #4525:
URL: https://github.com/apache/cloudstack/pull/4525#discussion_r539289190
##########
File path:
plugins/hypervisors/xenserver/src/main/java/com/cloud/hypervisor/xenserver/resource/CitrixResourceBase.java
##########
@@ -1489,27 +1489,31 @@ protected String deleteSnapshotBackup(final Connection
conn, final Long dcId, fi
return result;
}
- public void destroyPatchVbd(final Connection conn, final String vmName)
throws XmlRpcException, XenAPIException {
+ public void ejectPatchVbd(final Connection conn, final Host host) {
+ try {
+ final Set<VM> vms = host.getResidentVMs(conn);
+ for (final VM vm : vms) {
+ destroyPatchVbd(conn, vm);
+ }
+ } catch (XenAPIException | XmlRpcException ignored) {}
+ }
+
+ public void destroyPatchVbd(final Connection conn, final VM vm) throws
XmlRpcException, XenAPIException {
+ final String vmName = vm.getNameLabel(conn);
try {
if (!vmName.startsWith("r-") && !vmName.startsWith("s-") &&
!vmName.startsWith("v-")) {
return;
}
- final Set<VM> vms = VM.getByNameLabel(conn, vmName);
- for (final VM vm : vms) {
- final Set<VBD> vbds = vm.getVBDs(conn);
- for (final VBD vbd : vbds) {
- if (vbd.getType(conn) == Types.VbdType.CD) {
- if (!vbd.getEmpty(conn)) {
- vbd.eject(conn);
- }
- vbd.unplug(conn);
- vbd.destroy(conn);
- break;
- }
+ final Set<VBD> vbds = vm.getVBDs(conn);
+ for (final VBD vbd : vbds) {
+ if (Types.VbdType.CD.equals(vbd.getType(conn))) {
+ vbd.eject(conn);
+ vbd.destroy(conn);
+ break;
}
}
} catch (final Exception e) {
- s_logger.debug("Cannot destory CD-ROM device for VM " + vmName + "
due to " + e.toString(), e);
+ s_logger.debug("Cannot destroy CD-ROM device for VM " + vmName + "
due to " + e.toString(), e);
Review comment:
is thsi a bedug message or maybe error or warn?
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]