Update ceph support for mitaka 79/15079/1
authorQiLiang <liangqi1@huawei.com>
Thu, 2 Jun 2016 19:31:33 +0000 (03:31 +0800)
committerQiLiang <liangqi1@huawei.com>
Thu, 2 Jun 2016 19:31:33 +0000 (03:31 +0800)
JIRA: COMPASS-412

Change-Id: Ia51bffe81a09bbb19363eb7d2569fc5a859b33b0
Signed-off-by: QiLiang <liangqi1@huawei.com>
deploy/adapters/ansible/openstack_mitaka/HA-ansible-multinodes.yml
deploy/adapters/ansible/openstack_mitaka/roles/ceph-mon/tasks/install_mon.yml [new file with mode: 0644]
deploy/adapters/ansible/openstack_mitaka/roles/ceph-osd/tasks/install_osd.yml [new file with mode: 0644]

index d33ff32..04739c4 100644 (file)
   roles:
     - secgroup
 
-#- hosts: ceph_adm
-#  remote_user: root
-#  accelerate: true
-#  max_fail_percentage: 0
-#  roles: []
+- hosts: ceph_adm
+  remote_user: root
+  accelerate: true
+  max_fail_percentage: 0
+  roles: []
   #  - ceph-deploy
 
-#- hosts: ceph
-#  remote_user: root
-#  accelerate: true
-#  max_fail_percentage: 0
-#  roles:
-#    - ceph-purge
-#    - ceph-config
-
-#- hosts: ceph_mon
-#  remote_user: root
-#  accelerate: true
-#  max_fail_percentage: 0
-#  roles:
-#    - ceph-mon
-
-#- hosts: ceph_osd
-#  remote_user: root
-#  accelerate: true
-#  max_fail_percentage: 0
-#  roles:
-#    - ceph-osd
-
-#- hosts: ceph
-#  remote_user: root
-#  accelerate: true
-#  max_fail_percentage: 0
-#  roles:
-#    - ceph-openstack
+- hosts: ceph
+  remote_user: root
+  accelerate: true
+  max_fail_percentage: 0
+  roles:
+    - ceph-purge
+    - ceph-config
+
+- hosts: ceph_mon
+  remote_user: root
+  accelerate: true
+  max_fail_percentage: 0
+  roles:
+    - ceph-mon
+
+- hosts: ceph_osd
+  remote_user: root
+  accelerate: true
+  max_fail_percentage: 0
+  roles:
+    - ceph-osd
+
+- hosts: ceph
+  remote_user: root
+  accelerate: true
+  max_fail_percentage: 0
+  roles:
+    - ceph-openstack
 
 - hosts: all
   remote_user: root
diff --git a/deploy/adapters/ansible/openstack_mitaka/roles/ceph-mon/tasks/install_mon.yml b/deploy/adapters/ansible/openstack_mitaka/roles/ceph-mon/tasks/install_mon.yml
new file mode 100644 (file)
index 0000000..0ad666a
--- /dev/null
@@ -0,0 +1,36 @@
+##############################################################################
+# 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
+##############################################################################
+
+- include_vars: "{{ ansible_os_family }}.yml"
+
+- name: Create a default data directory
+  file: path="/var/lib/ceph/mon/ceph-{{ inventory_hostname }}" state="directory"
+
+- name: Populate the monitor daemon
+  shell: "ceph-mon --mkfs -i {{ inventory_hostname }} --monmap /tmp/monmap --keyring /tmp/ceph.mon.keyring"
+
+- name: Change ceph/mon dir owner to ceph
+  shell: "chown -R ceph:ceph /var/lib/ceph/mon"
+  when: ansible_os_family == "Debian"
+
+- name: Touch the done and auto start file
+  file: path="/var/lib/ceph/mon/ceph-{{ inventory_hostname }}/{{ item }}" state="touch"
+  with_items:
+    - "done"
+    - "{{ ceph_start_type }}"
+
+- name: start mon daemon
+  shell: "{{ ceph_start_script }}"
+
+- name: wait for creating osd keyring
+  wait_for: path=/var/lib/ceph/bootstrap-osd/ceph.keyring
+
+- name: fetch osd keyring
+  fetch: src="/var/lib/ceph/bootstrap-osd/ceph.keyring" dest="/tmp/ceph.osd.keyring" flat=yes
+  run_once: True
diff --git a/deploy/adapters/ansible/openstack_mitaka/roles/ceph-osd/tasks/install_osd.yml b/deploy/adapters/ansible/openstack_mitaka/roles/ceph-osd/tasks/install_osd.yml
new file mode 100644 (file)
index 0000000..0e47608
--- /dev/null
@@ -0,0 +1,37 @@
+##############################################################################
+# 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: 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 ceph:ceph /var/local/osd
+  when: ansible_os_family == "Debian"
+
+- 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
+  lineinfile: dest=/etc/init/ceph-osd-all-starter.conf insertafter="^task" line="pre-start script\n  set -e\n  /opt/setup_storage/losetup.sh\n  sleep 3\n  mount /dev/storage-volumes/ceph0 /var/local/osd\nend 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"
+