From e5669152dec43f5ea1443f215ae008630e389a60 Mon Sep 17 00:00:00 2001 From: Teoman ONAY Date: Mon, 7 Mar 2022 10:31:14 +0100 Subject: [PATCH] Disable selinux on containers MON and RGW Initially MONs and RGW binded /etc/pki/ca-trust/extracted using the :z flag (introduced to solve an OSP TripleO issue on RHEL - #3638) but using this flag on that specific folder brought other issues like https://bugzilla.redhat.com/show_bug.cgi?id=2026953 The z flag prevents local services (like sssd) running on the host accessing the certificates/files in that folder. Signed-off-by: Teoman ONAY --- .../ceph-container-common/tasks/prerequisites.yml | 3 +++ roles/ceph-mon/templates/ceph-mon.service.j2 | 13 +++++++------ roles/ceph-rgw/templates/ceph-radosgw.service.j2 | 15 ++++++++------- 3 files changed, 18 insertions(+), 13 deletions(-) diff --git a/roles/ceph-container-common/tasks/prerequisites.yml b/roles/ceph-container-common/tasks/prerequisites.yml index cd4e801b6ab..6b0be442aa1 100644 --- a/roles/ceph-container-common/tasks/prerequisites.yml +++ b/roles/ceph-container-common/tasks/prerequisites.yml @@ -34,3 +34,6 @@ mode: 0644 state: present create: yes + +- name: restore certificates selinux context + command: /usr/sbin/restorecon -RF /etc/pki/ca-trust/extracted diff --git a/roles/ceph-mon/templates/ceph-mon.service.j2 b/roles/ceph-mon/templates/ceph-mon.service.j2 index 891e7ea6fab..b4ee84a6edc 100644 --- a/roles/ceph-mon/templates/ceph-mon.service.j2 +++ b/roles/ceph-mon/templates/ceph-mon.service.j2 @@ -27,13 +27,14 @@ ExecStart=/usr/bin/{{ container_binary }} run --rm --name ceph-mon-%i \ --pids-limit={{ 0 if container_binary == 'podman' else -1 }} \ --memory={{ ceph_mon_docker_memory_limit }} \ --cpus={{ ceph_mon_docker_cpu_limit }} \ - -v /var/lib/ceph:/var/lib/ceph:z,rshared \ - -v /etc/ceph:/etc/ceph:z \ - -v /var/run/ceph:/var/run/ceph:z \ - -v /etc/localtime:/etc/localtime:ro \ - -v /var/log/ceph:/var/log/ceph:z \ + --security-opt label:disable \ + -v /var/lib/ceph:/var/lib/ceph:rshared \ + -v /etc/ceph:/etc/ceph \ + -v /var/run/ceph:/var/run/ceph \ + -v /etc/localtime:/etc/localtime \ + -v /var/log/ceph:/var/log/ceph \ {% if ansible_facts['distribution'] == 'RedHat' -%} - -v /etc/pki/ca-trust/extracted:/etc/pki/ca-trust/extracted:z \ + -v /etc/pki/ca-trust/extracted:/etc/pki/ca-trust/extracted \ {% endif -%} {% if mon_docker_privileged | bool -%} --privileged \ diff --git a/roles/ceph-rgw/templates/ceph-radosgw.service.j2 b/roles/ceph-rgw/templates/ceph-radosgw.service.j2 index 7d1c373710d..b7d6fd39d2c 100644 --- a/roles/ceph-rgw/templates/ceph-radosgw.service.j2 +++ b/roles/ceph-rgw/templates/ceph-radosgw.service.j2 @@ -27,22 +27,23 @@ ExecStart=/usr/bin/{{ container_binary }} run --rm --net=host \ --pids-limit={{ 0 if container_binary == 'podman' else -1 }} \ --memory={{ ceph_rgw_docker_memory_limit }} \ --cpus={{ cpu_limit }} \ + --security-opt label:disable \ {% if ceph_rgw_docker_cpuset_cpus is defined -%} --cpuset-cpus="{{ ceph_rgw_docker_cpuset_cpus }}" \ {% endif -%} {% if ceph_rgw_docker_cpuset_mems is defined -%} --cpuset-mems="{{ ceph_rgw_docker_cpuset_mems }}" \ {% endif -%} - -v /var/lib/ceph:/var/lib/ceph:z \ - -v /etc/ceph:/etc/ceph:z \ - -v /var/run/ceph:/var/run/ceph:z \ - -v /etc/localtime:/etc/localtime:ro \ - -v /var/log/ceph:/var/log/ceph:z \ + -v /var/lib/ceph:/var/lib/ceph \ + -v /etc/ceph:/etc/ceph \ + -v /var/run/ceph:/var/run/ceph \ + -v /etc/localtime:/etc/localtime \ + -v /var/log/ceph:/var/log/ceph \ {% if ansible_facts['distribution'] == 'RedHat' -%} - -v /etc/pki/ca-trust/extracted:/etc/pki/ca-trust/extracted:z \ + -v /etc/pki/ca-trust/extracted:/etc/pki/ca-trust/extracted \ {% endif -%} {% if radosgw_frontend_ssl_certificate -%} - -v {{ radosgw_frontend_ssl_certificate }}:{{ radosgw_frontend_ssl_certificate }}:ro \ + -v {{ radosgw_frontend_ssl_certificate }}:{{ radosgw_frontend_ssl_certificate }} \ {% endif -%} -e CEPH_DAEMON=RGW \ -e CLUSTER={{ cluster }} \