From 42f8585ebb8fffad19a89314659ab9129176c3e9 Mon Sep 17 00:00:00 2001 From: Alexandru Avadanii Date: Sat, 1 Oct 2016 13:18:11 +0200 Subject: build: Rework patch mechanism for Fuel submodules While refactoring the patching mechanism, take care of: - Sync submodule handling with Fuel@OPFNV; - build: Investigate/prepare for moving patches to Fuel@OPNFV; - build: Investigate divergent fuel-mirror; - ISO build: cacheid for Fuel comps should not depend on Armband git commit; CHANGE: Rename/shuffle patches while grouping them in "features", preparing for upstreaming them to Fuel@OPNFV and beyond. CHANGE: Allow linking patches for better representing the dependency between one patch and different features. e.g. 0001-Add-arch-to-nailgun-release-and-target-image.patch: - part of `multiarch-fuel`, because it extends Fuel; - part of `direct-kernel-boot`, as arch is required for that; - part of `cross-bootstrap`, target image is arch-dependent; NOTE: Patch links are not staged to Fuel@OPNFV, they only serve as markers that a specific patch is part of a feature. CHANGE: Kill all Fuel component submodules, now handled in Fuel@OPNFV: - fuel-agent - fuel-astute - fuel-library - fuel-mirror - fuel-nailgun-agent - fuel-web CHANGE: Move armband-fuel-config.mk to armband git root. FIXME: m1.micro-Increase-profile-RAM-size-to-128MB.patch is NOT part of `cross-bootstrap` feature, but patch context says so ... FIXME: 0001-Add-arm64-deb-repositories-setup.patch is broken at `make patches-export` by removing spaces at EOL. v2 -> v3: * Phony patch support (links to show a patch belongs to a feature); * Updated README.md v3 -> v7: * Re-export Fuel submodules & plugins patches (update patch context); * Update Cavium mail addresses (s/caviumnetworks.com/cavium.com/); * Ignore submodule changes; * Add armband git repo info to gitinfo_fuel.txt at build time; Implements: ARMBAND-136 Closes-bug: ARMBAND-95 Closes-bug: ARMBAND-93 Closes-bug: ARMBAND-92 Change-Id: I1a236d9f43b2e6dca22055911f696b43c22b5973 Signed-off-by: Alexandru Avadanii --- ...eph-Fix-obsolete-XFS-mount-param-delaylog.patch | 48 ++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 patches/fuel-library/0001-ceph-Fix-obsolete-XFS-mount-param-delaylog.patch (limited to 'patches/fuel-library/0001-ceph-Fix-obsolete-XFS-mount-param-delaylog.patch') diff --git a/patches/fuel-library/0001-ceph-Fix-obsolete-XFS-mount-param-delaylog.patch b/patches/fuel-library/0001-ceph-Fix-obsolete-XFS-mount-param-delaylog.patch new file mode 100644 index 00000000..facde8f2 --- /dev/null +++ b/patches/fuel-library/0001-ceph-Fix-obsolete-XFS-mount-param-delaylog.patch @@ -0,0 +1,48 @@ +From: Alexandru Avadanii +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 2480f18..0957010 100644 +--- a/deployment/puppet/osnailyfacter/manifests/ceph/ceph_osd.pp ++++ b/deployment/puppet/osnailyfacter/manifests/ceph/ceph_osd.pp +@@ -35,6 +35,13 @@ class osnailyfacter::ceph::ceph_osd { + } + + 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 { + 'global/debug_default' : value => $debug; + 'global/max_open_files' : value => $ceph_tuning_settings_hash['max_open_files']; +diff --git a/deployment/puppet/osnailyfacter/manifests/globals/globals.pp b/deployment/puppet/osnailyfacter/manifests/globals/globals.pp +index 854d297..7345d66 100644 +--- a/deployment/puppet/osnailyfacter/manifests/globals/globals.pp ++++ b/deployment/puppet/osnailyfacter/manifests/globals/globals.pp +@@ -148,7 +148,7 @@ class osnailyfacter::globals::globals { + $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'), -- cgit 1.2.3-korg