コード例 #1
0
 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))
コード例 #2
0
    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)
コード例 #3
0
 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)
コード例 #4
0
 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)
コード例 #5
0
 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)
コード例 #6
0
    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)
コード例 #7
0
    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)
コード例 #8
0
    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