Skip to content

Puppet module to manage Solarflare NIC Boot ROM parameters using sfboot tool

License

Notifications You must be signed in to change notification settings

jay7x/puppet-sfboot

Repository files navigation

Puppet sfboot module

Table of Contents

  1. Description
  2. Setup
  3. Usage - Configuration options and additional functionality
  4. Limitations - OS compatibility, etc.
  5. Links

Description

This module contains Puppet resource types and classes to manage Solarflare NIC Boot ROM parameters using sfboot tool.

Please check the Limitations section below.

Setup

Setup Requirements

sfboot tool must be present on the nodes you'd like to use this module on.

See Drivers and Software download page on how to install the Solarflare utilities.

Usage

Use sfboot class to manage Solarflare global Boot ROM parameters:

class { 'sfboot':
  boot_image       => 'all',
  port_mode        => '[2x10/25g][2x10/25g]',
  firmware_variant => 'full-feature',
}

Use sfboot class to manage global and per-adapter parameters:

class { 'sfboot':
  boot_image       => 'all',
  port_mode        => '[2x10/25g][2x10/25g]',
  firmware_variant => 'full-feature',

  adapters => {
    'enp123s0f1' => {
      boot_type   => 'disabled',
      switch_mode => 'partitioning-with-sriov',
      vf_count    => 2,
      pf_count    => 4,
      pf_vlans    => [0, 100, 110, 120],
    },
  }
}

Same as above, but configured in Hiera:

include sfboot
sfboot::boot_image: all
sfboot::port_mode: "[2x10/25g][2x10/25g]"
sfboot::firmware_variant: "full-feature"
sfboot::adapters:
  enp123s0f1:
    boot_type: disabled
    switch_mode: "partitioning-with-sriov"
    vf_count: 2
    pf_count: 4
    pf_vlans:
      - 0
      - 100
      - 110
      - 120

Use sfboot_global Puppet resource type directly to manage global Solaflare NIC Boot ROM parameters:

sfboot_global { 'global':
  boot_image       => 'all',
  port_mode        => '[2x10/25g][2x10/25g]',
  firmware_variant => 'full-feature',
}

Please note, that sfboot_global resource can only accept global title. It'll throw an error if any other title is specified.

Use sfboot_adapter Puppet resource type directly to manage per-adapter Solaflare NIC Boot ROM parameters:

sfboot_adapter { 'enp123s0f1':
  boot_type   => 'disabled',
  switch_mode => 'partitioning-with-sriov',
  vf_count    => 2,
  pf_count    => 4,
  pf_vlans    => [0, 100, 110, 120],
}

Reference

See REFERENCE.md.

Limitations

  • As stated before, Solarflare utilities installation is not implemented (yet).
  • Author is not aware how to read the permit-fw-downgrade global parameter value. That's why it's not supported.
  • Rebooting the node after changing Boot ROM parameters is out of the module scope.
  • This module was never tested with multiple Solarflare cards on the same server.
  • This module is tested with sfboot tool v8.2.4
  • This module is tested on the following OS list at the moment:
    • Debian 11, 12

Links

  1. Drivers and Software download page

About

Puppet module to manage Solarflare NIC Boot ROM parameters using sfboot tool

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published