|
...
|
...
|
@@ -71,6 +71,11 @@ CEPH_REPLICAS_SEQ=$(seq ${CEPH_REPLICAS})
|
|
71
|
71
|
# Functions
|
|
72
|
72
|
# ------------
|
|
73
|
73
|
|
|
|
74
|
+function get_ceph_version {
|
|
|
75
|
+ local ceph_version_str=$(sudo ceph daemon mon.$(hostname) version | cut -d '"' -f 4)
|
|
|
76
|
+ echo $ceph_version_str
|
|
|
77
|
+}
|
|
|
78
|
+
|
|
74
|
79
|
# import_libvirt_secret_ceph() - Imports Cinder user key into libvirt
|
|
75
|
80
|
# so it can connect to the Ceph cluster while attaching a Cinder block device
|
|
76
|
81
|
function import_libvirt_secret_ceph {
|
|
...
|
...
|
@@ -154,10 +159,16 @@ EOF
|
|
154
|
154
|
sleep 5
|
|
155
|
155
|
done
|
|
156
|
156
|
|
|
|
157
|
+ # pools data and metadata were removed in the Giant release so depending on the version we apply different commands
|
|
|
158
|
+ local ceph_version=$(get_ceph_version)
|
|
157
|
159
|
# change pool replica size according to the CEPH_REPLICAS set by the user
|
|
158
|
|
- sudo ceph -c ${CEPH_CONF_FILE} osd pool set data size ${CEPH_REPLICAS}
|
|
159
|
|
- sudo ceph -c ${CEPH_CONF_FILE} osd pool set rbd size ${CEPH_REPLICAS}
|
|
160
|
|
- sudo ceph -c ${CEPH_CONF_FILE} osd pool set metadata size ${CEPH_REPLICAS}
|
|
|
160
|
+ if [[ ${ceph_version%.*} -eq 0 ]] && [[ ${ceph_version##*.} -lt 87 ]]; then
|
|
|
161
|
+ sudo ceph -c ${CEPH_CONF_FILE} osd pool set rbd size ${CEPH_REPLICAS}
|
|
|
162
|
+ sudo ceph -c ${CEPH_CONF_FILE} osd pool set data size ${CEPH_REPLICAS}
|
|
|
163
|
+ sudo ceph -c ${CEPH_CONF_FILE} osd pool set metadata size ${CEPH_REPLICAS}
|
|
|
164
|
+ else
|
|
|
165
|
+ sudo ceph -c ${CEPH_CONF_FILE} osd pool set rbd size ${CEPH_REPLICAS}
|
|
|
166
|
+ fi
|
|
161
|
167
|
|
|
162
|
168
|
# create a simple rule to take OSDs instead of host with CRUSH
|
|
163
|
169
|
# then apply this rules to the default pool
|