public void FaultInjectionConfigTest() { UpgradeFlow upgradeFlow = UpgradeFlow.RollingBack; int step = 100; FaultInjectionConfig config = new FaultInjectionConfig(upgradeFlow, step); Assert.AreEqual(upgradeFlow, config.FaultFlow); Assert.AreEqual(step, config.FaultStep); Assert.AreEqual(upgradeFlow + ":" + step, config.ToString()); Assert.IsFalse(config.Equals(null)); Assert.IsFalse(config.Equals(step)); Assert.IsTrue(config.Equals(config)); FaultInjectionConfig config2 = new FaultInjectionConfig(upgradeFlow, step); Assert.IsTrue(config.Equals(config2)); config2.FaultStep++; Assert.IsFalse(config.Equals(config2)); config2.FaultStep--; Assert.IsTrue(config.Equals(config2)); config2.FaultFlow = UpgradeFlow.RollingForward; Assert.IsFalse(config.Equals(config2)); }
public FaultInjectionConfig(UpgradeFlow faultFlow, int faultStep) { this.FaultFlow = faultFlow; this.FaultStep = faultStep; }
public static bool ShouldReportUnhealthy(ClusterUpgradeStateBase upgradeState, UpgradeFlow currentUpgradeFlow, FaultInjectionConfig faultInjectionConfig) { MultiphaseClusterUpgradeState multiPhaseUpgradeState = upgradeState as MultiphaseClusterUpgradeState; int currentStep = 0; if (multiPhaseUpgradeState != null) { currentStep = multiPhaseUpgradeState.CurrentListIndex; } return(faultInjectionConfig.Equals(new FaultInjectionConfig(currentUpgradeFlow, currentStep))); }