Skip to content

Latest commit

 

History

History
435 lines (245 loc) · 10.3 KB

REFERENCE.md

File metadata and controls

435 lines (245 loc) · 10.3 KB

Reference

Table of Contents

Classes

Public Classes

Private Classes

  • infiniband::config: Manage InfiniBand config
  • infiniband::install: Install InfiniBand support
  • infiniband::params: The infiniband default configuration settings.
  • infiniband::providers: Convenience class to call defined types provided by this module.
  • infiniband::service: Manage InfiniBand services

Defined types

Functions

  • infiniband::calc_log_num_mtt: This function calculates the appropriate value for mlx4_core module's log_num_mtt parameter. The formula is `max_reg_mem = (2^log_num_mtt)

Classes

infiniband

Manage InfiniBand support

Examples

include ::infiniband

Parameters

The following parameters are available in the infiniband class:

extra_packages

Data type: Array

The extra packges to install.

Default value: []

rdma_service_ensure

Data type: String

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

Default value: $infiniband::params::service_ensure

rdma_service_enable

Data type: Boolean

RDMA service enable parameter. Default to true if has_infiniband fact is 'true', and false if 'has_infiniband' fact is 'false'.

Default value: $infiniband::params::service_enable

rdma_service_name

Data type: String

RDMA service name.

Default value: $infiniband::params::rdma_service_name

rdma_service_has_status

Data type: Boolean

RDMA service has_status parameter.

Default value: $infiniband::params::rdma_service_has_status

rdma_service_has_restart

Data type: Boolean

RDMA service has_restart parameter.

Default value: $infiniband::params::rdma_service_has_restart

ibacm_service_ensure

Data type: String

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

Default value: $infiniband::params::service_ensure

ibacm_service_enable

Data type: Boolean

ibacm service enable parameter. Default to true if has_infiniband fact is 'true', and false if 'has_infiniband' fact is 'false'.

Default value: $infiniband::params::service_enable

ibacm_service_name

Data type: String

ibacm service name.

Default value: $infiniband::params::ibacm_service_name

ibacm_service_has_status

Data type: Boolean

ibacm service has_status parameter.

Default value: $infiniband::params::ibacm_service_has_status

ibacm_service_has_restart

Data type: Boolean

ibacm service has_restart parameter.

Default value: $infiniband::params::ibacm_service_has_restart

rdma_conf_path

Data type: Stdlib::Absolutepath

The RDMA service configuration path.

Default value: $infiniband::params::rdma_conf_path

ipoib_load

Data type: Enum['yes', 'no']

Sets the IPOIB_LOAD setting for the RDMA service.

Default value: 'yes'

srp_load

Data type: Enum['yes', 'no']

Sets the SRP_LOAD setting for the RDMA service.

Default value: 'no'

iser_load

Data type: Enum['yes', 'no']

Sets the ISER_LOAD setting for the RDMA service.

Default value: 'no'

rds_load

Data type: Enum['yes', 'no']

Sets the RDS_LOAD setting for the RDMA service.

Default value: 'no'

fixup_mtrr_regs

Data type: Enum['yes', 'no']

Sets the FIXUP_MTRR_REGS setting for the RDMA service.

Default value: 'no'

nfsordma_load

Data type: Enum['yes', 'no']

Sets the NFSoRDMA_LOAD setting for the RDMA service.

Default value: 'yes'

nfsordma_port

Data type: Integer[0, 65535]

Sets the NFSoRDMA_PORT setting for the RDMA service.

Default value: 2050

manage_mlx4_core_options

Data type: Boolean

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

Default value: true

log_num_mtt

Data type: Optional[Integer]

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.

Default value: undef

log_mtts_per_seg

Data type: Integer

Sets the mlx4_core module's 'log_mtts_per_seq' value.

Default value: 3

interfaces

Data type: Hash

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

Default value: {}

Defined types

infiniband::interface

Manage IPoIB interface

Examples

Creates the ifcfg file for an IBoIP interface
infiniband::interface { 'ib0':
  ipaddr  => '192.168.1.1',
  netmask => '255.255.255.0',
}

Parameters

The following parameters are available in the infiniband::interface defined type:

name

The resource title. Sets the interfaces name, for example 'ib0'.

ipaddr

Data type: Stdlib::Compat::Ip_address

The IPADDR for the infiniband interface.

netmask

Data type: Stdlib::Compat::Ip_address

The NETMASK for the infiniband interface.

gateway

Data type: Optional[Stdlib::Compat::Ip_address]

The GATEWAY for the infiniband interface.

Default value: undef

ensure

Data type: Enum['present', 'absent']

Sets if the infiniband::interface should be present or absent.

Default value: 'present'

enable

Data type: Boolean

Sets if the infiniband::interface should be enabled at boot.

Default value: true

nm_controlled

Data type: Optional[Variant[Boolean, Enum['yes','no']]]

Value for nm_controlled on interface

Default value: undef

connected_mode

Data type: Enum['yes', 'no']

The CONNECTED_MODE value for the infiniband interface.

Default value: 'yes'

mtu

Data type: Optional[Integer]

The MTU for the infiniband interface.

Default value: undef

bonding

Data type: Boolean

If this interface is a bonding interface (true/false); defaults to false

Default value: false

bonding_slaves

Data type: Array[String]

Array of interfaces that should be enslaved in the bonding interface

Default value: []

bonding_opts

Data type: String

The bonding options to use for this bonding interface

Default value: 'mode=active-backup miimon=100'

Functions

infiniband::calc_log_num_mtt

Type: Ruby 4.x API

This function calculates the appropriate value for mlx4_core module's log_num_mtt parameter.

The formula is max_reg_mem = (2^log_num_mtt) * (2^log_mtts_per_seg) * (page_size_bytes). This function finds the log_num_mtt necessary to make 'max_reg_mem' twice the size of system's RAM. Ref: http://community.mellanox.com/docs/DOC-1120.

Examples

Using system memory size to calculate value
infiniband::calc_log_num_mtt($facts['memory']['system']['total_bytes'])

infiniband::calc_log_num_mtt(Optional[Variant[Undef,Integer,Float]] $mem, Optional[Integer] $log_mtts_per_seg, Optional[Integer] $page_size_bytes)

This function calculates the appropriate value for mlx4_core module's log_num_mtt parameter.

The formula is max_reg_mem = (2^log_num_mtt) * (2^log_mtts_per_seg) * (page_size_bytes). This function finds the log_num_mtt necessary to make 'max_reg_mem' twice the size of system's RAM. Ref: http://community.mellanox.com/docs/DOC-1120.

Returns: Integer The calculated log_num_mtt value

Examples
Using system memory size to calculate value
infiniband::calc_log_num_mtt($facts['memory']['system']['total_bytes'])
mem

Data type: Optional[Variant[Undef,Integer,Float]]

The system memory in bytes

log_mtts_per_seg

Data type: Optional[Integer]

The value for log_mtts_per_seg. Defaults to 3 if undefined.

page_size_bytes

Data type: Optional[Integer]

The system's page size in bytes. Defaults to 4096 if undefined.