# salt.states.kernelpkg

## Manage kernel packages and active kernel version

Example state to install the latest kernel from package repositories:

    install-latest-kernel:
      kernelpkg.latest_installed: []

Example state to boot the system if a new kernel has been installed:

    boot-latest-kernel:
      kernelpkg.latest_active:
        - at_time: 1

Example state chaining the install and reboot operations:

    install-latest-kernel:
      kernelpkg.latest_installed: []

    boot-latest-kernel:
      kernelpkg.latest_active:
        - at_time: 1
        - onchanges:
          - kernelpkg: install-latest-kernel

Chaining can also be achieved using wait/listen requisites:

    install-latest-kernel:
      kernelpkg.latest_installed: []

    boot-latest-kernel:
      kernelpkg.latest_wait:
        - at_time: 1
        - listen:
          - kernelpkg: install-latest-kernel

salt.states.kernelpkg.latest_active(name, at_time=None, **kwargs)

  Initiate a reboot if the running kernel is not the latest one installed.

  Note

  This state does not install any patches. It only compares the running kernel version number to other kernel versions also installed in the system. If the running version is not the latest one installed, this state will reboot the system.

  See `kernelpkg.upgrade` and `latest_installed()` for ways to install new kernel packages.

  This module does not attempt to understand or manage boot loader configurations it is possible to have a new kernel installed, but a boot loader configuration that will never activate it. For this reason, it would not be advisable to schedule this state to run automatically.

  Because this state function may cause the system to reboot, it may be preferable to move it to the very end of the state run. See `latest_wait()` for a waitable state that can be called with the listen requesite.

  name

    Arbitrary name for the state. Does not affect behavior.

  at_time

    The wait time in minutes before the system will be rebooted.

salt.states.kernelpkg.latest_installed(name, **kwargs)

  Ensure that the latest version of the kernel available in the repositories is installed.

  Note

  This state only installs the kernel, but does not activate it. The new kernel should become active at the next reboot. See `kernelpkg.needs_reboot` for details on how to detect this condition, and `latest_active()` to initiale a reboot when needed.

  name

    Arbitrary name for the state. Does not affect behavior.

salt.states.kernelpkg.latest_wait(name, at_time=None, **kwargs)

  Initiate a reboot if the running kernel is not the latest one installed. This is the waitable version of `latest_active()` and will not take any action unless triggered by a watch or listen requesite.

  Note

  Because this state function may cause the system to reboot, it may be preferable to move it to the very end of the state run using listen or listen_in requisites.

      system-up-to-date:
        pkg.uptodate:
          - refresh: true

      boot-latest-kernel:
        kernelpkg.latest_wait:
          - at_time: 1
          - listen:
            - pkg: system-up-to-date

  name

    Arbitrary name for the state. Does not affect behavior.

  at_time

    The wait time in minutes before the system will be rebooted.

salt.states.kernelpkg.mod_watch(name, sfun, **kwargs)

  Execute a kernelpkg state based on a watch or listen call