def test_set_device_specific_load_balancing_policy__complex(self, execute): raise unittest.SkipTest from . import ROUND_ROBIN device, policy = self._get_sample_device_and_policy() MultipathClaim.set_device_specific_load_balancing_policy(device, policy) call_args = execute.call_args[0][0] self.assertEqual(call_args, "-l -d 123 1 0000000077030000 0 0 1 0000000077030001 1 0 0".split())
def test_set_device_specific_load_balancing_policy__simple(self, execute): raise unittest.SkipTest from . import ROUND_ROBIN device, policy = self._get_sample_device_and_policy() policy.LoadBalancePolicy = ROUND_ROBIN MultipathClaim.set_device_specific_load_balancing_policy(device, policy) call_args = execute.call_args[0][0] self.assertEqual(" ".join(call_args), "-l -d 123 2")
def test_change_load_balancing_policy(self, new_policy): raise unittest.SkipTest from ..wmi import WmiClient, get_multipath_devices, get_load_balace_policies client = WmiClient() devices = get_multipath_devices(client) policies = get_load_balace_policies(client) key = list(devices.keys())[0] device, policy = devices[key], policies[key] policy.LoadBalancePolicy = new_policy if new_policy == FAIL_OVER_ONLY or new_policy == ROUND_ROBIN_WITH_SUBSET: for path in [path for path in device.PdoInformation][0:1]: path.DeviceState = ACTIVE_OPTIMIZED for path in [path for path in device.PdoInformation][1:]: path.DeviceState = ACTIVE_NON_OPTIMIZED if new_policy == WEIGHTED_PATHS: for path in device.PdoInformation: path.DeviceState = ACTIVE_OPTIMIZED for path in policy.DSM_Paths: path.PathWeight = 1 MultipathClaim.set_device_specific_load_balancing_policy(device, policy)