diff options
| author | wangwei <wangwei@navercorp.com> | 2018-08-27 15:47:23 +0900 |
|---|---|---|
| committer | wangwei <wangwei@navercorp.com> | 2018-08-27 16:11:08 +0900 |
| commit | 0f14b3d7e00e36b56c84dc193674828714f5ec7d (patch) | |
| tree | 4257b67578f40382c5dedb57031923cc380fe229 /docker | |
| parent | b275e4a2ebb2f35e000c7c6ed8fcef31a48afe77 (diff) | |
| download | kolla-0f14b3d7e00e36b56c84dc193674828714f5ec7d.tar.gz kolla-0f14b3d7e00e36b56c84dc193674828714f5ec7d.zip | |
Fix bluestore disk naming format in kolla
The current bluestore disk label naming is inconsistent with the
filestore. The filestore naming format is that the disk prefixes
belonging to the same osd are the same and the suffixes are
different.
This patch keeps the bluestore's disk naming as well.
Change-Id: I090cf055ebedc555b5ada35e140b7a7bb2a4cf8f
Diffstat (limited to 'docker')
| -rw-r--r-- | docker/ceph/ceph-osd/extend_start.sh | 16 | ||||
| -rw-r--r-- | docker/kolla-toolbox/find_disks.py | 39 |
2 files changed, 16 insertions, 39 deletions
diff --git a/docker/ceph/ceph-osd/extend_start.sh b/docker/ceph/ceph-osd/extend_start.sh index 1f42a1d92..eafd3d290 100644 --- a/docker/ceph/ceph-osd/extend_start.sh +++ b/docker/ceph/ceph-osd/extend_start.sh @@ -85,29 +85,29 @@ if [[ "${!KOLLA_BOOTSTRAP[@]}" ]]; then ceph-osd -i "${OSD_ID}" --mkkey echo "bluestore" > "${OSD_DIR}"/type if [ -n "${OSD_BS_BLK_DEV}" ] && [ "${OSD_BS_BLK_DEV}" != "${OSD_BS_DEV}" ] && [ -n "${OSD_BS_BLK_PARTNUM}" ]; then - sgdisk "--change-name="${OSD_BS_BLK_PARTNUM}":KOLLA_CEPH_DATA_BS_B_${OSD_ID}" "--typecode="${OSD_BS_BLK_PARTNUM}":${CEPH_OSD_TYPE_CODE}" -- "${OSD_BS_BLK_DEV}" + sgdisk "--change-name="${OSD_BS_BLK_PARTNUM}":KOLLA_CEPH_DATA_BS_${OSD_ID}_B" "--typecode="${OSD_BS_BLK_PARTNUM}":${CEPH_OSD_TYPE_CODE}" -- "${OSD_BS_BLK_DEV}" else - sgdisk "--change-name=2:KOLLA_CEPH_DATA_BS_B_${OSD_ID}" "--typecode=2:${CEPH_OSD_TYPE_CODE}" -- "${OSD_BS_DEV}" + sgdisk "--change-name=2:KOLLA_CEPH_DATA_BS_${OSD_ID}_B" "--typecode=2:${CEPH_OSD_TYPE_CODE}" -- "${OSD_BS_DEV}" fi if [ -n "${OSD_BS_WAL_DEV}" ] && [ "${OSD_BS_BLK_DEV}" != "${OSD_BS_WAL_DEV}" ] && [ -n "${OSD_BS_WAL_PARTNUM}" ]; then - sgdisk "--change-name="${OSD_BS_WAL_PARTNUM}":KOLLA_CEPH_DATA_BS_W_${OSD_ID}" "--typecode="${OSD_BS_WAL_PARTNUM}":${CEPH_OSD_BS_WAL_TYPE_CODE}" -- "${OSD_BS_WAL_DEV}" + sgdisk "--change-name="${OSD_BS_WAL_PARTNUM}":KOLLA_CEPH_DATA_BS_${OSD_ID}_W" "--typecode="${OSD_BS_WAL_PARTNUM}":${CEPH_OSD_BS_WAL_TYPE_CODE}" -- "${OSD_BS_WAL_DEV}" fi if [ -n "${OSD_BS_DB_DEV}" ] && [ "${OSD_BS_BLK_DEV}" != "${OSD_BS_DB_DEV}" ] && [ -n "${OSD_BS_DB_PARTNUM}" ]; then - sgdisk "--change-name="${OSD_BS_DB_PARTNUM}":KOLLA_CEPH_DATA_BS_D_${OSD_ID}" "--typecode="${OSD_BS_DB_PARTNUM}":${CEPH_OSD_BS_DB_TYPE_CODE}" -- "${OSD_BS_DB_DEV}" + sgdisk "--change-name="${OSD_BS_DB_PARTNUM}":KOLLA_CEPH_DATA_BS_${OSD_ID}_D" "--typecode="${OSD_BS_DB_PARTNUM}":${CEPH_OSD_BS_DB_TYPE_CODE}" -- "${OSD_BS_DB_DEV}" fi partprobe || true - ln -sf /dev/disk/by-partlabel/KOLLA_CEPH_DATA_BS_B_"${OSD_ID}" "${OSD_DIR}"/block + ln -sf /dev/disk/by-partlabel/KOLLA_CEPH_DATA_BS_"${OSD_ID}"_B "${OSD_DIR}"/block if [ -n "${OSD_BS_WAL_DEV}" ] && [ "${OSD_BS_BLK_DEV}" != "${OSD_BS_WAL_DEV}" ] && [ -n "${OSD_BS_WAL_PARTNUM}" ]; then - ln -sf /dev/disk/by-partlabel/KOLLA_CEPH_DATA_BS_W_"${OSD_ID}" "${OSD_DIR}"/block.wal + ln -sf /dev/disk/by-partlabel/KOLLA_CEPH_DATA_BS_"${OSD_ID}"_W "${OSD_DIR}"/block.wal fi if [ -n "${OSD_BS_DB_DEV}" ] && [ "${OSD_BS_BLK_DEV}" != "${OSD_BS_DB_DEV}" ] && [ -n "${OSD_BS_DB_PARTNUM}" ]; then - ln -sf /dev/disk/by-partlabel/KOLLA_CEPH_DATA_BS_D_"${OSD_ID}" "${OSD_DIR}"/block.db + ln -sf /dev/disk/by-partlabel/KOLLA_CEPH_DATA_BS_"${OSD_ID}"_D "${OSD_DIR}"/block.db fi ceph-osd -i "${OSD_ID}" --mkfs -k "${OSD_DIR}"/keyring --osd-uuid "${OSD_UUID}" @@ -156,7 +156,7 @@ if [[ "${!KOLLA_BOOTSTRAP[@]}" ]]; then # Setting partition name based on ${OSD_ID} if [[ "${OSD_STORETYPE}" == "bluestore" ]]; then - sgdisk "--change-name=${OSD_PARTITION_NUM}:KOLLA_CEPH_BSDATA_${OSD_ID}" "--typecode=${OSD_PARTITION_NUM}:${CEPH_OSD_TYPE_CODE}" -- "${OSD_BS_DEV}" + sgdisk "--change-name=${OSD_PARTITION_NUM}:KOLLA_CEPH_DATA_BS_${OSD_ID}" "--typecode=${OSD_PARTITION_NUM}:${CEPH_OSD_TYPE_CODE}" -- "${OSD_BS_DEV}" else sgdisk "--change-name=${OSD_PARTITION_NUM}:KOLLA_CEPH_DATA_${OSD_ID}" "--typecode=${OSD_PARTITION_NUM}:${CEPH_OSD_TYPE_CODE}" -- "${OSD_DEV}" sgdisk "--change-name=${JOURNAL_PARTITION_NUM}:KOLLA_CEPH_DATA_${OSD_ID}_J" "--typecode=${JOURNAL_PARTITION_NUM}:${CEPH_JOURNAL_TYPE_CODE}" -- "${JOURNAL_DEV}" diff --git a/docker/kolla-toolbox/find_disks.py b/docker/kolla-toolbox/find_disks.py index 51cd7a078..5b33882e2 100644 --- a/docker/kolla-toolbox/find_disks.py +++ b/docker/kolla-toolbox/find_disks.py @@ -202,23 +202,23 @@ def extract_disk_info_bs(ct, dev, name, use_udev): if dev.get('DEVTYPE', '') == 'partition': actual_name = get_id_part_entry_name(dev, use_udev) - if (('BOOTSTRAP_BS' in name or 'BSDATA' in name) + if (('BOOTSTRAP_BS' in name or 'DATA_BS' in name) and name in actual_name): - if '_BS_B' in actual_name: + if actual_name.endswith("_B"): kwargs['partition_usage'] = 'block' kwargs['bs_blk_partition_num'] = \ re.sub(r'.*[^\d]', '', dev.device_node) kwargs['bs_blk_device'] = dev.find_parent('block').device_node kwargs['bs_blk_label'] = actual_name return kwargs - if '_BS_D' in actual_name: + if actual_name.endswith("_D"): kwargs['partition_usage'] = 'block.db' kwargs['bs_db_partition_num'] = \ re.sub(r'.*[^\d]', '', dev.device_node) kwargs['bs_db_device'] = dev.find_parent('block').device_node kwargs['bs_db_label'] = actual_name return kwargs - if '_BS_W' in actual_name: + if actual_name.endswith("_W"): kwargs['partition_usage'] = 'block.wal' kwargs['bs_wal_partition_num'] = \ re.sub(r'.*[^\d]', '', dev.device_node) @@ -262,15 +262,15 @@ def combine_info(disks): idx_osd = idx elif (item['partition_usage'] == 'block' and item['bs_blk_label'] == - osds['block_label'][osd_id].replace('_BS', '_BS_B')): + osds['block_label'][osd_id] + "_B"): idx_blk = idx elif (item['partition_usage'] == 'block.wal' and item['bs_wal_label'] == - osds['block_label'][osd_id].replace('_BS', '_BS_W')): + osds['block_label'][osd_id] + "_W"): idx_wal = idx elif (item['partition_usage'] == 'block.db' and item['bs_db_label'] == - osds['block_label'][osd_id].replace('_BS', '_BS_D')): + osds['block_label'][osd_id] + "_D"): idx_db = idx idx = idx + 1 @@ -338,33 +338,10 @@ def main(): ret = list() ct = pyudev.Context() for dev in find_disk(ct, name, match_mode, use_udev): - if '_BSDATA' in name: + if '_BS' in name: info = extract_disk_info_bs(ct, dev, name, use_udev) if info: ret.append(info) - elif '_BS' in name: - info = extract_disk_info_bs(ct, dev, name, use_udev) - if info: - ret.append(info) - - info = extract_disk_info_bs(ct, dev, - name.replace('_BS', '_BS_B'), - use_udev) - if info: - ret.append(info) - - info = extract_disk_info_bs(ct, dev, - - name.replace('_BS', '_BS_W'), - use_udev) - if info: - ret.append(info) - - info = extract_disk_info_bs(ct, dev, - name.replace('_BS', '_BS_D'), - use_udev) - if info: - ret.append(info) else: for info in extract_disk_info(ct, dev, name, use_udev): if info: |
