From b25c6b15fea6b5114cf417152ead0abade08ffc1 Mon Sep 17 00:00:00 2001 From: jackning Date: Fri, 13 Jan 2017 11:13:35 +0800 Subject: [PATCH] Render ceph.conf using merge_configs At present, cinder/nova/glance/gnocchi relative containers's ceph.conf aren't be merge from user custom's config. In some condition, we should add extra parameter to custom's ceph.conf, for example:rbd_default_features = 1. So, it is necessary to use merge_configs instead of template. Closes-Bug: #1656162 Change-Id: I824e0c68af270b85c52382ae35987213266fc6f6 --- ansible/roles/cinder/tasks/ceph.yml | 11 ++++++++--- ansible/roles/glance/tasks/ceph.yml | 9 ++++++--- ansible/roles/gnocchi/tasks/ceph.yml | 11 ++++++++--- ansible/roles/nova/tasks/ceph.yml | 11 ++++++++--- 4 files changed, 30 insertions(+), 12 deletions(-) diff --git a/ansible/roles/cinder/tasks/ceph.yml b/ansible/roles/cinder/tasks/ceph.yml index abf4606d9b..45d6790770 100644 --- a/ansible/roles/cinder/tasks/ceph.yml +++ b/ansible/roles/cinder/tasks/ceph.yml @@ -8,9 +8,14 @@ - "cinder-backup" when: inventory_hostname in groups['cinder-volume'] -- name: Copying over config(s) - template: - src: roles/ceph/templates/ceph.conf.j2 +- name: Copying over ceph.conf(s) + merge_configs: + vars: + service_name: "{{ item }}" + sources: + - "{{ role_path }}/../ceph/templates/ceph.conf.j2" + - "{{ node_custom_config }}/ceph.conf" + - "{{ node_custom_config }}/ceph/{{ inventory_hostname }}/ceph.conf" dest: "{{ node_config_directory }}/{{ item }}/ceph.conf" with_items: - "cinder-volume" diff --git a/ansible/roles/glance/tasks/ceph.yml b/ansible/roles/glance/tasks/ceph.yml index cb031fa09e..ad7aa07173 100644 --- a/ansible/roles/glance/tasks/ceph.yml +++ b/ansible/roles/glance/tasks/ceph.yml @@ -5,9 +5,12 @@ state: "directory" when: inventory_hostname in groups['glance-api'] -- name: Copying over config(s) - template: - src: roles/ceph/templates/ceph.conf.j2 +- name: Copying over ceph.conf(s) + merge_configs: + sources: + - "{{ role_path }}/../ceph/templates/ceph.conf.j2" + - "{{ node_custom_config }}/ceph.conf" + - "{{ node_custom_config }}/ceph/{{ inventory_hostname }}/ceph.conf" dest: "{{ node_config_directory }}/glance-api/ceph.conf" when: inventory_hostname in groups['glance-api'] diff --git a/ansible/roles/gnocchi/tasks/ceph.yml b/ansible/roles/gnocchi/tasks/ceph.yml index e5c6d9a169..79717c1ffa 100644 --- a/ansible/roles/gnocchi/tasks/ceph.yml +++ b/ansible/roles/gnocchi/tasks/ceph.yml @@ -9,9 +9,14 @@ - "gnocchi-metricd" - "gnocchi-statsd" -- name: Copying over config(s) - template: - src: roles/ceph/templates/ceph.conf.j2 +- name: Copying over ceph.conf(s) + merge_configs: + vars: + service_name: "{{ item }}" + sources: + - "{{ role_path }}/../ceph/templates/ceph.conf.j2" + - "{{ node_custom_config }}/ceph.conf" + - "{{ node_custom_config }}/ceph/{{ inventory_hostname }}/ceph.conf" dest: "{{ node_config_directory }}/{{ item }}/ceph.conf" when: inventory_hostname in groups[item] with_items: diff --git a/ansible/roles/nova/tasks/ceph.yml b/ansible/roles/nova/tasks/ceph.yml index 36a2dfc2a4..b7bd94839f 100644 --- a/ansible/roles/nova/tasks/ceph.yml +++ b/ansible/roles/nova/tasks/ceph.yml @@ -8,9 +8,14 @@ - "nova-libvirt/secrets" when: inventory_hostname in groups['compute'] -- name: Copying over config(s) - template: - src: roles/ceph/templates/ceph.conf.j2 +- name: Copying over ceph.conf(s) + merge_configs: + vars: + service_name: "{{ item }}" + sources: + - "{{ role_path }}/../ceph/templates/ceph.conf.j2" + - "{{ node_custom_config }}/ceph.conf" + - "{{ node_custom_config }}/ceph/{{ inventory_hostname }}/ceph.conf" dest: "{{ node_config_directory }}/{{ item }}/ceph.conf" with_items: - "nova-compute"