Allow user to choose filesystem for osd

Change-Id: I9c770a08219d2eead5ece8e3462157359cd920cb
Partially-Implements: blueprint ceph-improvements
This commit is contained in:
SamYaple 2016-03-19 02:48:22 +00:00
parent e9b9a84157
commit 6d0cd535d3
5 changed files with 20 additions and 2 deletions

View File

@ -225,6 +225,12 @@ ceph_enable_cache: "no"
# Valid options are [ forward, none, writeback ]
ceph_cache_mode: "writeback"
# Valid options are [ ext4, btrfs, xfs ]
ceph_osd_filesystem: "xfs"
# These are /etc/fstab options. Comma seperated, no spaces (see fstab(8))
ceph_osd_mount_options: "defaults,noatime"
# A requirement for using the erasure-coded pools is you must setup a cache tier
# Valid options are [ erasure, replicated ]
ceph_pool_type: "replicated"

View File

@ -32,6 +32,7 @@
KOLLA_BOOTSTRAP:
KOLLA_CONFIG_STRATEGY: "{{ config_strategy }}"
OSD_DEV: "{{ item.1.device }}"
OSD_FILESYSTEM: "{{ ceph_osd_filesystem }}"
OSD_INITIAL_WEIGHT: "{{ osd_initial_weight }}"
HOSTNAME: "{{ hostvars[inventory_hostname]['ansible_' + storage_interface]['ipv4']['address'] }}"
image: "{{ ceph_osd_image_full }}"
@ -55,6 +56,7 @@
KOLLA_CONFIG_STRATEGY: "{{ config_strategy }}"
CEPH_CACHE:
OSD_DEV: "{{ item.1.device }}"
OSD_FILESYSTEM: "{{ ceph_osd_filesystem }}"
OSD_INITIAL_WEIGHT: "{{ osd_initial_weight }}"
HOSTNAME: "{{ hostvars[inventory_hostname]['ansible_' + storage_interface]['ipv4']['address'] }}"
image: "{{ ceph_osd_image_full }}"

View File

@ -14,9 +14,10 @@
- name: Mounting Ceph OSD volumes
mount:
src: "UUID={{ item.fs_uuid }}"
fstype: xfs
fstype: "{{ ceph_osd_filesystem }}"
state: mounted
name: "/var/lib/ceph/osd/{{ item['fs_uuid'] }}"
opts: "{{ ceph_osd_mount_options }}"
with_items: osds
- name: Gathering OSD IDs

View File

@ -8,6 +8,7 @@ RUN yum -y install \
ceph-radosgw \
parted \
hdparm \
btrfs-progs \
&& yum clean all
{% elif base_distro in ['ubuntu', 'debian'] %}
@ -17,6 +18,7 @@ RUN apt-get install -y --no-install-recommends \
radosgw \
parted \
hdparm \
btrfs-tools \
&& apt-get clean
{% endif %}

View File

@ -29,7 +29,14 @@ if [[ "${!KOLLA_BOOTSTRAP[@]}" ]]; then
OSD_ID=$(ceph osd create)
OSD_DIR="/var/lib/ceph/osd/ceph-${OSD_ID}"
mkdir -p "${OSD_DIR}"
mkfs.xfs -f "${OSD_PARTITION}"
if [[ "${OSD_FILESYSTEM}" == "btrfs" ]]; then
mkfs.btrfs -f "${OSD_PARTITION}"
elif [[ "${OSD_FILESYSTEM}" == "ext4" ]]; then
mkfs.ext4 "${OSD_PARTITION}"
else
mkfs.xfs -f "${OSD_PARTITION}"
fi
mount "${OSD_PARTITION}" "${OSD_DIR}"
# This will through an error about no key existing. That is normal. It then