Exemple #1
0
 def test_wipe_random(self, mock_wipe_file):
     with simple_mocked_open() as mock_open:
         block.wipe_volume(self.dev, mode='random')
         mock_open.assert_called_with('/dev/urandom', 'rb')
         mock_wipe_file.assert_called_with(
             self.dev, exclusive=True,
             reader=mock_open.return_value.__enter__().read)
Exemple #2
0
 def test_wipe_pvremove(self, mock_util, mock_lvm):
     block.wipe_volume(self.dev, mode='pvremove')
     mock_util.subp.assert_called_with(
         ['pvremove', '--force', '--force', '--yes', self.dev],
         rcs=[0, 5],
         capture=True)
     self.assertTrue(mock_lvm.lvm_scan.called)
Exemple #3
0
def _wipe_superblock(blockdev, exclusive=True, strict=True):
    """ No checks, just call wipe_volume """

    retries = [1, 3, 5, 7]
    LOG.info('wiping superblock on %s', blockdev)
    for attempt, wait in enumerate(retries):
        LOG.debug('wiping %s attempt %s/%s', blockdev, attempt + 1,
                  len(retries))
        try:
            block.wipe_volume(blockdev,
                              mode='superblock',
                              exclusive=exclusive,
                              strict=strict)
            LOG.debug('successfully wiped device %s on attempt %s/%s',
                      blockdev, attempt + 1, len(retries))
            return
        except OSError:
            if attempt + 1 >= len(retries):
                raise
            else:
                LOG.debug(
                    "wiping device '%s' failed on attempt"
                    " %s/%s.  sleeping %ss before retry", blockdev,
                    attempt + 1, len(retries), wait)
                time.sleep(wait)
Exemple #4
0
 def test_wipe_superblock(self, mock_quick_zero):
     block.wipe_volume(self.dev, mode='superblock')
     mock_quick_zero.assert_called_with(self.dev, exclusive=True,
                                        partitions=False)
     block.wipe_volume(self.dev, exclusive=True,
                       mode='superblock-recursive')
     mock_quick_zero.assert_called_with(self.dev, exclusive=True,
                                        partitions=True)
Exemple #5
0
 def test_bad_input(self):
     with self.assertRaises(ValueError):
         block.wipe_volume(self.dev, mode='invalidmode')
Exemple #6
0
 def test_wipe_zero(self, mock_wipe_file):
     with simple_mocked_open():
         block.wipe_volume(self.dev, exclusive=True, mode='zero')
         mock_wipe_file.assert_called_with(self.dev, exclusive=True)