Customize the Lustre Ansible Inventory
Create a working copy of an EF80 deployment template and customize its inventory for your servers, arrays, networks, and Lustre building blocks.
Keep the selected inventory under its fabric and platform directory. Retain the shared playbooks directory and passwords.yml file at the root of building_blocks.
Select a deployment template
Start from the template that matches the site's network fabric:
Configure site-specific settings
Set the site-specific values in the inventory, along with the local repository and udev-rule settings. Line references in the table point to the RoCE EF80 template files in the ansible-lustre release/1.0.0 tag. The InfiniBand template uses the same variable names and structure except for the LNet interface variable, which is noted in the table.
| Field | Ansible variable | Template file (release/1.0.0) |
Scope | Notes |
|---|---|---|---|---|
File system name |
|
Cluster-wide |
Nested under |
|
MGS NIDs for target registration |
|
Cluster-wide |
Nested under MDT and OST |
|
Pacemaker cluster name |
|
Cluster-wide |
Nested under Pacemaker CIB property overrides. Unique name for the HA cluster. |
|
BMC fencing addresses |
|
Repeat per Lustre server |
Redfish BMC IP address for each server node. |
|
Alert email recipients |
|
Cluster-wide |
Recipients for HA resource and failure notifications. |
|
Mail domain |
|
Cluster-wide |
Postfix domain used to send alert email. |
|
NTP time sources |
|
Cluster-wide |
Time sources for the cluster nodes. Specify an NTP pool or one or more individual NTP servers. Include the required |
|
Interface PCI-to-name udev map |
|
Repeat per HCA slot layout |
Map each PCI slot to a persistent interface name (values at L182). Collect with |
|
Local package repository (optional) |
|
Cluster-wide |
For air-gapped installs, uncomment the block and set the repository |
|
Server management IP |
|
Repeat per Lustre server |
One |
|
NVMe-oF backend interfaces |
|
RoCE host_vars/lustre_01.yml#L21, InfiniBand host_vars/lustre_01.yml#L17 |
Repeat per Lustre server |
Backend interface addresses used for NVMe-oF storage traffic to the E-Series arrays. |
LNet cluster interfaces |
|
RoCE host_vars/lustre_01.yml#L47, InfiniBand host_vars/lustre_01.yml#L38 |
Repeat per Lustre server |
Frontend LNet interface addresses (RoCE values at L56; InfiniBand values at L47). |
Corosync node IPs |
|
Repeat per Lustre server |
List all node IPs in the HA cluster (values at L62). |
|
Lustre target service NIDs |
|
Repeat per Lustre server |
Include frontend LNet NIDs ( |
|
Array management IP |
|
Repeat per E-Series array |
Management IP of one controller; the API URL derives from it. |
|
Building-block group membership |
|
Per building block |
Each inventory hostname must match the basename of its corresponding |
Repeat the settings for each host and building block. Create one host_vars/lustre_NN.yml file per Lustre server and one host_vars/netapp_NN.yml file per array, and repeat the inventory groups for each additional building block.
The deployment playbooks load array, Pacemaker, and BMC credentials from the shared building_blocks/passwords.yml file. Populate this file and encrypt it with Ansible Vault before deployment, or override the values securely at runtime with --extra-vars. Do not commit plaintext credentials to source control.
|
|
IP addresses, hostnames, interface names, and volume sizing in the deployment templates are examples. Modify all inventory files for the environment before running any playbook. |