package org.zstack.test.compute.vm; import org.zstack.header.errorcode.ErrorCode; import org.zstack.header.vm.VmInstanceInventory; import org.zstack.header.vm.VmInstanceRebootExtensionPoint; import org.zstack.utils.Utils; import org.zstack.utils.logging.CLogger; public class VmRebootExtesnion implements VmInstanceRebootExtensionPoint { CLogger logger = Utils.getLogger(VmRebootExtesnion.class); boolean preventReboot = false; boolean beforeCalled = false; boolean afterCalled = false; boolean failedCalled = false; String expectedUuid; @Override public String preRebootVm(VmInstanceInventory inv) { if (preventReboot) { return "Prevent rebooting vm on purpose"; } return null; } @Override public void beforeRebootVm(VmInstanceInventory inv) { if (inv.getUuid().equals(expectedUuid)) { beforeCalled = true; } else { logger.debug(String.format("Expected uuid: %s but got %s", expectedUuid, inv.getUuid())); } } @Override public void afterRebootVm(VmInstanceInventory inv) { if (inv.getUuid().equals(expectedUuid)) { afterCalled = true; } else { logger.debug(String.format("Expected uuid: %s but got %s", expectedUuid, inv.getUuid())); } } @Override public void failedToRebootVm(VmInstanceInventory inv, ErrorCode reason) { if (inv.getUuid().equals(expectedUuid)) { failedCalled = true; } else { logger.debug(String.format("Expected uuid: %s but got %s", expectedUuid, inv.getUuid())); } } public boolean isPreventReboot() { return preventReboot; } public void setPreventReboot(boolean preventReboot) { this.preventReboot = preventReboot; } public boolean isBeforeCalled() { return beforeCalled; } public void setBeforeCalled(boolean beforeCalled) { this.beforeCalled = beforeCalled; } public boolean isAfterCalled() { return afterCalled; } public void setAfterCalled(boolean afterCalled) { this.afterCalled = afterCalled; } public boolean isFailedCalled() { return failedCalled; } public void setFailedCalled(boolean failedCalled) { this.failedCalled = failedCalled; } public String getExpectedUuid() { return expectedUuid; } public void setExpectedUuid(String expectedUuid) { this.expectedUuid = expectedUuid; } }