EXSi SDC

SDC Host Module for ESXi

This Terraform module installs the SDC package on a remote ESXi host using the powerflex_sdc_host resource.

Usage

To run this example you need to execute:

$ terraform init
$ terraform apply

After successful operation of above commands, to remove deployment, you need to execute:

terraform destroy 

Example main.tf

main.tf

terraform {
   required_providers {
     powerflex = {
       version = ">=1.6.0"
       source  = "registry.terraform.io/dell/powerflex"
     }
   }
}

module "sdc_host_esxi" {
  
  # Here is an example of a source that pulls from the registry
  source  = "dell/modules/powerflex//modules/sdc_host_esxi"
  version = "x.x.x" // pull in the latest version like "1.2.0"

  # Host information of the host which the SDC should be installed upone
  remote_host={
    user = "root" // SSH User
    password = "password" // SSH Password
  }
  
  sdc_name = "terraform-sdc"// The name of the SDC will default to 'terraform-sdc'
  
  ip="1.2.11.10" // IP of the EsXi Host which the SDC will be installed upon
  
  # SDC Package information
  sdc_pkg = {
    url = "https://example.com/sdc-4.5.0.263-esx8.x.zip" // SDC Package URL Download Location. For FTP Example like "ftp://username:password@ftpserver/path/to/file"
    #local_dir = "/tmp" // If you want to download the package locally, put the path to download
    pkg_name = "sdc-4.5.0.263-esx8.x.zip" // SDC downloaded package name
    remote_pkg_name = "emc-sdc-package.zip" // Do not update this value
    remote_dir = "/tmp" // Where the package will be downloaded on the ESXi Host
    use_remote_path = true // Always set this to true
  }
}

Requirements

Name Version
powerflex >=1.6.0

Providers

No providers.

Modules

Name Source Version
sdc_host_esxi ../../modules/sdc_host_esxi n/a

Resources

No resources.

Inputs

Name Description Type Default Required
ip Stores the IP address of the remote Linux host. string n/a yes
mdm_ips all the mdms (either primary,secondary or virtual ips) in a comma separated list by cluster if unset will use the mdms of the cluster set in the provider block eg. [‘10.10.10.5,10.10.10.6’, ‘10.10.10.7,10.10.10.8’] list(string) [] no
remote_host Stores the SSH credentials for connecting to the remote Linux host.
object({
# Define the user attribute of the remote variable.
user = string
# Define the ssh private_key file with path for the SDC login user
private_key = optional(string, “”)
# Define the ssh certificate file path, issued to the SDC login user
certificate = optional(string, “”)
password = optional(string)
})
n/a yes
sdc_pkg configuration for SDC package like url to download package from, copy as local package or directory on remote server. One of local_dir or remote_dir will be used based on the variable use_remote_path
object({
# examples “http://example.com/EMC-ScaleIO-sdc-3.6-700.103.Ubuntu.22.04.x86_64.tar", “ftp://username:password@ftpserver/path/to/file”
url = string
pkg_name = string
remote_pkg_name = optional(string)
local_dir = string
remote_dir = optional(string, “/tmp”)
# use the SDC package on remote machine path (where SDC is deployed)
use_remote_path = bool
})
n/a yes

Outputs

No outputs.