diff --git a/lib/puppet/provider/kernel_parameter/grub2.rb b/lib/puppet/provider/kernel_parameter/grub2.rb index b7d9c25..308abed 100644 --- a/lib/puppet/provider/kernel_parameter/grub2.rb +++ b/lib/puppet/provider/kernel_parameter/grub2.rb @@ -31,8 +31,21 @@ def self.mkconfig_path confine exists: mkconfig_path, for_binary: true + # Add BLS specific option to mkconfig command if needed + # + # @return (String) The commandline + def self.mkconfig_cmdline + cmdline = [self.mkconfig_path] + if ((Facter.value(:os) && Facter.value(:os)['family']) == 'RedHat') + if ((Facter.value(:os)['release']['major'].to_i == 9) && (Facter.value(:os)['release']['minor'].to_i >= 3)) || (Facter.value(:os)['release']['major'].to_i > 9) + cmdline = cmdline.append("--update-bls-cmdline") + end + end + cmdline + end + def mkconfig - execute(self.class.mkconfig_path, { failonfail: true, combine: false }) + execute(self.class.mkconfig_cmdline, { failonfail: true, combine: false }) end # when both grub* providers match, prefer GRUB 2