Exemplo n.º 1
0
 def test_get_device_slave_knames(self):
     #
     # /sys/class/block/wark/slaves/foo -> ../../foo
     # /sys/class/block/foo #
     # should return 'bar'
     cfg = OrderedDict([
         ('wark', ['foo']),
         ('foo', []),
     ])
     device = "/dev/wark"
     slaves = ["foo"]
     self._prepare_mocks(device, cfg)
     knames = block.get_device_slave_knames(device)
     self.assertEqual(slaves, knames)
Exemplo n.º 2
0
def volpath_is_iscsi(volume_path):
    """ Determine if the volume_path's kname is backed by iSCSI.
        Recursively check volume_path's slave devices as well in
        case volume_path is a stacked block device (like LVM/MD)

        returns a boolean
    """
    if not volume_path:
        raise ValueError("Invalid input for volume_path: '%s'", volume_path)

    volume_path_slaves = get_device_slave_knames(volume_path)
    LOG.debug('volume_path=%s found slaves: %s', volume_path,
              volume_path_slaves)
    knames = [path_to_kname(volume_path)] + volume_path_slaves
    return any([kname_is_iscsi(kname) for kname in knames])
Exemplo n.º 3
0
 def test_get_device_slave_knames_stacked(self):
     #
     # /sys/class/block/wark/slaves/foo -> ../../foo
     # /sys/class/block/wark/slaves/bar -> ../../bar
     # /sys/class/block/foo
     # /sys/class/block/bar
     #
     # should return ['foo', 'bar']
     cfg = OrderedDict([
         ('wark', ['foo', 'bar']),
         ('foo', []),
         ('bar', []),
     ])
     device = 'wark'
     slaves = ['foo', 'bar']
     self._prepare_mocks(device, cfg)
     knames = block.get_device_slave_knames(device)
     self.assertEqual(slaves, knames)
Exemplo n.º 4
0
 def test_get_device_slave_knames_double_stacked(self):
     # /sys/class/block/wark/slaves/foo -> ../../foo
     # /sys/class/block/wark/slaves/bar -> ../../bar
     # /sys/class/block/foo
     # /sys/class/block/bar/slaves/zip -> ../../zip
     # /sys/class/block/zip
     #
     # mapping of device:
     cfg = OrderedDict([
         ('wark', ['foo', 'bar']),
         ('foo', []),
         ('bar', ['zip']),
         ('zip', []),
     ])
     device = 'wark'
     slaves = ['foo', 'zip']
     self._prepare_mocks(device, cfg)
     knames = block.get_device_slave_knames(device)
     self.assertEqual(slaves, knames)