--- - name: create rados gateway directories file: path: "{{ item }}" state: directory owner: "{{ dir_owner }}" group: "{{ dir_group }}" mode: "{{ dir_mode }}" with_items: - /var/lib/ceph/bootstrap-rgw - /var/lib/ceph/radosgw - /var/lib/ceph/radosgw/{{ cluster }}-rgw.{{ ansible_hostname }} - "{{ rbd_client_admin_socket_path }}" - name: copy rados gateway bootstrap key copy: src: "{{ fetch_directory }}/{{ fsid }}{{ item.name }}" dest: "{{ item.name }}" owner: "{{ key_owner }}" group: "{{ key_group }}" mode: "{{ key_mode }}" with_items: - { name: "/var/lib/ceph/bootstrap-rgw/{{ cluster }}.keyring", copy_key: true } - { name: "/etc/ceph/{{ cluster }}.client.admin.keyring", copy_key: "{{ copy_admin_key }}" } when: - cephx - item.copy_key|bool - name: create rados gateway keyring command: ceph --cluster {{ cluster }} --name client.bootstrap-rgw --keyring /var/lib/ceph/bootstrap-rgw/{{ cluster }}.keyring auth get-or-create client.rgw.{{ ansible_hostname }} osd 'allow rwx' mon 'allow rw' -o /var/lib/ceph/radosgw/{{ cluster }}-rgw.{{ ansible_hostname }}/keyring args: creates: /var/lib/ceph/radosgw/{{ cluster }}-rgw.{{ ansible_hostname }}/keyring changed_when: false when: cephx - name: set rados gateway key permissions (for or after the infernalis release) file: path: /var/lib/ceph/radosgw/{{ cluster }}-rgw.{{ ansible_hostname }}/keyring mode: "{{ key_mode }}" owner: "{{ key_owner }}" group: "{{ key_group }}" when: cephx - name: ensure ceph-radosgw systemd unit file is present command: chkconfig --add ceph-radosgw args: creates: /var/run/systemd/generator.late/ceph-radosgw.service when: - ansible_os_family == "RedHat" - ceph_release_num.{{ ceph_release}} < ceph_release_num.infernalis - name: activate rados gateway with upstart file: path: /var/lib/ceph/radosgw/{{ cluster }}-rgw.{{ ansible_hostname }}/{{ item }} state: touch owner: "{{ activate_file_owner }}" group: "{{ activate_file_group }}" mode: "{{ activate_file_mode }}" with_items: - done - upstart changed_when: false when: ansible_distribution == "Ubuntu" - name: activate rados gateway with sysvinit file: path: /var/lib/ceph/radosgw/{{ cluster }}-rgw.{{ ansible_hostname }}/{{ item }} state: touch owner: "{{ activate_file_owner }}" group: "{{ activate_file_group }}" mode: "{{ activate_file_mode }}" with_items: - done - sysvinit changed_when: false when: ansible_distribution != "Ubuntu" - name: generate rados gateway sudoers file template: src: ceph.j2 dest: /etc/sudoers.d/ceph owner: root group: root mode: 0400 when: ansible_distribution != "Ubuntu"