Adoptable Cookbooks List

Looking for a cookbook to adopt? You can now see a list of cookbooks available for adoption!
List of Adoptable Cookbooks

Supermarket Belongs to the Community

Supermarket belongs to the community. While Chef has the responsibility to keep it running and be stewards of its functionality, what it does and how it works is driven by the community. The chef/supermarket repository will continue to be where development of the Supermarket application takes place. Come be part of shaping the direction of Supermarket by opening issues and pull requests or by joining us on the Chef Mailing List.

Select Badges

Select Supported Platforms

Select Status


kernel-modules (9) Versions 2.0.4

Manage kernel modules on linux

cookbook 'kernel-modules', '= 2.0.4', :supermarket
cookbook 'kernel-modules', '= 2.0.4'
knife supermarket install kernel-modules
knife supermarket download kernel-modules
Quality 50%

kernel-modules Cookbook

Cookbook Version
Build Status

Configure and Load kernel modules.



  • CentOS 6.x/7.x
  • RHEL 6.x/7.x
  • OEL 6.x/7.x
  • Ubuntu 16.04


  • Chef version: >= 12.5.1



  • node['kernel_modules']['packages'] - used to make the packages requirements
  • node['kernel_modules']['modules_load.d'] - used to define the modules_load.d directory
  • node['kernel_modules']['modprobe.d'] - use to define the modprobe.d directory
  • node['kernel_modules']['modules'] - use to define the list of modules you want to load/configure


Using this cookbook will load and configure every module in the attribute: node['kernel_modules']['modules'].

For instance:
``` ruby
$ cat roles/modules.rb
name 'Load modules'
description 'Example for using kernel modules'


modules: {
nfs: {
options: [
alias: 'nfs4',
action: [:load],
onboot: true,

Providers & Resources


This provider allows to configure and load a kernel module


Action Description
configure Add the module at boot time (if needed) and set the module's modprobe configuration file
load Load the module once it is configured (When used the configure action will be implicitly launched before)
unload Unload the module
remove Remove the modprobe configuration file and remove the module at boot time


Name Description Default Type
module_name module name name String
onboot load the module at boot time true Boolean
reload allow the module to be reloaded if module configuration changes false Boolean
force_reload allow the module to be unloaded even if the module is used[1]. false Boolean
alias set the modprobe command alias nil Array/String
options set the modprobe command options nil Array/String/NilClass
install set the modprobe command install nil String/NilClass
remove set the modprobe command remove nil String/NilClass
blacklist set the modprobe command blacklist nil Boolean/NilClass
check_availability before loading or configuring, ensure the module is available on disk for the running kernel false Boolean

For instance:
``` ruby

To load and configure "mlx4_en"

kernel_module 'mlx4_en' do
onboot true # Make the loading persistent
reload false # We don't want to reload our network module
options %w(inline_thold=120 udp_rss=1) # Specific loading options
check_availability true # Only load and configure when module is present

To blacklist a module

kernel_module 'pcspkr' do
onboot true
blacklist true


  1. Fork the repository on Github
  2. Create a named feature branch (like add_component_x)
  3. Write your change
  4. Write tests for your change (if applicable)
  5. Run the tests, ensuring they all pass
  6. Submit a Pull Request using Github

License and Authors

Authors: Jeremy Mauro (

Copyright 2014-2015, Criteo.

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

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
See the License for the specific language governing permissions and
limitations under the License.

[1]Note: it has no effect unless CONFIG_MODULE_FORCE_UNLOAD was set when the kernel was compiled

Collaborator Number Metric

2.0.4 failed this metric

Failure: Cookbook has 1 collaborators. A cookbook must have at least 2 collaborators to pass this metric.

Contributing File Metric

2.0.4 failed this metric

Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of, and your repo must contain a file

Foodcritic Metric

2.0.4 passed this metric

No Binaries Metric

2.0.4 passed this metric

Testing File Metric

2.0.4 failed this metric

Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of, and your repo must contain a file

Version Tag Metric

2.0.4 passed this metric