Esempio n. 1
0
    def test_get_backend_qos_spec_from_volume_type_with_both_spec(self):
        volume_type = fake.VOLUME_TYPE
        self.mock_object(context, 'get_admin_context')
        mock_get_specs = self.mock_object(qos_specs, 'get_qos_specs')
        mock_get_specs.return_value = fake.OUTER_BOTH_QOS_SPEC

        result = na_utils.get_backend_qos_spec_from_volume_type(volume_type)

        self.assertEqual(fake.QOS_SPEC, result)
Esempio n. 2
0
    def test_get_backend_qos_spec_from_volume_type_no_qos_specs_id(self):
        volume_type = copy.deepcopy(fake.VOLUME_TYPE)
        del(volume_type['qos_specs_id'])
        mock_get_context = self.mock_object(context, 'get_admin_context')

        result = na_utils.get_backend_qos_spec_from_volume_type(volume_type)

        self.assertIsNone(result)
        self.assertEqual(0, mock_get_context.call_count)
Esempio n. 3
0
    def test_get_backend_qos_spec_from_volume_type_with_frontend_spec(self):
        volume_type = fake.VOLUME_TYPE
        self.mock_object(context, 'get_admin_context')
        mock_get_specs = self.mock_object(qos_specs, 'get_qos_specs')
        mock_get_specs.return_value = fake.OUTER_FRONTEND_QOS_SPEC

        result = na_utils.get_backend_qos_spec_from_volume_type(volume_type)

        self.assertIsNone(result)
Esempio n. 4
0
    def test_get_backend_qos_spec_from_volume_type_with_both_spec(self):
        volume_type = fake.VOLUME_TYPE
        self.mock_object(context, 'get_admin_context')
        mock_get_specs = self.mock_object(qos_specs, 'get_qos_specs')
        mock_get_specs.return_value = fake.OUTER_BOTH_QOS_SPEC

        result = na_utils.get_backend_qos_spec_from_volume_type(volume_type)

        self.assertEqual(fake.QOS_SPEC, result)
Esempio n. 5
0
    def test_get_backend_qos_spec_from_volume_type_with_frontend_spec(self):
        volume_type = fake.VOLUME_TYPE
        self.mock_object(context, 'get_admin_context')
        mock_get_specs = self.mock_object(qos_specs, 'get_qos_specs')
        mock_get_specs.return_value = fake.OUTER_FRONTEND_QOS_SPEC

        result = na_utils.get_backend_qos_spec_from_volume_type(volume_type)

        self.assertIsNone(result)
Esempio n. 6
0
    def test_get_backend_qos_spec_from_volume_type_no_qos_specs_id(self):
        volume_type = copy.deepcopy(fake.VOLUME_TYPE)
        del (volume_type['qos_specs_id'])
        mock_get_context = self.mock_object(context, 'get_admin_context')

        result = na_utils.get_backend_qos_spec_from_volume_type(volume_type)

        self.assertIsNone(result)
        self.assertEqual(0, mock_get_context.call_count)
Esempio n. 7
0
    def test_get_backend_qos_spec_from_volume_type_no_qos_spec(self):
        volume_type = fake.VOLUME_TYPE
        self.mock_object(context, 'get_admin_context')
        mock_get_specs = self.mock_object(qos_specs, 'get_qos_specs')
        mock_get_specs.return_value = None

        result = na_utils.get_backend_qos_spec_from_volume_type(volume_type)

        self.assertEqual(None, result)
Esempio n. 8
0
    def test_get_backend_qos_spec_from_volume_type_no_qos_spec(self):
        volume_type = fake.VOLUME_TYPE
        self.mock_object(context, 'get_admin_context')
        mock_get_specs = self.mock_object(qos_specs, 'get_qos_specs')
        mock_get_specs.return_value = None

        result = na_utils.get_backend_qos_spec_from_volume_type(volume_type)

        self.assertEqual(None, result)
Esempio n. 9
0
 def _check_volume_type_for_lun(self, volume, lun, existing_ref,
                                extra_specs):
     """Check if LUN satisfies volume type."""
     if extra_specs:
         legacy_policy = extra_specs.get('netapp:qos_policy_group')
         if legacy_policy is not None:
             raise exception.ManageExistingVolumeTypeMismatch(
                 reason=_("Setting LUN QoS policy group is not supported "
                          "on this storage family and ONTAP version."))
     volume_type = na_utils.get_volume_type_from_volume(volume)
     if volume_type is None:
         return
     spec = na_utils.get_backend_qos_spec_from_volume_type(volume_type)
     if spec is not None:
         raise exception.ManageExistingVolumeTypeMismatch(
             reason=_("Back-end QoS specs are not supported on this "
                      "storage family and ONTAP version."))
Esempio n. 10
0
 def _check_volume_type_for_lun(self, volume, lun, existing_ref,
                                extra_specs):
     """Check if LUN satisfies volume type."""
     if extra_specs:
         legacy_policy = extra_specs.get('netapp:qos_policy_group')
         if legacy_policy is not None:
             raise exception.ManageExistingVolumeTypeMismatch(
                 reason=_("Setting LUN QoS policy group is not supported "
                          "on this storage family and ONTAP version."))
     volume_type = na_utils.get_volume_type_from_volume(volume)
     if volume_type is None:
         return
     spec = na_utils.get_backend_qos_spec_from_volume_type(volume_type)
     if spec is not None:
         raise exception.ManageExistingVolumeTypeMismatch(
             reason=_("Back-end QoS specs are not supported on this "
                      "storage family and ONTAP version."))