summaryrefslogtreecommitdiffstats
path: root/patches/fuel-library/0011-ceph-Fix-obsolete-XFS-mount-param-delaylog.patch
blob: 0ddad1146db61250db0b7146d62585e3a616427b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
From: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
Date: Sun, 27 Mar 2016 20:32:50 +0200
Subject: [PATCH] ceph: Fix obsolete XFS mount param "delaylog".

According to [1], "delaylog" mount arg is now enforced by default,
and passing it will lead to mount failure.

Trim "delaylog" from default list of xfs mount args and leave it up to
ceph-osd.pp to add this obsoleted arg only for targets running a kernel
older than 4.0.

[1] https://www.kernel.org/doc/Documentation/filesystems/xfs.txt
---
 deployment/puppet/osnailyfacter/manifests/ceph/ceph_osd.pp   | 7 +++++++
 deployment/puppet/osnailyfacter/manifests/globals/globals.pp | 2 +-
 2 files changed, 8 insertions(+), 1 deletion(-)

diff --git a/deployment/puppet/osnailyfacter/manifests/ceph/ceph_osd.pp b/deployment/puppet/osnailyfacter/manifests/ceph/ceph_osd.pp
index f7da80e..22aab33 100644
--- a/deployment/puppet/osnailyfacter/manifests/ceph/ceph_osd.pp
+++ b/deployment/puppet/osnailyfacter/manifests/ceph/ceph_osd.pp
@@ -50,4 +50,11 @@ class {'ceph':
   }
 
   if $ceph_tuning_settings_hash != {} {
+    if versioncmp($::kernelmajversion, '4.0') < 0 {
+      # FIXME(armband): XFS mount opt delaylog is deprecated in kernels >=4.0.
+      $ceph_tuning_settings_hash['osd_mount_options_xfs'] = join([
+        $ceph_tuning_settings_hash['osd_mount_options_xfs'],
+        'delaylog'
+      ], ',')
+    }
     ceph_conf {
diff --git a/deployment/puppet/osnailyfacter/manifests/globals/globals.pp b/deployment/puppet/osnailyfacter/modular/globals/globals.pp
index 268a5b1..69aed7b 100644
--- a/deployment/puppet/osnailyfacter/manifests/globals/globals.pp
+++ b/deployment/puppet/osnailyfacter/manifests/globals/globals.pp
@@ -123,7 +123,7 @@ if ($storage_hash['volumes_ceph'] or $storage_hash['images_ceph'] or $storage_ha
     $ceph_tuning_settings = {
       'max_open_files'                       => pick($storage_tuning_settings['max_open_files'], '131072'),
       'osd_mkfs_type'                        => pick($storage_tuning_settings['osd_mkfs_type'], 'xfs'),
-      'osd_mount_options_xfs'                => pick($storage_tuning_settings['osd_mount_options_xfs'], 'rw,relatime,inode64,logbsize=256k,delaylog,allocsize=4M'),
+      'osd_mount_options_xfs'                => pick($storage_tuning_settings['osd_mount_options_xfs'], 'rw,relatime,inode64,logbsize=256k,allocsize=4M'),
       'osd_op_threads'                       => pick($storage_tuning_settings['osd_op_threads'], '20'),
       'filestore_queue_max_ops'              => pick($storage_tuning_settings['filestore_queue_max_ops'], '500'),
       'filestore_queue_committing_max_ops'   => pick($storage_tuning_settings['filestore_queue_committing_max_ops'], '5000'),
p">: 0.0.3 module-config-override: ############################################################################## # By editing the override-config sections below, you can override arbitrary # configuration name-space settings dea-override-config: environment: net_segment_type: tun nodes: - id: 1 interfaces: interfaces_1 role: controller,onos transformations: transformations_1 - id: 2 interfaces: interfaces_1 role: mongo,controller transformations: transformations_1 - id: 3 interfaces: interfaces_1 role: ceph-osd,controller transformations: transformations_1 - id: 4 interfaces: interfaces_1 role: ceph-osd,compute transformations: transformations_1 - id: 5 interfaces: interfaces_1 role: ceph-osd,compute transformations: transformations_1 settings: editable: public_network_assignment: assign_to_all_nodes: value: true dha-override-config: nodes: - id: 1 libvirtName: controller1 libvirtTemplate: templates/virtual_environment/vms/controller.xml - id: 2 libvirtName: controller2 libvirtTemplate: templates/virtual_environment/vms/controller.xml - id: 3 libvirtName: controller3 libvirtTemplate: templates/virtual_environment/vms/controller.xml - id: 4 libvirtName: compute1 libvirtTemplate: templates/virtual_environment/vms/compute.xml - id: 5 libvirtName: compute2 libvirtTemplate: templates/virtual_environment/vms/compute.xml - id: 6 libvirtName: fuel-master libvirtTemplate: templates/virtual_environment/vms/fuel.xml isFuel: yes username: root password: r00tme ############################################################################## # The verification pipeline may populate the section below with arbitrary # testing information, which post deploy can be retreived from the fuel master: # /root/deploy-config.yaml test: