Пример #1
0
 def test_vols_for_boolean_specs(self):
     """Test ssc for boolean specs."""
     test_vols = set(
         [self.vol1, self.vol2, self.vol3, self.vol4, self.vol5])
     ssc_map = {
         'mirrored': set([self.vol1]),
         'dedup': set([self.vol1, self.vol2, self.vol3]),
         'compression': set([self.vol3, self.vol4]),
         'thin': set([self.vol5, self.vol2]),
         'all': test_vols
     }
     test_map = {
         'mirrored': ('netapp_mirrored', 'netapp_unmirrored'),
         'dedup': ('netapp_dedup', 'netapp_nodedup'),
         'compression': ('netapp_compression', 'netapp_nocompression'),
         'thin': ('netapp_thin_provisioned', 'netapp_thick_provisioned')
     }
     for type in test_map.keys():
         # type
         extra_specs = {test_map[type][0]: 'true'}
         res = ssc_cmode.get_volumes_for_specs(ssc_map, extra_specs)
         self.assertEqual(len(ssc_map[type]), len(res))
         # opposite type
         extra_specs = {test_map[type][1]: 'true'}
         res = ssc_cmode.get_volumes_for_specs(ssc_map, extra_specs)
         self.assertEqual(len(ssc_map['all'] - ssc_map[type]), len(res))
         # both types
         extra_specs =\
             {test_map[type][0]: 'true', test_map[type][1]: 'true'}
         res = ssc_cmode.get_volumes_for_specs(ssc_map, extra_specs)
         self.assertEqual(len(ssc_map['all']), len(res))
Пример #2
0
 def test_vols_for_boolean_specs(self):
     """Test ssc for boolean specs."""
     test_vols = set(
         [self.vol1, self.vol2, self.vol3, self.vol4, self.vol5])
     ssc_map = {'mirrored': set([self.vol1]),
                'dedup': set([self.vol1, self.vol2, self.vol3]),
                'compression': set([self.vol3, self.vol4]),
                'thin': set([self.vol5, self.vol2]), 'all': test_vols}
     test_map = {'mirrored': ('netapp_mirrored', 'netapp_unmirrored'),
                 'dedup': ('netapp_dedup', 'netapp_nodedup'),
                 'compression': ('netapp_compression',
                                 'netapp_nocompression'),
                 'thin': ('netapp_thin_provisioned',
                          'netapp_thick_provisioned')}
     for type in test_map.keys():
         # type
         extra_specs = {test_map[type][0]: 'true'}
         res = ssc_cmode.get_volumes_for_specs(ssc_map, extra_specs)
         self.assertEqual(len(ssc_map[type]), len(res))
         # opposite type
         extra_specs = {test_map[type][1]: 'true'}
         res = ssc_cmode.get_volumes_for_specs(ssc_map, extra_specs)
         self.assertEqual(len(ssc_map['all'] - ssc_map[type]), len(res))
         # both types
         extra_specs =\
             {test_map[type][0]: 'true', test_map[type][1]: 'true'}
         res = ssc_cmode.get_volumes_for_specs(ssc_map, extra_specs)
         self.assertEqual(len(ssc_map['all']), len(res))
Пример #3
0
    def test_get_volumes_for_specs_none_specs(self):
        none_specs = None
        expected = self.ssc_map['all']

        result = ssc_cmode.get_volumes_for_specs(self.ssc_map, none_specs)

        self.assertEqual(expected, result)
Пример #4
0
 def test_vols_for_optional_specs(self):
     """Test ssc for optional specs."""
     extra_specs =\
         {'netapp_dedup': 'true',
          'netapp:raid_type': 'raid4', 'netapp:disk_type': 'SSD'}
     res = ssc_cmode.get_volumes_for_specs(self.ssc_map, extra_specs)
     self.assertEqual(1, len(res))
Пример #5
0
 def scan_ssc_data():
     volumes = ssc_cmode.get_volumes_for_specs(self.ssc_vols,
                                               extra_specs)
     for vol in volumes:
         if lun.get_metadata_property('Volume') == vol.id['name']:
             return True
     return False
Пример #6
0
    def test_get_volumes_for_specs_not_a_dict(self):
        not_a_dict = False
        expected = self.ssc_map['all']

        result = ssc_cmode.get_volumes_for_specs(self.ssc_map, not_a_dict)

        self.assertEqual(expected, result)
Пример #7
0
    def test_get_volumes_for_specs_empty_dict(self):
        empty_dict = {}
        expected = self.ssc_map['all']

        result = ssc_cmode.get_volumes_for_specs(self.ssc_map, empty_dict)

        self.assertEqual(expected, result)
Пример #8
0
    def test_get_volumes_for_specs_none_specs(self):
        none_specs = None
        expected = self.ssc_map['all']

        result = ssc_cmode.get_volumes_for_specs(self.ssc_map, none_specs)

        self.assertEqual(expected, result)
Пример #9
0
 def test_vols_for_optional_specs(self):
     """Test ssc for optional specs."""
     extra_specs =\
         {'netapp_dedup': 'true',
          'netapp:raid_type': 'raid4', 'netapp:disk_type': 'SSD'}
     res = ssc_cmode.get_volumes_for_specs(self.ssc_map, extra_specs)
     self.assertEqual(1, len(res))
Пример #10
0
 def scan_ssc_data():
     volumes = ssc_cmode.get_volumes_for_specs(self.ssc_vols,
                                               extra_specs)
     for vol in volumes:
         if lun.get_metadata_property('Volume') == vol.id['name']:
             return True
     return False
Пример #11
0
 def _is_share_vol_type_match(self, volume, share):
     """Checks if share matches volume type."""
     netapp_vol = self._get_vol_for_share(share)
     LOG.debug("Found volume %(vol)s for share %(share)s.", {"vol": netapp_vol, "share": share})
     extra_specs = na_utils.get_volume_extra_specs(volume)
     vols = ssc_cmode.get_volumes_for_specs(self.ssc_vols, extra_specs)
     return netapp_vol in vols
Пример #12
0
    def test_get_volumes_for_specs_not_a_dict(self):
        not_a_dict = False
        expected = self.ssc_map['all']

        result = ssc_cmode.get_volumes_for_specs(
            self.ssc_map, not_a_dict)

        self.assertEqual(expected, result)
Пример #13
0
    def test_get_volumes_for_specs_empty_dict(self):
        empty_dict = {}
        expected = self.ssc_map['all']

        result = ssc_cmode.get_volumes_for_specs(
            self.ssc_map, empty_dict)

        self.assertEqual(expected, result)
Пример #14
0
 def _is_share_vol_type_match(self, volume, share):
     """Checks if share matches volume type."""
     netapp_vol = self._get_vol_for_share(share)
     LOG.debug("Found volume %(vol)s for share %(share)s.",
               {'vol': netapp_vol, 'share': share})
     extra_specs = na_utils.get_volume_extra_specs(volume)
     vols = ssc_cmode.get_volumes_for_specs(self.ssc_vols, extra_specs)
     return netapp_vol in vols
Пример #15
0
 def test_vols_for_optional_specs(self):
     """Test ssc for optional specs."""
     test_vols =\
         set([self.vol1, self.vol2, self.vol3, self.vol4, self.vol5])
     ssc_map = {'mirrored': set([self.vol1]),
                'dedup': set([self.vol1, self.vol2, self.vol3]),
                'compression': set([self.vol3, self.vol4]),
                'thin': set([self.vol5, self.vol2]), 'all': test_vols}
     extra_specs =\
         {'netapp_dedup': 'true',
          'netapp:raid_type': 'raid4', 'netapp:disk_type': 'SSD'}
     res = ssc_cmode.get_volumes_for_specs(ssc_map, extra_specs)
     self.assertEqual(len(res), 1)