def get_storage(self): ''' Load a StorageInfo class. Probe if it's not present ''' if 'storage' not in self.probe_data: log.debug('get_storage: no storage in probe_data, fetching') storage = Storage() results = storage.probe() self.probe_data['storage'] = results return self.probe_data['storage']
def get_storage(self, probe_types=None): ''' Load a StorageInfo class. Probe if it's not present ''' if 'storage' not in self.probe_data: log.debug('get_storage: no storage in probe_data, fetching') storage = Storage() results = storage.probe(probe_types=probe_types) self.probe_data['storage'] = results if self.opts.machine_config is not None and probe_types is not None: r = self.saved_config['storage'].copy() for k in self.saved_config['storage']: if k not in probe_types: r[k] = {} return r return self.probe_data['storage']
def get_storage(self, probe_types=None): if self.saved_config is not None: flag = 'bpfail-full' if probe_types is not None: flag = 'bpfail-restricted' if flag in self.debug_flags: time.sleep(2) 1/0 r = self.saved_config['storage'].copy() if probe_types is not None: for k in self.saved_config['storage']: if k not in probe_types: r[k] = {} return r from probert.storage import Storage return Storage().probe(probe_types=probe_types)
class Prober(): def __init__(self): self._results = {} def probe_all(self): self.probe_storage() self.probe_network() def probe_storage(self): from probert.storage import Storage self._storage = Storage() self._results['storage'] = self._storage.probe() def probe_network(self): from probert.network import NetworkProber self._network = NetworkProber() self._results['network'] = self._network.probe() def get_results(self): return self._results
def probe_storage(self): from probert.storage import Storage self._storage = Storage() self._results['storage'] = self._storage.probe()
def setUp(self): super(ProbertTestStorage, self).setUp() with open(FAKE_PROBE_ALL_JSON) as f: self.results = json.load(f) self.storage = Storage(results=self.results)
class ProbertTestStorage(testtools.TestCase): def setUp(self): super(ProbertTestStorage, self).setUp() with open(FAKE_PROBE_ALL_JSON) as f: self.results = json.load(f) self.storage = Storage(results=self.results) def test_storage_init(self): self.assertNotEqual(None, self.storage) def test_storage_get_devices(self): storage_keys = self.results.get('storage').keys() self.assertEqual(sorted(self.storage.get_devices()), sorted(storage_keys)) def test_storage_get_devices_no_storage(self): s = Storage() self.assertEqual([], s.get_devices()) def test_storage_get_devices_by_key(self): key = 'DEVTYPE' val = 'partition' plist_1 = self.storage.get_devices_by_key(key, val) plist_2 = [ p for p in self.results['storage'].keys() if self.results['storage'][p][key] == val ] self.assertEqual(sorted(plist_1), sorted(plist_2)) def test_storage_get_devices_by_key_invalid_key(self): key = 'lactobacillus' val = 'sourbeer' plist_1 = self.storage.get_devices_by_key(key, val) plist_2 = [] self.assertEqual(sorted(plist_1), sorted(plist_2)) def test_storage_get_devices_by_key_invalid_value(self): key = 'DEVTYPE' val = 'supercomputer' plist_1 = self.storage.get_devices_by_key(key, val) plist_2 = [] self.assertEqual(sorted(plist_1), sorted(plist_2)) def test_storage_get_partitions(self): device = '/dev/sda' plist_1 = self.storage.get_partitions(device) plist_2 = [ p for p in self.storage.get_devices_by_key('DEVTYPE', 'partition') if p.startswith(device) ] self.assertEqual(sorted(plist_1), sorted(plist_2)) def test_storage_get_partitions_no_parts(self): results = {'storage': {'/dev/sda': {'DEVTYPE': 'disk', 'MAJOR': '8'}}} s = Storage(results=results) device = '/dev/sda' self.assertEqual([], s.get_partitions(device)) def test_storage_get_disk_no_disk(self): s = Storage() self.assertEqual([], s.get_disks()) def test_storage_get_disks(self): disks = [ d for d in self.results['storage'].keys() if self.results['storage'][d]['MAJOR'] == '8' and self.results['storage'][d]['DEVTYPE'] == 'disk' ] self.assertEqual(sorted(self.storage.get_disks()), sorted(disks)) def test_storage_get_device_size(self): disk = self.storage.get_disks().pop() size = self.results['storage'][disk]['attrs']['size'] self.assertEqual(self.storage.get_device_size(disk), size)
def test_storage_get_disk_no_disk(self): s = Storage() self.assertEqual([], s.get_disks())
def test_storage_get_partitions_no_parts(self): results = {'storage': {'/dev/sda': {'DEVTYPE': 'disk', 'MAJOR': '8'}}} s = Storage(results=results) device = '/dev/sda' self.assertEqual([], s.get_partitions(device))
def test_storage_get_devices_no_storage(self): s = Storage() self.assertEqual([], s.get_devices())
def probe_storage(self): storage = Storage() results = storage.probe() self.results['storage'] = results
def probe_storage(self): self._results['storage'] = Storage().probe()