blob: 0c352ef6d361c1248b3ddf23c8a2f9831530e08f [file] [log] [blame]
{%- from "linux/map.jinja" import system with context %}
{%- if system.enabled %}
{%- if system.kernel is defined %}
{%- if system.kernel.isolcpu is defined %}
include:
- linux.system.grub
/etc/default/grub.d/90-isolcpu.cfg:
file.managed:
- contents: 'GRUB_CMDLINE_LINUX_DEFAULT="$GRUB_CMDLINE_LINUX_DEFAULT isolcpus={{ system.kernel.isolcpu }}"'
- require:
- file: grub_d_directory
- watch_in:
- cmd: grub_update
{%- endif %}
{%- if system.kernel.version is defined %}
linux_kernel_package:
pkg.installed:
- pkgs:
- linux-image-{{ system.kernel.version }}-{{ system.kernel.type|default('generic') }}
{%- if system.kernel.get('headers', False) %}
- linux-headers-{{ system.kernel.version }}-{{ system.kernel.type|default('generic') }}
{%- endif %}
{%- if system.kernel.get('extra', False) %}
- linux-image-extra-{{ system.kernel.version }}-{{ system.kernel.type|default('generic') }}
{%- endif %}
- refresh: true
# Not very Salt-ish.. :-(
linux_kernel_old_absent:
cmd.wait:
- name: "apt-get purge -y $(dpkg -l '*linux-image-[0-9]*' '*linux-headers-[0-9]*' '*linux-image-extra-[0-9]*' | grep -E '^ii' | awk '{print $2}' | grep -v '{{ system.kernel.version }}')"
- watch:
- pkg: linux_kernel_package
{%- endif %}
{%- for module in system.kernel.get('modules', []) %}
linux_kernel_module_{{ module }}:
kmod.present:
- name: {{ module }}
- persist: true
{%- endfor %}
{%- for sysctl_name, sysctl_value in system.kernel.get('sysctl', {}).iteritems() %}
linux_kernel_{{ sysctl_name }}:
sysctl.present:
- name: {{ sysctl_name }}
- value: {{ sysctl_value }}
{%- endfor %}
{%- endif %}
{%- endif %}