Merge "Ignore failures when loading nf_conntrack_proto_sctp kernel module"
This commit is contained in:
commit
64695c7085
@ -17,14 +17,32 @@
|
||||
#
|
||||
# Load and configure Kernel modules.
|
||||
#
|
||||
class tripleo::profile::base::kernel {
|
||||
# === Parameters
|
||||
#
|
||||
# [*module_list*]
|
||||
# (Optional) List of kernel modules to load.
|
||||
# Defaults to hiera('kernel_modules')
|
||||
#
|
||||
# [*sysctl_settings*]
|
||||
# (Optional) List of sysctl settings to load.
|
||||
# Defaults to hiera('sysctl_settings')
|
||||
#
|
||||
class tripleo::profile::base::kernel (
|
||||
$module_list = hiera('kernel_modules', undef),
|
||||
$sysctl_settings = hiera('sysctl_settings', undef),
|
||||
) {
|
||||
|
||||
if hiera('kernel_modules', undef) {
|
||||
create_resources(kmod::load, hiera('kernel_modules'), { })
|
||||
if $module_list {
|
||||
create_resources(kmod::load, $module_list, { })
|
||||
}
|
||||
if hiera('sysctl_settings', undef) {
|
||||
create_resources(sysctl::value, hiera('sysctl_settings'), { })
|
||||
if $sysctl_settings {
|
||||
create_resources(sysctl::value, $sysctl_settings, { })
|
||||
}
|
||||
Exec <| tag == 'kmod::load' |> -> Sysctl <| |>
|
||||
|
||||
# RHEL 7.4+ workaround where this functionality is built into the
|
||||
# kernel instead of being built as a module.
|
||||
# That way, we can support both 7.3 and 7.4 RHEL versions.
|
||||
# https://bugzilla.redhat.com/show_bug.cgi?id=1387537
|
||||
Exec <| title == 'modprobe nf_conntrack_proto_sctp' |> { returns => [0,1] }
|
||||
}
|
||||
|
@ -0,0 +1,9 @@
|
||||
---
|
||||
issues:
|
||||
- |
|
||||
Ignore failures if nf_conntrack_proto_sctp module failed to load.
|
||||
Since RHEL 7.4, nf_conntrack_proto_sctp module is compiled into the
|
||||
kernel instead of as a module as the sctp support.
|
||||
TripleO will still try to load the module to support RHEL 7.3, but
|
||||
in the future will remove the module management and rely on the kernel
|
||||
provided in newer versions of RHEL.
|
59
spec/classes/tripleo_profile_base_kernel_spec.rb
Normal file
59
spec/classes/tripleo_profile_base_kernel_spec.rb
Normal file
@ -0,0 +1,59 @@
|
||||
#
|
||||
# Copyright (C) 2017 Red Hat, Inc.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||
# not use this file except in compliance with the License. You may obtain
|
||||
# a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
||||
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
||||
# License for the specific language governing permissions and limitations
|
||||
# under the License.
|
||||
#
|
||||
|
||||
require 'spec_helper'
|
||||
|
||||
describe 'tripleo::profile::base::kernel' do
|
||||
|
||||
shared_examples_for 'tripleo::profile::base::kernel' do
|
||||
context 'with kernel modules' do
|
||||
let :params do
|
||||
{
|
||||
:module_list => {
|
||||
'nf_conntrack' => {},
|
||||
}
|
||||
}
|
||||
end
|
||||
|
||||
it 'should load kernel module' do
|
||||
is_expected.to contain_kmod__load('nf_conntrack')
|
||||
end
|
||||
end
|
||||
context 'with sysctl settings' do
|
||||
let :params do
|
||||
{
|
||||
:sysctl_settings => {
|
||||
'net.ipv4.tcp_keepalive_intvl' => { 'value' => '1'},
|
||||
}
|
||||
}
|
||||
end
|
||||
|
||||
it 'should load kernel module' do
|
||||
is_expected.to contain_sysctl__value('net.ipv4.tcp_keepalive_intvl')
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
on_supported_os.each do |os, facts|
|
||||
context "on #{os}" do
|
||||
let(:facts) {
|
||||
facts
|
||||
}
|
||||
|
||||
it_behaves_like 'tripleo::profile::base::kernel'
|
||||
end
|
||||
end
|
||||
end
|
Loading…
x
Reference in New Issue
Block a user