Use the disk size as the osd weight when osd_initial_weight is auto

In most of case, the disks used by ceph have different size. Use the
default value 1 may block the ceph when one disk is full. Use the disk
size as osd weight will more reasonally.

TrivialFix

Change-Id: Ib875c7289188cbb9380355baf0c8048f1eb09332
This commit is contained in:
Jeffrey Zhang 2016-06-18 11:44:36 +08:00
parent b7435eeb15
commit d4269334dd
3 changed files with 16 additions and 0 deletions

View File

@ -200,6 +200,7 @@ COPY apt_preferences.{{ base_distro }} /etc/apt/preferences
{% set base_apt_packages = [
'ca-certificates',
'curl',
'gawk',
'lvm2',
'open-iscsi',
'python',

View File

@ -50,6 +50,10 @@ if [[ "${!KOLLA_BOOTSTRAP[@]}" ]]; then
CEPH_ROOT_NAME=cache
fi
if [[ "${OSD_INITIAL_WEIGHT}" == "auto" ]]; then
OSD_INITIAL_WEIGHT=$(parted --script ${OSD_PARTITION} unit TB print | awk 'match($0, /^Disk.* (.*)TB/, a){printf("%.2f", a[1])}')
fi
# These commands only need to be run once per host but are safe to run
# repeatedly. This can be improved later or if any problems arise.
ceph osd crush add-bucket "${HOSTNAME}${CEPH_ROOT_NAME:+-${CEPH_ROOT_NAME}}" host

View File

@ -0,0 +1,11 @@
---
prelude: >
In most of case, the disks used by ceph have different size. Use the default
value 1 may block the ceph when one disk is full. Use the disk size as osd
weight will more reasonally.
features:
- support using the disk size as the osd weight when osd_initial_weight is
auto
upgrade:
- the os_initial_weight still has the default value 1, it will not break
cluster when upgrading.