Forge Home

infiniband

Infiniband module

15,547 downloads

715 latest version

5.0 quality score

We run a couple of automated
scans to help you access a
module's quality. Each module is
given a score based on how well
the author has formatted their
code and documentation and
modules are also checked for
malware using VirusTotal.

Please note, the information below
is for guidance only and neither of
these methods should be considered
an endorsement by Puppet.

Version information

  • 4.0.0 (latest)
  • 3.1.0
  • 3.0.0
  • 2.0.0
  • 1.3.0
  • 1.2.0
  • 1.1.1
  • 1.1.0
  • 1.0.0
  • 0.1.1
  • 0.1.0
  • 0.0.4
  • 0.0.3
  • 0.0.2
  • 0.0.1
released Sep 14th 2021
This version is compatible with:
  • Puppet Enterprise 2023.2.x, 2023.1.x, 2023.0.x, 2021.7.x, 2021.6.x, 2021.5.x, 2021.4.x, 2021.3.x, 2021.2.x, 2021.1.x, 2021.0.x, 2019.8.x, 2019.7.x, 2019.5.x, 2019.4.x, 2019.3.x, 2019.2.x, 2019.1.x, 2019.0.x
  • Puppet >= 6.0.0 < 8.0.0
  • ,

Start using this module

  • r10k or Code Manager
  • Bolt
  • Manual installation
  • Direct download

Add this module to your Puppetfile:

mod 'treydock-infiniband', '4.0.0'
Learn more about managing modules with a Puppetfile

Add this module to your Bolt project:

bolt module add treydock-infiniband
Learn more about using this module with an existing project

Manually install this module globally with Puppet module tool:

puppet module install treydock-infiniband --version 4.0.0

Direct download is not typically how you would use a Puppet module to manage your infrastructure, but you may want to download the module in order to inspect the code.

Download

Documentation

treydock/infiniband — version 4.0.0 Sep 14th 2021

puppet-infiniband

Puppet Forge Build Status

Installs the InfiniBand software stack.

Support

  • CentOS 6 & 7 x86_64

Usage

infiniband

Standard usage to enable InfiniBand support

class { 'infiniband': }

Define a IBoIP interface

class { 'infiniband':
  interfaces  => {
    'ib0' => {'ipaddr' => '192.168.1.1', 'netmask' => '255.255.255.0'}
  }
}

Reference

http://treydock.github.io/puppet-infiniband/

Facts

has_infiniband

Determine if the system's hardware supports InfiniBand.

infiniband_fw_version

Reports the firmware version of the InfiniBand interface card.

NOTE: Only supports getting the value from the first interface card found.

infiniband_board_id

Returns the board_id (PSID) of the InfiniBand interface card.

NOTE: Only supports getting the value from the first interface card found.

infiniband_rate

Returns the rate of the InfiniBand interface card.

NOTE: Only supports getting the value from the first interface card found.

infiniband_hcas

Returns Array of HCAs:

[
  "mlx5_0",
  "mlx5_1",
  "mlx5_2",
  "mlx5_3"
]

infiniband_hca_board_id

Returns Hash of PSID / Board IDs for each HCA:

{
  mlx5_0 => "MT_0000000023",
  mlx5_1 => "MT_0000000023",
  mlx5_2 => "MT_0000000023",
  mlx5_3 => "MT_0000000023"
}

infiniband_hca_port_guids

Return Hash of HCA port GUIDs:

{
  mlx5_0 => {
    1 => "0x506b4b0300aaffcc"
  },
  mlx5_1 => {
    1 => "0x506b4b0300aaffcd"
  },
  mlx5_2 => {
    1 => "0x506b4b0300aaffc6"
  },
  mlx5_3 => {
    1 => "0x506b4b0300aaffc7"
  }
}

infiniband_netdevs

Return Hash of IPoIB netdev information:

{
  ib0 => {
    hca => "mlx5_0",
    port => "1",
    state => "ACTIVE",
    rate => "100",
    link_layer => "InfiniBand"
  }
}

Development

Testing

Testing requires the following dependencies:

  • rake
  • bundler

Install gem dependencies

bundle install

Run unit tests

bundle exec rake test

If you have Vagrant >= 1.2.0 installed you can run system tests

bundle exec rake beaker

TODO