mirror of https://github.com/ceph/ceph-ansible.git
osd: discover osd_objectstore on the fly
Applying and passing the OSD_BLUESTORE/FILESTORE on the fly is wrong for
existing clusters as their config will be changed.
Typically, if an OSD was prepared with ceph-disk on filestore and we
change the default objectstore to bluestore, the activation will fail.
The flag osd_objectstore should only be used for the preparation, not
activation. The activate in this case detects the osd objecstore which
prevents failures like the one described above.
Signed-off-by: Sébastien Han <seb@redhat.com>
(cherry picked from commit 4c51130198
)
pull/3415/head
parent
1151521784
commit
8d1c67beb2
|
@ -56,6 +56,13 @@ function expose_partitions {
|
||||||
|
|
||||||
expose_partitions "$1"
|
expose_partitions "$1"
|
||||||
|
|
||||||
|
# discover osd_objectstore for ceph-disk based osds
|
||||||
|
if [[ $DOCKER_ENV =~ "BLUESTORE" ]]; then
|
||||||
|
DOCKER_ENV="$DOCKER_ENV -e OSD_BLUESTORE=1"
|
||||||
|
elif [[ $DOCKER_ENV =~ "JOURNAL" ]]; then
|
||||||
|
DOCKER_ENV="$DOCKER_ENV -e OSD_FILESTORE=1"
|
||||||
|
fi
|
||||||
|
|
||||||
{% endif -%}
|
{% endif -%}
|
||||||
|
|
||||||
|
|
||||||
|
@ -93,22 +100,11 @@ expose_partitions "$1"
|
||||||
-e KV_IP={{ kv_endpoint }} \
|
-e KV_IP={{ kv_endpoint }} \
|
||||||
-e KV_PORT={{ kv_port }} \
|
-e KV_PORT={{ kv_port }} \
|
||||||
{% endif -%}
|
{% endif -%}
|
||||||
{% if osd_objectstore == 'filestore' and not dmcrypt -%}
|
{% if dmcrypt -%}
|
||||||
-e OSD_FILESTORE=1 \
|
|
||||||
-e OSD_DMCRYPT=0 \
|
|
||||||
{% endif -%}
|
|
||||||
{% if osd_objectstore == 'filestore' and dmcrypt -%}
|
|
||||||
-e OSD_FILESTORE=1 \
|
|
||||||
-e OSD_DMCRYPT=1 \
|
-e OSD_DMCRYPT=1 \
|
||||||
{% endif -%}
|
{% else -%}
|
||||||
{% if osd_objectstore == 'bluestore' and not dmcrypt -%}
|
|
||||||
-e OSD_BLUESTORE=1 \
|
|
||||||
-e OSD_DMCRYPT=0 \
|
-e OSD_DMCRYPT=0 \
|
||||||
{% endif -%}
|
{% endif -%}
|
||||||
{% if osd_objectstore == 'bluestore' and dmcrypt -%}
|
|
||||||
-e OSD_BLUESTORE=1 \
|
|
||||||
-e OSD_DMCRYPT=1 \
|
|
||||||
{% endif -%}
|
|
||||||
-e CLUSTER={{ cluster }} \
|
-e CLUSTER={{ cluster }} \
|
||||||
{% if (ceph_tcmalloc_max_total_thread_cache | int) > 0 and osd_objectstore == 'filestore' -%}
|
{% if (ceph_tcmalloc_max_total_thread_cache | int) > 0 and osd_objectstore == 'filestore' -%}
|
||||||
-e TCMALLOC_MAX_TOTAL_THREAD_CACHE_BYTES={{ ceph_tcmalloc_max_total_thread_cache }} \
|
-e TCMALLOC_MAX_TOTAL_THREAD_CACHE_BYTES={{ ceph_tcmalloc_max_total_thread_cache }} \
|
||||||
|
|
Loading…
Reference in New Issue