]> git.apps.os.sepia.ceph.com Git - ceph-ansible.git/commitdiff
ceph-mgr: refact role for containers
authorSébastien Han <seb@redhat.com>
Mon, 3 Dec 2018 10:15:30 +0000 (11:15 +0100)
committerGuillaume Abrioux <gabrioux@redhat.com>
Mon, 3 Dec 2018 13:39:43 +0000 (14:39 +0100)
Now we simplify the invocation of start and remove some code and the
directory 'docker'.

Signed-off-by: Sébastien Han <seb@redhat.com>
roles/ceph-mgr/tasks/common.yml
roles/ceph-mgr/tasks/docker/main.yml [deleted file]
roles/ceph-mgr/tasks/docker/start_docker_mgr.yml [deleted file]
roles/ceph-mgr/tasks/main.yml
roles/ceph-mgr/tasks/pre_requisite.yml
roles/ceph-mgr/tasks/start_mgr.yml [new file with mode: 0644]

index 20d60843647473a953f79a98fa977262192cda1c..49907acae8db2191e04179d6feaa768f8050693a 100644 (file)
@@ -7,6 +7,26 @@
     group: "{{ ceph_uid if containerized_deployment else 'ceph' }}"
     mode: "0755"
 
+- name: fetch ceph mgr keyring
+  ceph_key:
+    name: "mgr.{{ ansible_hostname }}"
+    state: present
+    caps:
+      mon: allow profile mgr
+      osd: allow *
+      mds: allow *
+    cluster: "{{ cluster }}"
+    secret: "{{ (mgr_secret != 'mgr_secret') | ternary(mgr_secret, omit) }}"
+    owner: "{{ ceph_uid if containerized_deployment else 'ceph' }}"
+    group: "{{ ceph_uid if containerized_deployment else 'ceph' }}"
+    mode: "0400"
+    dest: "/var/lib/ceph/mgr/{{ cluster }}-{{ ansible_hostname }}/keyring"
+  environment:
+    CEPH_CONTAINER_IMAGE: "{{ ceph_docker_registry + '/' + ceph_docker_image + ':' + ceph_docker_image_tag if containerized_deployment else None }}"
+    CEPH_CONTAINER_BINARY: "{{ container_binary }}"
+  when:
+    - groups.get(mgr_group_name, []) | length == 0 # the key is present already since one of the mons created it in "create ceph mgr keyring(s)"
+
 - name: copy ceph keyring(s) if needed
   copy:
     src: "{{ fetch_directory }}/{{ fsid }}/{{ item.name }}"
@@ -19,6 +39,7 @@
     - { name: "/etc/ceph/{{ cluster }}.client.admin.keyring", dest: "/etc/ceph/{{ cluster }}.client.admin.keyring", copy_key: "{{ copy_admin_key }}" }
   when:
     - cephx
+    - groups.get(mgr_group_name, []) | length > 0
     - item.copy_key|bool
 
 - name: set mgr key permissions
@@ -28,5 +49,4 @@
     group: "{{ ceph_uid if containerized_deployment else 'ceph' }}"
     mode: "{{ ceph_keyring_permissions }}"
   when:
-    - cephx
-    - groups.get(mgr_group_name, []) | length > 0
+    - cephx
\ No newline at end of file
diff --git a/roles/ceph-mgr/tasks/docker/main.yml b/roles/ceph-mgr/tasks/docker/main.yml
deleted file mode 100644 (file)
index 1737f1b..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
----
-- name: include start_docker_mgr.yml
-  include_tasks: start_docker_mgr.yml
diff --git a/roles/ceph-mgr/tasks/docker/start_docker_mgr.yml b/roles/ceph-mgr/tasks/docker/start_docker_mgr.yml
deleted file mode 100644 (file)
index 40e623b..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
----
-- name: generate systemd unit file
-  become: true
-  template:
-    src: "{{ role_path }}/templates/ceph-mgr.service.j2"
-    dest: /etc/systemd/system/ceph-mgr@.service
-    owner: "root"
-    group: "root"
-    mode: "0644"
-  notify:
-    - restart ceph mgrs
-
-- name: systemd start mgr container
-  systemd:
-    name: ceph-mgr@{{ ansible_hostname }}
-    state: started
-    enabled: yes
-    daemon_reload: yes
\ No newline at end of file
index 80e269d9e7f2d3a3443ab0f26cce05ab718f5718..ff1ac2ea65e3255af949e36d7ecc87fbae01da0c 100644 (file)
@@ -12,9 +12,8 @@
   include_tasks: pre_requisite.yml
   when: not containerized_deployment
 
-- name: include docker/main.yml
-  include_tasks: docker/main.yml
-  when: containerized_deployment
+- name: inclide start_mgr.yml
+  include_tasks: start_mgr.yml
 
 - name: get enabled modules from ceph-mgr
   command: "{{ docker_exec_cmd_mgr | default('') }} ceph --cluster {{ cluster }} --format json mgr module ls"
index 21d604897d6fc063491ced4e5b3e474d0666579b..401e5fd6d9660ccc59f0df9641f5b9a39ab73805 100644 (file)
     default_release: "{{ ceph_stable_release_uca | default(omit) }}{{ ansible_distribution_release ~ '-backports' if ceph_origin == 'distro' and ceph_use_distro_backports else '' }}"
   when:
     - ansible_os_family == 'Debian'
-
-- name: ensure systemd service override directory exists
-  file:
-    state: directory
-    path: "/etc/systemd/system/ceph-mgr@.service.d/"
-  when:
-    - ceph_mgr_systemd_overrides is defined
-    - ansible_service_mgr == 'systemd'
-
-- name: add ceph-mgr systemd service overrides
-  config_template:
-    src: "ceph-mgr.service.d-overrides.j2"
-    dest: "/etc/systemd/system/ceph-mgr@.service.d/ceph-mgr-systemd-overrides.conf"
-    config_overrides: "{{ ceph_mgr_systemd_overrides | default({}) }}"
-    config_type: "ini"
-  when:
-    - ceph_mgr_systemd_overrides is defined
-    - ansible_service_mgr == 'systemd'
-
-- name: start and add that the mgr service to the init sequence
-  service:
-    name: "ceph-mgr@{{ ansible_hostname }}"
-    state: started
-    enabled: yes
-  changed_when: false
diff --git a/roles/ceph-mgr/tasks/start_mgr.yml b/roles/ceph-mgr/tasks/start_mgr.yml
new file mode 100644 (file)
index 0000000..19c1c8b
--- /dev/null
@@ -0,0 +1,38 @@
+---
+- name: ensure systemd service override directory exists
+  file:
+    state: directory
+    path: "/etc/systemd/system/ceph-mgr@.service.d/"
+  when:
+    - ceph_mgr_systemd_overrides is defined
+    - ansible_service_mgr == 'systemd'
+
+- name: add ceph-mgr systemd service overrides
+  config_template:
+    src: "ceph-mgr.service.d-overrides.j2"
+    dest: "/etc/systemd/system/ceph-mgr@.service.d/ceph-mgr-systemd-overrides.conf"
+    config_overrides: "{{ ceph_mgr_systemd_overrides | default({}) }}"
+    config_type: "ini"
+  when:
+    - ceph_mgr_systemd_overrides is defined
+    - ansible_service_mgr == 'systemd'
+
+- name: generate systemd unit file
+  become: true
+  template:
+    src: "{{ role_path }}/templates/ceph-mgr.service.j2"
+    dest: /etc/systemd/system/ceph-mgr@.service
+    owner: "root"
+    group: "root"
+    mode: "0644"
+  when:
+    - containerized_deployment
+  notify:
+    - restart ceph mgrs
+
+- name: systemd start mgr
+  systemd:
+    name: ceph-mgr@{{ ansible_hostname }}
+    state: started
+    enabled: yes
+    daemon_reload: yes
\ No newline at end of file