From c9e1fe3d928111275be5ab06ae01d82df8fa8bd4 Mon Sep 17 00:00:00 2001 From: Dimitri Savineau Date: Mon, 20 Jan 2020 11:24:08 -0500 Subject: [PATCH] ceph-osd: set container objectstore env variables Because we need to manage legacy ceph-disk based OSD with ceph-volume then we need a way to know the osd_objectstore in the container. This was done like this previously with ceph-disk so we should also do it with ceph-volume. Note that this won't have any impact for ceph-volume lvm based OSD. Rename docker_env_args fact to container_env_args and move the container condition on the include_tasks call. Remove OSD_DMCRYPT env variable from the ceph-osd template because it's now included in the container_env_args variable. Closes: https://bugzilla.redhat.com/show_bug.cgi?id=1792122 Signed-off-by: Dimitri Savineau --- .../tasks/container_options_facts.yml | 20 ++++++++----------- roles/ceph-osd/tasks/main.yml | 1 + roles/ceph-osd/templates/ceph-osd-run.sh.j2 | 6 +----- 3 files changed, 10 insertions(+), 17 deletions(-) diff --git a/roles/ceph-osd/tasks/container_options_facts.yml b/roles/ceph-osd/tasks/container_options_facts.yml index ea4265e76..f9f6b5347 100644 --- a/roles/ceph-osd/tasks/container_options_facts.yml +++ b/roles/ceph-osd/tasks/container_options_facts.yml @@ -1,32 +1,28 @@ --- -- name: set_fact docker_env_args '-e osd_bluestore=0 -e osd_filestore=1 -e osd_dmcrypt=0' +- name: set_fact container_env_args '-e osd_bluestore=0 -e osd_filestore=1 -e osd_dmcrypt=0' set_fact: - docker_env_args: -e OSD_BLUESTORE=0 -e OSD_FILESTORE=1 -e OSD_DMCRYPT=0 + container_env_args: -e OSD_BLUESTORE=0 -e OSD_FILESTORE=1 -e OSD_DMCRYPT=0 when: - - containerized_deployment | bool - osd_objectstore == 'filestore' - not dmcrypt | bool -- name: set_fact docker_env_args '-e osd_bluestore=0 -e osd_filestore=1 -e osd_dmcrypt=1' +- name: set_fact container_env_args '-e osd_bluestore=0 -e osd_filestore=1 -e osd_dmcrypt=1' set_fact: - docker_env_args: -e OSD_BLUESTORE=0 -e OSD_FILESTORE=1 -e OSD_DMCRYPT=1 + container_env_args: -e OSD_BLUESTORE=0 -e OSD_FILESTORE=1 -e OSD_DMCRYPT=1 when: - - containerized_deployment | bool - osd_objectstore == 'filestore' - dmcrypt | bool -- name: set_fact docker_env_args '-e osd_bluestore=1 -e osd_filestore=0 -e osd_dmcrypt=0' +- name: set_fact container_env_args '-e osd_bluestore=1 -e osd_filestore=0 -e osd_dmcrypt=0' set_fact: - docker_env_args: -e OSD_BLUESTORE=1 -e OSD_FILESTORE=0 -e OSD_DMCRYPT=0 + container_env_args: -e OSD_BLUESTORE=1 -e OSD_FILESTORE=0 -e OSD_DMCRYPT=0 when: - - containerized_deployment | bool - osd_objectstore == 'bluestore' - not dmcrypt | bool -- name: set_fact docker_env_args '-e osd_bluestore=1 -e osd_filestore=0 -e osd_dmcrypt=1' +- name: set_fact container_env_args '-e osd_bluestore=1 -e osd_filestore=0 -e osd_dmcrypt=1' set_fact: - docker_env_args: -e OSD_BLUESTORE=1 -e OSD_FILESTORE=0 -e OSD_DMCRYPT=1 + container_env_args: -e OSD_BLUESTORE=1 -e OSD_FILESTORE=0 -e OSD_DMCRYPT=1 when: - - containerized_deployment | bool - osd_objectstore == 'bluestore' - dmcrypt | bool diff --git a/roles/ceph-osd/tasks/main.yml b/roles/ceph-osd/tasks/main.yml index d62944526..6f21b2905 100644 --- a/roles/ceph-osd/tasks/main.yml +++ b/roles/ceph-osd/tasks/main.yml @@ -47,6 +47,7 @@ - name: include container_options_facts.yml include_tasks: container_options_facts.yml + when: containerized_deployment | bool - name: include_tasks scenarios/lvm.yml include_tasks: scenarios/lvm.yml diff --git a/roles/ceph-osd/templates/ceph-osd-run.sh.j2 b/roles/ceph-osd/templates/ceph-osd-run.sh.j2 index 9b3bd6e9e..06eeaa2de 100644 --- a/roles/ceph-osd/templates/ceph-osd-run.sh.j2 +++ b/roles/ceph-osd/templates/ceph-osd-run.sh.j2 @@ -37,11 +37,7 @@ numactl \ {% if ansible_distribution == 'Ubuntu' -%} --security-opt apparmor:unconfined \ {% endif -%} - {% if dmcrypt -%} - -e OSD_DMCRYPT=1 \ - {% else -%} - -e OSD_DMCRYPT=0 \ - {% endif -%} + {{ container_env_args }} \ -e CLUSTER={{ cluster }} \ {% 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 }} \ -- 2.47.3