total_lv_size=str(self.total_available_db_space),
total_lvs=vg_extents['parts'] * self.osds_per_device,
block_lv_size=db_size,
- block_db_devices=', '.join([ssd.abspath for ssd in self.db_devs]),
+ block_db_devices=', '.join([ssd.abspath for ssd in
+ self.db_or_journal_devs]),
lv_size=self.block_db_size or str(disk.Size(b=(vg_extents['sizes']))),
total_osds=len(self.data_devs)
)
validators.no_lvm_membership(self.data_devs)
# do not allow non-common VG to continue
- validators.has_common_vg(self.db_devs)
+ validators.has_common_vg(self.db_or_journal_devs)
# find the common VG to calculate how much is available
self.common_vg = self.get_common_vg()
common_vg_size = disk.Size(gb=0)
# non-VG SSDs
- self.vg_ssds = set([d for d in self.db_devs if d.is_lvm_member])
- self.blank_ssds = set(self.db_devs).difference(self.vg_ssds)
+ self.vg_ssds = set([d for d in self.db_or_journal_devs if d.is_lvm_member])
+ self.blank_ssds = set(self.db_or_journal_devs).difference(self.vg_ssds)
self.total_blank_ssd_size = disk.Size(b=0)
for blank_ssd in self.blank_ssds:
self.total_blank_ssd_size += disk.Size(b=blank_ssd.lvm_size.b)
target='journal',
total_lv_size=str(self.total_available_journal_space),
total_lvs=self.journals_needed,
- block_db_devices=', '.join([d.path for d in self.db_devs]),
+ block_db_devices=', '.join([d.path for d in self.db_or_journal_devs]),
lv_size=str(self.journal_size),
total_osds=self.journals_needed
)
validators.no_lvm_membership(self.data_devs)
# do not allow non-common VG to continue
- validators.has_common_vg(self.db_devs)
+ validators.has_common_vg(self.db_or_journal_devs)
# find the common VG to calculate how much is available
self.common_vg = self.get_common_vg()
common_vg_size = disk.Size(gb=0)
# non-VG SSDs
- self.vg_ssds = set([d for d in self.db_devs if d.is_lvm_member])
- self.blank_ssds = set(self.db_devs).difference(self.vg_ssds)
+ self.vg_ssds = set([d for d in self.db_or_journal_devs if d.is_lvm_member])
+ self.blank_ssds = set(self.db_or_journal_devs).difference(self.vg_ssds)
self.total_blank_ssd_size = disk.Size(b=0)
for blank_ssd in self.blank_ssds:
self.total_blank_ssd_size += disk.Size(b=blank_ssd.lvm_size.b)
class Strategy(object):
- def __init__(self, data_devs, db_devs, wal_devs, args):
+ def __init__(self, data_devs, db_or_journal_devs, wal_devs, args):
+ '''
+ Note that this ctor is used by both bluestore and filestore strategies
+ to reduce code duplication. A filestore strategy will always pass an
+ empty list for wal_devs.
+ '''
self.args = args
self.osds_per_device = args.osds_per_device
- self.devices = data_devs + wal_devs + db_devs
+ self.devices = data_devs + wal_devs + db_or_journal_devs
self.data_devs = data_devs
- self.db_devs = db_devs
+ self.db_or_journal_devs = db_or_journal_devs
self.wal_devs = wal_devs
self.computed = {'osds': [], 'vgs': []}
@staticmethod
def split_devices_rotational(devices):
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 data_devs, db_devs
+ db_or_journal_devs = [device for device in devices if device.sys_api['rotational'] == '0']
+ return data_devs, db_or_journal_devs
def validate_compute(self):
def get_common_vg(self):
# find all the vgs associated with the current device
- for ssd in self.db_devs:
+ for ssd in self.db_or_journal_devs:
for pv in ssd.pvs_api:
vg = self.system_vgs.get(vg_name=pv.vg_name)
if not vg: