Support for all SSDs, or all HDDS
"""
- def __init__(self, block_devs, args):
- super(SingleType, self).__init__(block_devs, [], [], args)
+ def __init__(self, data_devs, args):
+ super(SingleType, self).__init__(data_devs, [], [], args)
self.validate_compute()
@classmethod
"""
# validate minimum size for all devices
validators.minimum_device_size(
- self.block_devs, osds_per_device=self.osds_per_device
+ self.data_devs, osds_per_device=self.osds_per_device
)
# make sure that data devices do not have any LVs
- validators.no_lvm_membership(self.block_devs)
+ validators.no_lvm_membership(self.data_devs)
def compute(self):
"""
a dictionary with the result
"""
osds = self.computed['osds']
- for device in self.block_devs:
+ for device in self.data_devs:
extents = lvm.sizing(device.lvm_size.b, parts=self.osds_per_device)
for _i in range(self.osds_per_device):
osd = {'data': {}, 'block.db': {}}
class MixedType(MixedStrategy):
- def __init__(self, block_devs, db_devs, wal_devs, args):
- super(MixedType, self).__init__(block_devs, db_devs, wal_devs, args)
+ def __init__(self, data_devs, db_devs, wal_devs, args):
+ super(MixedType, self).__init__(data_devs, db_devs, wal_devs, args)
self.block_db_size = self.get_block_size()
self.system_vgs = lvm.VolumeGroups()
- self.dbs_needed = len(self.block_devs) * self.osds_per_device
+ self.dbs_needed = len(self.data_devs) * self.osds_per_device
self.use_large_block_db = False
self.validate_compute()
@classmethod
def with_auto_devices(cls, devices, args):
- block_devs, db_devs = cls.split_devices_rotational(devices)
- return cls(block_devs, db_devs, [], args)
+ data_devs, db_devs = cls.split_devices_rotational(devices)
+ return cls(data_devs, db_devs, [], args)
@staticmethod
def type():
if filtered_devices:
string += templates.filtered_devices(filtered_devices)
string += templates.total_osds.format(
- total_osds=len(self.block_devs) * self.osds_per_device
+ total_osds=len(self.data_devs) * self.osds_per_device
)
string += templates.ssd_volume_group.format(
block_lv_size=db_size,
block_db_devices=', '.join([ssd.abspath for ssd in self.db_devs]),
lv_size=self.block_db_size or str(disk.Size(b=(vg_extents['sizes']))),
- total_osds=len(self.block_devs)
+ total_osds=len(self.data_devs)
)
string += templates.osd_component_titles
else:
vg_name = self.common_vg.name
- for device in self.block_devs:
+ for device in self.data_devs:
for hdd in range(self.osds_per_device):
osd = {'data': {}, 'block.db': {}}
osd['data']['path'] = device.abspath
validators.minimum_device_size(self.devices, osds_per_device=self.osds_per_device)
# make sure that data devices do not have any LVs
- validators.no_lvm_membership(self.block_devs)
+ validators.no_lvm_membership(self.data_devs)
# do not allow non-common VG to continue
validators.has_common_vg(self.db_devs)
"""
- def __init__(self, block_devs, args):
- super(SingleType, self).__init__(block_devs, [], [], args)
+ def __init__(self, data_devs, args):
+ super(SingleType, self).__init__(data_devs, [], [], args)
self.journal_size = get_journal_size(args)
self.validate_compute()
met, raise an error if the provided devices would not work
"""
# validate minimum size for all devices
- validators.minimum_device_size(self.block_devs, osds_per_device=self.osds_per_device)
+ validators.minimum_device_size(self.data_devs, osds_per_device=self.osds_per_device)
# validate collocation
validators.minimum_device_collocated_size(
- self.block_devs, self.journal_size, osds_per_device=self.osds_per_device
+ self.data_devs, self.journal_size, osds_per_device=self.osds_per_device
)
# make sure that data devices do not have any LVs
- validators.no_lvm_membership(self.block_devs)
+ validators.no_lvm_membership(self.data_devs)
def compute(self):
"""
"""
# chose whichever is the one group we have to compute against
osds = self.computed['osds']
- for device in self.block_devs:
+ for device in self.data_devs:
for osd in range(self.osds_per_device):
device_size = disk.Size(b=device.lvm_size.b)
osd_size = device_size / self.osds_per_device
"""
- def __init__(self, block_devs, journal_devs, args):
- super(MixedType, self).__init__(block_devs, journal_devs, [], args)
+ def __init__(self, data_devs, journal_devs, args):
+ super(MixedType, self).__init__(data_devs, journal_devs, [], args)
self.blank_ssds = []
- self.journals_needed = len(self.block_devs) * self.osds_per_device
+ self.journals_needed = len(self.data_devs) * self.osds_per_device
self.journal_size = get_journal_size(args)
self.system_vgs = lvm.VolumeGroups()
self.validate_compute()
@classmethod
def with_auto_devices(cls, devices, args):
- block_devs, journal_devs = cls.split_devices_rotational(devices)
- return cls(block_devs, journal_devs, args)
+ data_devs, journal_devs = cls.split_devices_rotational(devices)
+ return cls(data_devs, journal_devs, args)
@staticmethod
def type():
validators.minimum_device_size(self.devices, osds_per_device=self.osds_per_device)
# make sure that data devices do not have any LVs
- validators.no_lvm_membership(self.block_devs)
+ validators.no_lvm_membership(self.data_devs)
# do not allow non-common VG to continue
validators.has_common_vg(self.db_devs)
else:
vg_name = self.common_vg.name
- for device in self.block_devs:
+ for device in self.data_devs:
for osd in range(self.osds_per_device):
device_size = disk.Size(b=device.lvm_size.b)
data_size = device_size / self.osds_per_device
class Strategy(object):
- def __init__(self, block_devs, db_devs, wal_devs, args):
+ def __init__(self, data_devs, db_devs, wal_devs, args):
self.args = args
self.osds_per_device = args.osds_per_device
- self.devices = block_devs + wal_devs + db_devs
- self.block_devs = block_devs
+ self.devices = data_devs + wal_devs + db_devs
+ self.data_devs = data_devs
self.db_devs = db_devs
self.wal_devs = wal_devs
self.computed = {'osds': [], 'vgs': []}
@staticmethod
def split_devices_rotational(devices):
- block_devs = [device for device in devices if device.sys_api['rotational'] == '1']
+ data_devs = [device for device in devices if device.sys_api['rotational'] == '1']
db_devs = [device for device in devices if device.sys_api['rotational'] == '0']
- return block_devs, db_devs
+ return data_devs, db_devs
def validate_compute(self):
@property
def total_osds(self):
- return len(self.block_devs) * self.osds_per_device
+ return len(self.data_devs) * self.osds_per_device
# protect against base class instantiation and incomplete implementations.
# We could also use the abc module and implement this as an