Puppet Class: infiniband

Inherits:
infiniband::params
Defined in:
manifests/init.pp

Summary

Manage InfiniBand support

Overview

Examples:

include ::infiniband

Parameters:

  • extra_packages (Array) (defaults to: [])

    The extra packges to install.

  • rdma_service_ensure (String) (defaults to: $infiniband::params::service_ensure)

    RDMA service ensure parameter. Default to ‘running’ if ‘has_infiniband` fact is ’true’, and ‘stopped’ if ‘has_infiniband’ fact is ‘false’.

  • rdma_service_enable (Boolean) (defaults to: $infiniband::params::service_enable)

    RDMA service enable parameter. Default to true if ‘has_infiniband` fact is ’true’, and false if ‘has_infiniband’ fact is ‘false’.

  • rdma_service_name (String) (defaults to: $infiniband::params::rdma_service_name)

    RDMA service name.

  • rdma_service_has_status (Boolean) (defaults to: $infiniband::params::rdma_service_has_status)

    RDMA service has_status parameter.

  • rdma_service_has_restart (Boolean) (defaults to: $infiniband::params::rdma_service_has_restart)

    RDMA service has_restart parameter.

  • ibacm_service_ensure (String) (defaults to: $infiniband::params::service_ensure)

    ibacm service ensure parameter. Default to ‘running’ if ‘has_infiniband` fact is ’true’, and ‘stopped’ if ‘has_infiniband’ fact is ‘false’.

  • ibacm_service_enable (Boolean) (defaults to: $infiniband::params::service_enable)

    ibacm service enable parameter. Default to true if ‘has_infiniband` fact is ’true’, and false if ‘has_infiniband’ fact is ‘false’.

  • ibacm_service_name (String) (defaults to: $infiniband::params::ibacm_service_name)

    ibacm service name.

  • ibacm_service_has_status (Boolean) (defaults to: $infiniband::params::ibacm_service_has_status)

    ibacm service has_status parameter.

  • ibacm_service_has_restart (Boolean) (defaults to: $infiniband::params::ibacm_service_has_restart)

    ibacm service has_restart parameter.

  • rdma_conf_path (Stdlib::Absolutepath) (defaults to: $infiniband::params::rdma_conf_path)

    The RDMA service configuration path.

  • ipoib_load (Enum['yes', 'no']) (defaults to: 'yes')

    Sets the ‘IPOIB_LOAD` setting for the RDMA service.

  • srp_load (Enum['yes', 'no']) (defaults to: 'no')

    Sets the ‘SRP_LOAD` setting for the RDMA service.

  • iser_load (Enum['yes', 'no']) (defaults to: 'no')

    Sets the ‘ISER_LOAD` setting for the RDMA service.

  • rds_load (Enum['yes', 'no']) (defaults to: 'no')

    Sets the ‘RDS_LOAD` setting for the RDMA service.

  • fixup_mtrr_regs (Enum['yes', 'no']) (defaults to: 'no')

    Sets the ‘FIXUP_MTRR_REGS` setting for the RDMA service.

  • nfsordma_load (Enum['yes', 'no']) (defaults to: 'yes')

    Sets the ‘NFSoRDMA_LOAD` setting for the RDMA service.

  • nfsordma_port (Integer[0, 65535]) (defaults to: 2050)

    Sets the ‘NFSoRDMA_PORT` setting for the RDMA service.

  • manage_mlx4_core_options (Boolean) (defaults to: true)

    Boolean that determines if ‘/etc/modprobe.d/mlx4_core.conf’ should be managed.

  • log_num_mtt (Optional[Integer]) (defaults to: undef)

    Sets the mlx4_core module’s ‘log_num_mtt’ value. When the value is undef the value is determined using the ‘calc_log_num_mtt` parser function.

  • log_mtts_per_seg (Integer) (defaults to: 3)

    Sets the mlx4_core module’s ‘log_mtts_per_seq’ value.

  • interfaces (Hash) (defaults to: {})

    This Hash can be used to define ‘infiniband::interface` resources.



58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
# File 'manifests/init.pp', line 58

class infiniband (
  Array $extra_packages                 = [],
  String $rdma_service_ensure           = $infiniband::params::service_ensure,
  Boolean $rdma_service_enable          = $infiniband::params::service_enable,
  String $rdma_service_name             = $infiniband::params::rdma_service_name,
  Boolean $rdma_service_has_status      = $infiniband::params::rdma_service_has_status,
  Boolean $rdma_service_has_restart     = $infiniband::params::rdma_service_has_restart,
  String $ibacm_service_ensure          = $infiniband::params::service_ensure,
  Boolean $ibacm_service_enable         = $infiniband::params::service_enable,
  String $ibacm_service_name            = $infiniband::params::ibacm_service_name,
  Boolean $ibacm_service_has_status     = $infiniband::params::ibacm_service_has_status,
  Boolean $ibacm_service_has_restart    = $infiniband::params::ibacm_service_has_restart,
  Stdlib::Absolutepath $rdma_conf_path  = $infiniband::params::rdma_conf_path,
  Enum['yes', 'no'] $ipoib_load         = 'yes',
  Enum['yes', 'no'] $srp_load           = 'no',
  Enum['yes', 'no'] $iser_load          = 'no',
  Enum['yes', 'no'] $rds_load           = 'no',
  Enum['yes', 'no'] $fixup_mtrr_regs    = 'no',
  Enum['yes', 'no'] $nfsordma_load      = 'yes',
  Integer[0, 65535] $nfsordma_port      = 2050,
  Boolean $manage_mlx4_core_options     = true,
  Optional[Integer] $log_num_mtt        = undef,
  Integer $log_mtts_per_seg             = 3,
  Hash $interfaces                      = {},
) inherits infiniband::params {

  if $manage_mlx4_core_options {
    $real_log_num_mtt = $log_num_mtt ? {
      Undef   => infiniband::calc_log_num_mtt($facts.dig('memory','system','total_bytes'), $log_mtts_per_seg),
      default => $log_num_mtt,
    }
  }

  include '::infiniband::install'
  include '::infiniband::config'
  include '::infiniband::service'
  include '::infiniband::providers'

  anchor { 'infiniband::start': }
  anchor { 'infiniband::end': }

  Anchor['infiniband::start']
  -> Class['infiniband::install']
  -> Class['infiniband::config']
  -> Class['infiniband::service']
  -> Class['infiniband::providers']
  -> Anchor['infiniband::end']

}