From 4f68598779706bb3de9e9b8025ec250c43adf60d Mon Sep 17 00:00:00 2001 From: =?utf8?q?S=C3=A9bastien=20Han?= Date: Mon, 23 Mar 2015 12:20:00 +0100 Subject: [PATCH] Rework radosgw keys and data dir path MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Fix the usage of Upstart for Ubuntu machines instead of the init.d script. Note that because of the way upstart init script looks at the radosgw id the command 'start radosgw id=' is broken, you should use 'start radosgw-all' instead. Keep backard compatibility with the radosgw init script as well by using client prefixed by 'client.radosgw'. Signed-off-by: Sébastien Han --- roles/ceph-common/templates/ceph.conf.j2 | 4 ++-- roles/ceph-mon/tasks/ceph_keys.yml | 4 ++-- roles/ceph-radosgw/tasks/pre_requisite.yml | 26 +++++++++++----------- roles/ceph-radosgw/tasks/start_radosgw.yml | 7 +++++- 4 files changed, 23 insertions(+), 18 deletions(-) diff --git a/roles/ceph-common/templates/ceph.conf.j2 b/roles/ceph-common/templates/ceph.conf.j2 index 47c3818d2..a0416525a 100644 --- a/roles/ceph-common/templates/ceph.conf.j2 +++ b/roles/ceph-common/templates/ceph.conf.j2 @@ -141,10 +141,10 @@ rgw dns name = {{ radosgw_dns_name }} {% endif %} host = {{ hostvars[host]['ansible_hostname'] }} - keyring = /etc/ceph/radosgw.{{ hostvars[host]['ansible_hostname'] }}.keyring + keyring = /var/lib/ceph/radosgw/ceph-radosgw.{{ hostvars[host]['ansible_hostname'] }}/keyring rgw socket path = /tmp/radosgw-{{ hostvars[host]['ansible_hostname'] }}.sock log file = /var/log/ceph/radosgw-{{ hostvars[host]['ansible_hostname'] }}.log - rgw data = /var/lib/ceph/radosgw/{{ hostvars[host]['ansible_hostname'] }} + rgw data = /var/lib/ceph/radosgw/ceph-radosgw.{{ hostvars[host]['ansible_hostname'] }} rgw print continue = false {% if radosgw_frontend == 'civetweb' %} rgw frontends = civetweb port={{ radosgw_civetweb_port }} diff --git a/roles/ceph-mon/tasks/ceph_keys.yml b/roles/ceph-mon/tasks/ceph_keys.yml index 73761a2c2..798dae83d 100644 --- a/roles/ceph-mon/tasks/ceph_keys.yml +++ b/roles/ceph-mon/tasks/ceph_keys.yml @@ -7,8 +7,8 @@ - name: Create RGW keyring command: > - ceph auth get-or-create client.radosgw.{{ hostvars[item]['ansible_hostname'] }} osd 'allow rwx' mon 'allow rw' -o /etc/ceph/radosgw.{{ hostvars[item]['ansible_hostname'] }}.keyring - creates=/etc/ceph/radosgw.{{ hostvars[item]['ansible_hostname'] }}.keyring + ceph auth get-or-create client.radosgw.{{ hostvars[item]['ansible_hostname'] }} osd 'allow rwx' mon 'allow rw' -o /etc/ceph/ceph.client.radosgw.{{ hostvars[item]['ansible_hostname'] }}.keyring + creates=/etc/ceph/ceph.client.radosgw.{{ hostvars[item]['ansible_hostname'] }}.keyring when: cephx and radosgw with_items: groups.rgws changed_when: False diff --git a/roles/ceph-radosgw/tasks/pre_requisite.yml b/roles/ceph-radosgw/tasks/pre_requisite.yml index 4e6415323..80fabf82c 100644 --- a/roles/ceph-radosgw/tasks/pre_requisite.yml +++ b/roles/ceph-radosgw/tasks/pre_requisite.yml @@ -1,25 +1,25 @@ --- -- name: Copy RGW bootstrap key - copy: > - src=fetch/{{ fsid }}/etc/ceph/radosgw.{{ ansible_hostname }}.keyring - dest=/etc/ceph/radosgw.{{ ansible_hostname }}.keyring +- name: Create RGW directory + file: > + path=/var/lib/ceph/radosgw/ceph-radosgw.{{ ansible_fqdn }} + state=directory owner=root group=root - mode=600 - when: cephx + mode=0644 -- name: Set RGW bootstrap key permissions - file: > - path=/etc/ceph/radosgw.{{ ansible_hostname }}.keyring - mode=0600 +- name: Copy RGW bootstrap key + copy: > + src=fetch/{{ fsid }}/etc/ceph/ceph.client.radosgw.{{ ansible_hostname }}.keyring + dest=/var/lib/ceph/radosgw/ceph-radosgw.{{ ansible_hostname }}/keyring owner=root group=root + mode=600 when: cephx -- name: Create RGW directory +- name: Activate RGW with upstart file: > - path=/var/lib/ceph/radosgw/{{ ansible_fqdn }} - state=directory + path=/var/lib/ceph/radosgw/ceph-radosgw.{{ ansible_fqdn }}/done + state=touch owner=root group=root mode=0644 diff --git a/roles/ceph-radosgw/tasks/start_radosgw.yml b/roles/ceph-radosgw/tasks/start_radosgw.yml index 574b40862..0db1a1d05 100644 --- a/roles/ceph-radosgw/tasks/start_radosgw.yml +++ b/roles/ceph-radosgw/tasks/start_radosgw.yml @@ -4,7 +4,12 @@ command: /etc/init.d/radosgw status register: rgwstatus ignore_errors: True + when: ansible_distribution != "Ubuntu" + +- name: Start RGW + service: name=radosgw-all state=started + when: ansible_distribution == "Ubuntu" - name: Start RGW command: /etc/init.d/radosgw start - when: rgwstatus.rc != 0 + when: rgwstatus.rc != 0 and ansible_distribution != "Ubuntu" -- 2.39.5