diff options
Diffstat (limited to 'deploy/adapters/ansible/roles/ceph-config/tasks')
-rwxr-xr-x | deploy/adapters/ansible/roles/ceph-config/tasks/create_config.yml | 59 | ||||
-rwxr-xr-x | deploy/adapters/ansible/roles/ceph-config/tasks/main.yml | 5 |
2 files changed, 64 insertions, 0 deletions
diff --git a/deploy/adapters/ansible/roles/ceph-config/tasks/create_config.yml b/deploy/adapters/ansible/roles/ceph-config/tasks/create_config.yml new file mode 100755 index 00000000..0822239e --- /dev/null +++ b/deploy/adapters/ansible/roles/ceph-config/tasks/create_config.yml @@ -0,0 +1,59 @@ +- name: gen ceph fsid + shell: uuidgen + register: ceph_fsid + run_once: true + +- name: gen ceph conf + local_action: + module: "template" + src: "ceph.j2" + dest: "/tmp/ceph.conf" + run_once: true + +- name: "make directory for ceph config file" + file: path="/etc/ceph" state="directory" + +- name: copy ceph conf to dest mon node + copy: src="/tmp/ceph.conf" dest="/etc/ceph/ceph.conf" + +- name: install ceph-related packages + action: "{{ ansible_pkg_mgr }} name={{ item }} state=present" + with_items: + - ceph + +- name: gen create monmap script + local_action: template src="create_monmap.j2" dest="/tmp/create_monmap.sh" mode=0755 + run_once: true + +- name: create monmap + script: /tmp/create_monmap.sh + when: inventory_hostname in groups['ceph_mon'] + +- name: create mon.keyring + shell: "ceph-authtool --create-keyring /tmp/ceph.mon.keyring --gen-key -n mon. --cap mon 'allow *'" + when: inventory_hostname == groups['ceph_mon'][0] + +- name: create admin.keyring + shell: "ceph-authtool --create-keyring /etc/ceph/ceph.client.admin.keyring --gen-key -n client.admin --set-uid=0 --cap mon 'allow *' --cap osd 'allow *' --cap mds 'allow'" + when: inventory_hostname == groups['ceph_mon'][0] + +- name: Add the client.admin key to the ceph.mon.keyring + shell: "ceph-authtool /tmp/ceph.mon.keyring --import-keyring /etc/ceph/ceph.client.admin.keyring" + when: inventory_hostname == groups['ceph_mon'][0] + +- name: fetch mon.keyring to local + fetch: src="/tmp/ceph.mon.keyring" dest="/tmp/ceph.mon.keyring" flat=yes + when: inventory_hostname == groups['ceph_mon'][0] + +- name: fetch client.admin.keyring to local + fetch: src="/etc/ceph/ceph.client.admin.keyring" dest="/tmp/ceph.client.admin.keyring" flat=yes + when: inventory_hostname == groups['ceph_mon'][0] + +- name: copy mon.keyring to remote nodes + copy: src="/tmp/ceph.mon.keyring" dest="/tmp/ceph.mon.keyring" + +- name: copy admin.keyring to remote nodes + copy: src="/tmp/ceph.client.admin.keyring" dest="/etc/ceph/ceph.client.admin.keyring" + + +- meta: flush_handlers diff --git a/deploy/adapters/ansible/roles/ceph-config/tasks/main.yml b/deploy/adapters/ansible/roles/ceph-config/tasks/main.yml new file mode 100755 index 00000000..3512dfb8 --- /dev/null +++ b/deploy/adapters/ansible/roles/ceph-config/tasks/main.yml @@ -0,0 +1,5 @@ +- include: create_config.yml + tags: + - ceph_config + - ceph_deploy + - ceph_mon |