summaryrefslogtreecommitdiffstats
path: root/deploy/adapters/ansible/roles/storage
diff options
context:
space:
mode:
authorwutianwei <wutianwei1@huawei.com>2017-08-07 20:03:34 +0800
committerwutianwei <wutianwei1@huawei.com>2017-08-15 09:22:02 +0800
commit3fc9da6b7dd0e3dc2d1afd7b2dfad4f4189232d4 (patch)
treea03ad37d191ef0f85d7f36ceb8daa117d7e56297 /deploy/adapters/ansible/roles/storage
parent37db53e73201a46d673a5a52844a8c5d640b9403 (diff)
Make the storage use ceph
1. ceph.yml define which host install ceph-mon and ceph-osd 2. user_ceph.yml define variables of ceph and cinder backend 3. user_variables_ceph.yml.j2 define variables of ceph for user Change-Id: Iafea998f4603eb4b5c15a26f2387e6cb04c35d4c Signed-off-by: wutianwei <wutianwei1@huawei.com>
Diffstat (limited to 'deploy/adapters/ansible/roles/storage')
-rw-r--r--deploy/adapters/ansible/roles/storage/tasks/ceph.yml45
-rwxr-xr-xdeploy/adapters/ansible/roles/storage/tasks/main.yml8
-rw-r--r--deploy/adapters/ansible/roles/storage/vars/main.yml18
3 files changed, 71 insertions, 0 deletions
diff --git a/deploy/adapters/ansible/roles/storage/tasks/ceph.yml b/deploy/adapters/ansible/roles/storage/tasks/ceph.yml
new file mode 100644
index 00000000..e024c671
--- /dev/null
+++ b/deploy/adapters/ansible/roles/storage/tasks/ceph.yml
@@ -0,0 +1,45 @@
+---
+# Copyright 2016, Logan Vig <logan2211@gmail.com>
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+- name: Create sparse ceph OSD files
+ command: truncate -s {{ host_loopback_ceph_size }} /var/{{ item }}.img
+ args:
+ creates: "/var/{{ item }}.img"
+ with_items: "{{ ceph_osd_images }}"
+ register: ceph_create
+ changed_when: false
+
+- name: Create the ceph loopback device
+ command: losetup -f /var/{{ item.item }}.img --show
+ with_items: "{{ ceph_create.results }}"
+ register: ceph_loopback
+ when: not item|skipped
+ changed_when: false
+
+- name: register ceph_loopback to localhost
+ set_fact:
+ fact_for_ceph: "{{ ceph_loopback.results | map(attribute='stdout') | list | to_yaml | trim }}"
+
+- name: Ensure that rc.local exists
+ file:
+ path: "{{ rc_local }}"
+ state: touch
+ mode: "u+x"
+
+- name: Create ceph loopback at boot time
+ lineinfile:
+ dest: "{{ rc_local }}"
+ line: "losetup -f /var/{{ item }}.img"
+ insertbefore: "{{ rc_local_insert_before }}"
+ with_items: "{{ ceph_osd_images }}"
diff --git a/deploy/adapters/ansible/roles/storage/tasks/main.yml b/deploy/adapters/ansible/roles/storage/tasks/main.yml
index b054be9e..3d9635cc 100755
--- a/deploy/adapters/ansible/roles/storage/tasks/main.yml
+++ b/deploy/adapters/ansible/roles/storage/tasks/main.yml
@@ -65,4 +65,12 @@
tags:
- storage
+- name: load ceph.yml
+ include: ceph.yml
+ when:
+ - "{{ hostvars[inventory_hostname]['groups']['ceph_mon'] |length > 0 }}"
+ - "{{ hostvars[inventory_hostname]['groups']['ceph_osd'] | length > 0 }}"
+ tags:
+ - storage
+
- meta: flush_handlers
diff --git a/deploy/adapters/ansible/roles/storage/vars/main.yml b/deploy/adapters/ansible/roles/storage/vars/main.yml
new file mode 100644
index 00000000..28e2ad06
--- /dev/null
+++ b/deploy/adapters/ansible/roles/storage/vars/main.yml
@@ -0,0 +1,18 @@
+##############################################################################
+# 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
+##############################################################################
+---
+host_loopback_ceph_size: "100G"
+rc_local: /etc/rc.local
+rc_local_insert_before: "^exit 0$"
+bootstrap_host_data_disk_device: null
+bootstrap_host_data_disk_device_force: "no"
+ceph_osd_images:
+ - 'ceph1'
+ - 'ceph2'
+ - 'ceph3'