diff --git a/XenAdmin/Diagnostics/Checks/HostMaintenanceModeCheck.cs b/XenAdmin/Diagnostics/Checks/HostMaintenanceModeCheck.cs index 44421b203..917d3de6c 100644 --- a/XenAdmin/Diagnostics/Checks/HostMaintenanceModeCheck.cs +++ b/XenAdmin/Diagnostics/Checks/HostMaintenanceModeCheck.cs @@ -37,9 +37,12 @@ namespace XenAdmin.Diagnostics.Checks { class HostMaintenanceModeCheck : HostLivenessCheck { - public HostMaintenanceModeCheck(Host host) + private readonly bool checkHostLivenessOnly; + + public HostMaintenanceModeCheck(Host host, bool checkHostLivenessOnly = false) : base(host) { + this.checkHostLivenessOnly = checkHostLivenessOnly; } protected override Problem RunCheck() @@ -48,6 +51,9 @@ namespace XenAdmin.Diagnostics.Checks if (problem != null) return problem; + if (checkHostLivenessOnly) + return null; + // Check the host is not in Maintenance Mode (or disabled) if (Host.MaintenanceMode() || !Host.enabled) { diff --git a/XenAdmin/Wizards/RollingUpgradeWizard/RollingUpgradeWizardPrecheckPage.cs b/XenAdmin/Wizards/RollingUpgradeWizard/RollingUpgradeWizardPrecheckPage.cs index d04630de1..61a5ccfc4 100644 --- a/XenAdmin/Wizards/RollingUpgradeWizard/RollingUpgradeWizardPrecheckPage.cs +++ b/XenAdmin/Wizards/RollingUpgradeWizard/RollingUpgradeWizardPrecheckPage.cs @@ -164,7 +164,7 @@ namespace XenAdmin.Wizards.RollingUpgradeWizard //HostMaintenanceModeCheck checks - for hosts that will be upgraded or updated var livenessChecks = new List(); foreach (Host host in hostsToUpgradeOrUpdate) - livenessChecks.Add(new HostMaintenanceModeCheck(host)); + livenessChecks.Add(new HostMaintenanceModeCheck(host, !hostsToUpgrade.Contains(host))); groups.Add(new CheckGroup(Messages.CHECKING_HOST_LIVENESS_STATUS, livenessChecks)); //HA checks - for each pool