diff options
author | wutianwei <wutianwei1@huawei.com> | 2017-08-07 20:03:34 +0800 |
---|---|---|
committer | wutianwei <wutianwei1@huawei.com> | 2017-08-15 09:22:02 +0800 |
commit | 3fc9da6b7dd0e3dc2d1afd7b2dfad4f4189232d4 (patch) | |
tree | a03ad37d191ef0f85d7f36ceb8daa117d7e56297 /deploy/adapters/ansible/roles/storage | |
parent | 37db53e73201a46d673a5a52844a8c5d640b9403 (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.yml | 45 | ||||
-rwxr-xr-x | deploy/adapters/ansible/roles/storage/tasks/main.yml | 8 | ||||
-rw-r--r-- | deploy/adapters/ansible/roles/storage/vars/main.yml | 18 |
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' |