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 inputs

terraform.tfvars

remote_host={
    user = "root"
    private_key = ""
    certificate = ""
    password = "password"
    }


ip="1.2.11.10"

sdc_pkg = {
    url = "https://example.com/sdc-4.5.0.263-esx8.x.zip"
    local_pkg = "sdc-4.5.0.263-esx8.x.zip"
    local_dir = "/tmp"
    pkg_name = "sdc-4.5.0.263-esx8.x.zip"
    remote_pkg_name = "emc-sdc-package.zip"
    remote_dir = "/tmp"
    use_remote_path = true
}

powerflex_config = {
    username = "admin"
    endpoint = "https://1.2.3.4:443"
    password = "Password" 
}

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
powerflex_config Stores the configuration for terraform PowerFlex provider.
object({
# Define the attributes of the configuration for terraform PowerFlex provider.
username = string
endpoint = string
password = string
})
n/a yes
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.