aboutsummaryrefslogtreecommitdiffstats
path: root/deploy/adapters/ansible/roles/ceph-osd/tasks/install_osd.yml
blob: 2a9ea3a5efa603fad9196a07cbaf9ad5d56dafdf (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
##############################################################################
# Copyright (c) 2016 HUAWEI TECHNOLOGIES CO.,LTD and others.
#
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Apache License, Version 2.0
# which accompanies this distribution, and is available at
# http://www.apache.org/licenses/LICENSE-2.0
##############################################################################
---
- name: create osd lv and mount it on /var/local/osd
  script: create_osd.sh

- name: fetch osd keyring from ceph_adm
  fetch:
    src: "/var/lib/ceph/bootstrap-osd/ceph.keyring"
    dest: "/tmp/ceph.osd.keyring"
    flat: "yes"
  delegate_to: "{{ public_vip.ip }}"
  when: compute_expansion

- name: copy osd keyring
  copy:
    src: "/tmp/ceph.osd.keyring"
    dest: "/var/lib/ceph/bootstrap-osd/ceph.keyring"

- name: prepare osd disk
  shell: ceph-disk prepare --fs-type xfs /var/local/osd

- name: change local/osd dir owner to ceph
  shell: chown -R ceph:ceph /var/local/osd
  when: ansible_os_family == "Debian"

- name: copy ceph-crush-location to osd host
  copy:
    src: ceph-crush-location.in
    dest: /usr/bin/ceph-crush-location
    mode: 0755
  when: ansible_os_family == "RedHat"

- name: activate osd node
  shell: ceph-disk activate /var/local/osd

- name: enable ceph service
  service: name=ceph enabled=yes

- name: rebuild osd after reboot
  blockinfile:
    dest: /etc/init/ceph-osd-all-starter.conf
    insertafter: "^task"
    block: |
      pre-start script
        set -e
        /opt/setup_storage/losetup.sh
        sleep 3
        mount /dev/storage-volumes/ceph0 /var/local/osd
      end script
  when: ansible_os_family == "Debian"

- name: rebuild osd after reboot for centos
  lineinfile:
    dest: /etc/init.d/ceph
    insertafter: "^### END INIT INFO"
    line: "\nsleep 1\nmount /dev/storage-volumes/ceph0 /var/local/osd"
  when: ansible_os_family == "RedHat"