def setUp(self): self.data = tpd.PowerMaxData() super(PowerMaxISCSITest, self).setUp() volume_utils.get_max_over_subscription_ratio = mock.Mock() configuration = tpfo.FakeConfiguration( None, 'ISCSITests', 1, 1, san_ip='1.1.1.1', san_login='******', vmax_array=self.data.array, vmax_srp='SRP_1', san_password='******', san_api_port=8443, vmax_port_groups=[self.data.port_group_name_i]) rest.PowerMaxRest._establish_rest_session = mock.Mock( return_value=tpfo.FakeRequestsSession()) driver = iscsi.PowerMaxISCSIDriver(configuration=configuration) self.driver = driver self.common = self.driver.common self.masking = self.common.masking self.utils = self.common.utils self.utils.get_volumetype_extra_specs = (mock.Mock( return_value=self.data.vol_type_extra_specs))
def test_set_performance_configuration_invalid_port_metric(self): """Test set_performance_configuration invalid port metric.""" cinder_conf = deepcopy(self.reference_cinder_conf) cinder_conf.port_load_metric = 'InvalidMetric' rest.PowerMaxRest._establish_rest_session = mock.Mock( return_value=tpfo.FakeRequestsSession()) temp_driver = iscsi.PowerMaxISCSIDriver(configuration=cinder_conf) self.assertEqual(self.reference_perf_conf, temp_driver.performance.config)
def test_set_performance_configuration_invalid_data_format(self): """Test set_performance_configuration invalid data format, avg set.""" cinder_conf = deepcopy(self.reference_cinder_conf) cinder_conf.load_data_format = 'InvalidFormat' rest.PowerMaxRest._establish_rest_session = mock.Mock( return_value=tpfo.FakeRequestsSession()) temp_driver = iscsi.PowerMaxISCSIDriver(configuration=cinder_conf) self.assertEqual(self.reference_perf_conf, temp_driver.performance.config)
def test_set_performance_configuration_max_data_format(self): """Test set_performance_configuration max data format, max set.""" cinder_conf = deepcopy(self.reference_cinder_conf) cinder_conf.load_data_format = 'MAXIMUM' rest.PowerMaxRest._establish_rest_session = mock.Mock( return_value=tpfo.FakeRequestsSession()) temp_driver = iscsi.PowerMaxISCSIDriver(configuration=cinder_conf) perf_conf = deepcopy(self.reference_perf_conf) perf_conf['data_format'] = 'Maximum' self.assertEqual(perf_conf, temp_driver.performance.config)
def test_set_performance_configuration_not_perf_registered(self, mck_reg): """Test set_performance_configuration performance metrics not enabled. This tests config settings where user has enabled load balancing in cinder.conf but Unisphere is not registered for performance metrics. """ cinder_conf = deepcopy(self.reference_cinder_conf) rest.PowerMaxRest._establish_rest_session = mock.Mock( return_value=tpfo.FakeRequestsSession()) temp_driver = iscsi.PowerMaxISCSIDriver(configuration=cinder_conf) perf_conf = {'load_balance': False} self.assertEqual(perf_conf, temp_driver.performance.config)
def test_set_performance_configuration_rt_reg_rt_disabled(self): """Test set_performance_configuration real-time disabled v2. Test configurations settings when real-time is disabled in cinder.conf and real-time metrics are registered in Unisphere. """ cinder_conf = deepcopy(self.reference_cinder_conf) cinder_conf.load_balance_real_time = False rest.PowerMaxRest._establish_rest_session = mock.Mock( return_value=tpfo.FakeRequestsSession()) temp_driver = iscsi.PowerMaxISCSIDriver(configuration=cinder_conf) perf_conf = deepcopy(self.reference_perf_conf) perf_conf['load_balance_rt'] = False perf_conf['rt_registered'] = True self.assertEqual(perf_conf, temp_driver.performance.config)
def test_set_performance_configuration_rt_lookback_invalid(self): """Test set_performance_configuration invalid rt lookback windows.""" # Window set to negative value cinder_conf = deepcopy(self.reference_cinder_conf) cinder_conf.load_look_back_real_time = -1 rest.PowerMaxRest._establish_rest_session = mock.Mock( return_value=tpfo.FakeRequestsSession()) temp_driver = iscsi.PowerMaxISCSIDriver(configuration=cinder_conf) perf_conf = deepcopy(self.reference_perf_conf) perf_conf['look_back_rt'] = 1 self.assertEqual(perf_conf, temp_driver.performance.config) # Window set to value larger than upper limit of 1440 cinder_conf.load_look_back_real_time = 100 temp_driver = iscsi.PowerMaxISCSIDriver(configuration=cinder_conf) self.assertEqual(perf_conf, temp_driver.performance.config)
def setUp(self): self.data = tpd.PowerMaxData() self.reference_cinder_conf = tpfo.FakeConfiguration( None, 'ProvisionTests', 1, 1, san_ip='1.1.1.1', san_login='******', vmax_array=self.data.array, vmax_srp='SRP_1', san_password='******', san_api_port=8443, vmax_port_groups=[self.data.port_group_name_i], load_balance=True, load_balance_real_time=True, load_data_format='avg', load_look_back=60, load_look_back_real_time=10, port_group_load_metric='PercentBusy', port_load_metric='PercentBusy') self.reference_perf_conf = { 'load_balance': True, 'load_balance_rt': True, 'perf_registered': True, 'rt_registered': True, 'collection_interval': 5, 'data_format': 'Average', 'look_back': 60, 'look_back_rt': 10, 'port_group_metric': 'PercentBusy', 'port_metric': 'PercentBusy' } super(PowerMaxPerformanceTest, self).setUp() volume_utils.get_max_over_subscription_ratio = mock.Mock() rest.PowerMaxRest._establish_rest_session = mock.Mock( return_value=tpfo.FakeRequestsSession()) driver = iscsi.PowerMaxISCSIDriver( configuration=self.reference_cinder_conf) self.driver = driver self.common = self.driver.common self.performance = self.driver.performance self.rest = self.common.rest