Skip to main content
Crusoe Support Help Center home page
Crusoe

How-To List and Change IB Partition and Network using Terraform

Sagar Lulla
Sagar Lulla
Updated

Last Updated: November 25, 2025

Introduction

InfiniBand (IB) partitions and networks play a vital role in high-performance computing environments, enabling efficient communication between nodes. This guide provides a step-by-step approach to listing existing IB networks and updating IB partitions using Terraform. By following this guide, users can automate their infrastructure changes effectively.

Prerequisites

Before proceeding, ensure you have the following:

  • Terraform Installed: Version 1.0 or later.
  • Crusoe Cloud Provider: Ensure the Crusoe Terraform provider is configured in your environment. Getting Started with Terraform please refer this document.
  • Authentication: You will require Secret Key, Access Key configured in ~/.crusoe/configfile. 
  • Existing IB Partition: The IB partition you wish to modify.

Step-by-Step Instructions

Step 1: Install and Configure Terraform

  • Download Terraform: Install Terraform by downloading it from the official website.
  • Set Up the Crusoe Provider:

    Add the following provider block to your main.tf:

    terraform {
      required_providers {
        crusoe = {
          source = "registry.terraform.io/crusoecloud/crusoe"
        }
      }
    }
  • Initialize Terraform: Run the command:

    terraform init

    This downloads the Crusoe provider and prepares your environment.

Step 2: List Existing IB Networks

  • Add the Data Source Block: Insert the following block into your Terraform configuration file to list IB networks:

    data "crusoe_ib_networks" "ib_networks" {}
    
    output "crusoe_ib" {
      value = data.crusoe_ib_networks.ib_networks
    }
  • Apply the Configuration: Run the command:

    terraform apply

    This will output the list of IB networks available in your environment.

Step 3: Update the IB Partition with a New Network ID

  • Locate the New Network ID: Use the output from Step 2 to identify the desired IB network ID.
  • Modify the Partition Resource: Add the following resource block to update an existing IB partition:

    resource "crusoe_ib_partition" "my_partition" {
      name         = "Partition-Name"  # Existing partition name
      ib_network_id = "<New-Infiniband-Network-id>"  # Updated network ID
      project_id    = "<Project-id>"  # Project ID remains the same
    }
  • Apply Changes: Run the command:

    terraform apply

    Confirm the changes when prompted. Terraform will update the IB partition with the new network.

Example Scenario

Scenario: You need to update the IB partition "my-ib-partition" to a new network ID. Below is the complete configuration:

// Crusoe Provider
terraform {
  required_providers {
    crusoe = {
      source = "registry.terraform.io/crusoecloud/crusoe"
    }
  }
}

# List IB networks
data "crusoe_ib_networks" "ib_networks" {}

output "crusoe_ib" {
  value = data.crusoe_ib_networks.ib_networks
}

# Update the existing IB partition with the new network ID
resource "crusoe_ib_partition" "my_partition" {
  name         = "test1"  # Updated name
  ib_network_id = "b049a2cf-63b1-4cfd-9e2d-b1541d87b538"  # Updated network ID
  project_id    = "3741dee5-7361-414f-97f0-d0c8b38d4dab"  # Project ID remains the same
}

Run the configuration with terraform apply, and confirm the updates to apply changes to the IB partition.

Common Issues and Resolutions

1. Error: "Invalid IB network ID"

  • Cause: The specified network ID does not exist.
  • Solution: Double-check the network ID from the output of Step 2.

2. Terraform Apply Fails

  • Cause: Configuration mismatch or resource dependencies.
  • Solution: Use the terraform plan command to identify and resolve issues before applying changes.

Additional Resources

Related to

Was this article helpful?

0 out of 0 found this helpful

Still need help?

Our support team is ready to assist you with any questions.

Have more questions? Submit a request

Recently Viewed

Comments

0 comments

Article is closed for comments.