@@ -33,6 +33,16 @@ function wait_partition_appear {
33
33
exit 1
34
34
}
35
35
36
+ # Few storage device like loop or NVMe, wiil add "p" between disk & partition
37
+ # name if disk layout is end with number. This function will fix to correct format.
38
+ function part_name_checker {
39
+ if [[ $1 =~ .* [0-9] ]]; then
40
+ echo ${1} p${2}
41
+ else
42
+ echo ${1}${2}
43
+ fi
44
+ }
45
+
36
46
# Bootstrap and exit if KOLLA_BOOTSTRAP variable is set. This catches all cases
37
47
# of the KOLLA_BOOTSTRAP variable being set, including empty.
38
48
if [[ " ${! KOLLA_BOOTSTRAP[@]} " ]]; then
@@ -48,47 +58,26 @@ if [[ "${!KOLLA_BOOTSTRAP[@]}" ]]; then
48
58
if [[ " ${USE_EXTERNAL_JOURNAL} " == " False" ]]; then
49
59
# Formatting disk for ceph
50
60
if [[ " ${OSD_STORETYPE} " == " bluestore" ]]; then
51
- if [[ " ${OSD_BS_DEV} " =~ " /dev/loop" ]]; then
52
- sgdisk --zap-all -- " ${OSD_BS_DEV} " " p${OSD_BS_PARTNUM} "
53
- else
54
- sgdisk --zap-all -- " ${OSD_BS_DEV} " " ${OSD_BS_PARTNUM} "
55
- fi
61
+ sgdisk --zap-all -- " $( part_name_checker $OSD_BS_DEV $OSD_BS_PARTNUM ) "
56
62
57
63
if [ -n " ${OSD_BS_BLK_DEV} " ] && [ " ${OSD_BS_DEV} " != " ${OSD_BS_BLK_DEV} " ] && [ -n " ${OSD_BS_BLK_PARTNUM} " ]; then
58
- if [[ " ${OSD_BS_BLK_DEV} " =~ " /dev/loop" ]]; then
59
- sgdisk --zap-all -- " ${OSD_BS_BLK_DEV} " " p${OSD_BS_BLK_PARTNUM} "
60
- else
61
- sgdisk --zap-all -- " ${OSD_BS_BLK_DEV} " " ${OSD_BS_BLK_PARTNUM} "
62
- fi
64
+ sgdisk --zap-all -- " $( part_name_checker ${OSD_BS_BLK_DEV} ${OSD_BS_BLK_PARTNUM} ) "
63
65
else
64
66
sgdisk --zap-all -- " ${OSD_BS_DEV} "
65
67
sgdisk --new=1:0:+100M --mbrtogpt -- " ${OSD_BS_DEV} "
66
68
sgdisk --largest-new=2 --mbrtogpt -- " ${OSD_BS_DEV} "
67
69
partprobe_device " ${OSD_BS_DEV} "
68
70
69
- if [[ " ${OSD_BS_DEV} " =~ " /dev/loop" ]]; then
70
- wait_partition_appear " ${OSD_BS_DEV} " p2
71
- sgdisk --zap-all -- " ${OSD_BS_DEV} " p2
72
- else
73
- wait_partition_appear " ${OSD_BS_DEV} " 2
74
- sgdisk --zap-all -- " ${OSD_BS_DEV} " 2
75
- fi
71
+ wait_partition_appear " $( part_name_checker $OSD_BS_DEV 2) "
72
+ sgdisk --zap-all -- " $( part_name_checker $OSD_BS_DEV 2) "
76
73
fi
77
74
78
75
if [ -n " ${OSD_BS_WAL_DEV} " ] && [ " ${OSD_BS_BLK_DEV} " != " ${OSD_BS_WAL_DEV} " ] && [ -n " ${OSD_BS_WAL_PARTNUM} " ]; then
79
- if [[ " ${OSD_BS_WAL_DEV} " =~ " /dev/loop" ]]; then
80
- sgdisk --zap-all -- " ${OSD_BS_WAL_DEV} " " p${OSD_BS_WAL_PARTNUM} "
81
- else
82
- sgdisk --zap-all -- " ${OSD_BS_WAL_DEV} " " ${OSD_BS_WAL_PARTNUM} "
83
- fi
76
+ sgdisk --zap-all -- " $( part_name_checker $OSD_BS_WAL_DEV $OSD_BS_WAL_PARTNUM ) "
84
77
fi
85
78
86
79
if [ -n " ${OSD_BS_DB_DEV} " ] && [ " ${OSD_BS_BLK_DEV} " != " ${OSD_BS_DB_DEV} " ] && [ -n " ${OSD_BS_DB_PARTNUM} " ]; then
87
- if [[ " ${OSD_BS_DB_DEV} " =~ " /dev/loop" ]]; then
88
- sgdisk --zap-all -- " ${OSD_BS_DB_DEV} " " p${OSD_BS_DB_PARTNUM} "
89
- else
90
- sgdisk --zap-all -- " ${OSD_BS_DB_DEV} " " ${OSD_BS_DB_PARTNUM} "
91
- fi
80
+ sgdisk --zap-all -- " $( part_name_checker $OSD_BS_DB_DEV $OSD_BS_DB_PARTNUM ) "
92
81
fi
93
82
else
94
83
sgdisk --zap-all -- " ${OSD_DEV} "
@@ -106,13 +95,8 @@ if [[ "${!KOLLA_BOOTSTRAP[@]}" ]]; then
106
95
OSD_DIR=" /var/lib/ceph/osd/ceph-${OSD_ID} "
107
96
mkdir -p " ${OSD_DIR} "
108
97
109
- if [[ " ${OSD_BS_DEV} " =~ " /dev/loop" ]]; then
110
- mkfs.xfs -f " ${OSD_BS_DEV} " " p${OSD_BS_PARTNUM} "
111
- mount " ${OSD_BS_DEV} " " p${OSD_BS_PARTNUM} " " ${OSD_DIR} "
112
- else
113
- mkfs.xfs -f " ${OSD_BS_DEV} " " ${OSD_BS_PARTNUM} "
114
- mount " ${OSD_BS_DEV} " " ${OSD_BS_PARTNUM} " " ${OSD_DIR} "
115
- fi
98
+ mkfs.xfs -f " $( part_name_checker $OSD_BS_DEV $OSD_BS_PARTNUM ) "
99
+ mount " $( part_name_checker $OSD_BS_DEV $OSD_BS_PARTNUM ) " " ${OSD_DIR} "
116
100
117
101
# This will through an error about no key existing. That is normal. It then
118
102
# creates the key in the next step.
@@ -158,11 +142,8 @@ if [[ "${!KOLLA_BOOTSTRAP[@]}" ]]; then
158
142
159
143
ceph auth add " osd.${OSD_ID} " osd ' allow *' mon ' allow profile osd' -i " ${OSD_DIR} /keyring"
160
144
161
- if [[ " ${OSD_BS_DEV} " =~ " /dev/loop" ]]; then
162
- umount " ${OSD_BS_DEV} " " p${OSD_BS_PARTNUM} "
163
- else
164
- umount " ${OSD_BS_DEV} " " ${OSD_BS_PARTNUM} "
165
- fi
145
+ umount " $( part_name_checker $OSD_BS_DEV $OSD_BS_PARTNUM ) "
146
+
166
147
else
167
148
OSD_ID=$( ceph osd create)
168
149
OSD_DIR=" /var/lib/ceph/osd/ceph-${OSD_ID} "
0 commit comments