From ce569b8c6ecdf0ab80eec9a6f2f758ecd44f5676 Mon Sep 17 00:00:00 2001 From: Igor Shestakov Date: Thu, 13 Nov 2014 17:19:18 +0300 Subject: [PATCH] added auto-discovery of OSD disks --- group_vars/all | 1 + roles/ceph-osd/tasks/journal_collocation.yml | 10 ++++++++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/group_vars/all b/group_vars/all index b5d2708bb..7490495c2 100644 --- a/group_vars/all +++ b/group_vars/all @@ -33,6 +33,7 @@ dummy: ## OSD options # +#osd_auto_discovery: true #journal_size: 100 #pool_default_pg_num: 128 #pool_default_pgp_num: 128 diff --git a/roles/ceph-osd/tasks/journal_collocation.yml b/roles/ceph-osd/tasks/journal_collocation.yml index df2b741a5..3012ee7fb 100644 --- a/roles/ceph-osd/tasks/journal_collocation.yml +++ b/roles/ceph-osd/tasks/journal_collocation.yml @@ -18,10 +18,16 @@ # NOTE (alahouze): if the device is a partition, the parted command below has # failed, this is why we check if the device is a partition too. +- name: Automatic prepare OSD disk(s) without partitions + command: ceph-disk prepare "/dev/{{ item.key }}" + when: ansible_devices is defined and item.value.removable == "0" and item.value.partitions|count == 0 and journal_collocation and osd_auto_discovery + ignore_errors: True + with_dict: ansible_devices + register: prepared_osds -- name: Prepare OSD disk(s) +- name: Manually Prepare OSD disk(s) command: "ceph-disk prepare {{ item.2 }}" - when: (item.0.rc != 0 or item.1.rc != 0) and journal_collocation + when: (item.0.rc != 0 or item.1.rc != 0) and journal_collocation and not osd_auto_discovery ignore_errors: True with_together: - parted.results