opa

Table of Contents

  1. Overview
  2. Module Description
  3. Setup
  4. Usage
  5. Limitations
  6. Development

Module Description

The module installs and configure various Intel OmniPath (OPA) utils , including the Intel OmniPath (OPA) Fabric Manager (FM), also known as OPA FM.

It can eventually enable the Fabric Executive (FE) that is notably used by Intel FM GUI to get data from the FM through TLS/SSL.

Setup

What opafm affects

Setup Requirements

This module depends in:

Beginning with opa

The module is able to define device groups (such as OPA switches groups) into the OPA FM XML configuration file and then set Performance Manager (PM) port groups on these device groups. This way, the performances of the groups of switches can be monitored with tools such as opatop or FM GUI.

To define the device groups, it is required to gather the GUIDs of the switches before anything. Once the network fibers and cables are plugged, the switches GUIDs can be retrieved with the following command:

# opaextractsellinks

This command dumps the list of inter-switches links along with the GUIDs of the switches. If the switches have been properly labelled with opaswitchadmin, the output is hopefully human-readable. Otherwise, ask the hardware vendor for the GUIDs.

The module is also able to deploy an optional switches file which specifies the mapping between switches GUIDs and their names. The module expects an URL to the complete file, so the file must be prepared before using this feature of the module.

Usage

The opa has two public classes. opa::ff installs and configures the Intel OmniPath (OPA) FastFabric tools, including the switches file. opa::fm installs and configures Intel OmniPath (OPA) Fabric Manager. It depends on the opa::ff class.

opa::ff

The URL to the switches mappings file is optional in argument. If not given, the public will just skip managing the resource.

Here is an example of public class instanciation with individual parameters:

class { '::opa::fm':
  switch_source => 'http://s3-system.service.virtual:7480/hpc-config/%{environment}/latest/files/opafm/switches',
}

In this example the switches file is downloaded from the given URL and deployed without modification.

opa::fm

For managing the Fabric Manager XML configuration file, the public class opa::fm can be instanciated in two main ways, either by giving in arguments:

The URL to the switches mappings file is optional in argument. If not given, the public will just skip managing the resource.

Here is an example of public class instanciation with individual parameters:

class { '::opa::fm':
  fe_enable      => true,
  fe_sslsecurity => true,
  devicegroups   => {
    'group1' => {
      comment   => 'cluster switches group 1',
      nodeguids => [ '0x0134567deadbeef1',
                     '0x0134567deadbeef2',
                     '0x0134567deadbeef3', ],
    },
    'group2' => {
      comment   => 'cluster switches group 2',
      nodeguids => [ '0x0134567deadbeef4',
                     '0x0134567deadbeef5',
                     '0x0134567deadbeef6',
                     '0x0134567deadbeef7', ],
    },
    'group3' => {
      comment => 'cluster switches group 3',
      nodeguids => [ '0x0134567deadbeef8',
                     '0x0134567deadbeef9',
                     '0x0134567deadbeefA', ],
    },
  },
  pmportgroups   => {
    'group1' => {
      monitor => 'group1',
      enable  =>  '1',
     },
    'group2' => {
      monitor => 'group2',
      enable  => '1',
    },
    'group3' => {
      monitor => 'group3',
      enable  => '1',
    },
  },
}

With this class instanciation, the Fabric Engine will be enabled (typically for FM GUI) with SSL security enhancement. Three devices groups of switches are defined. All these groups are then assigned to PM groups.

To give URL to a full OPA Fabric Manager XML configuration file, use the config_source argument:

class { '::opa::fm':
  config_source => 'http://s3-system.service.virtual:7480/hpc-config/%{environment}/latest/files/opafm/opafm.xml',
}

If the config_source argument is defined, its value takes precedence over the individual parameters of the Fabric Manager XML configuration file.

Limitations

This module is mainly tested on Debian.

Development

Patches and issues can be submitted on GitHub: https://github.com/edf-hpc/puppet-hpc