Skip to main content
ONTAP Select

Create an ONTAP Select single-node evaluation cluster on ESXi

Contributors netapp-pcarriga

You can deploy a single-node ONTAP Select cluster on a VMware ESXi host managed by vCenter. The cluster is created with an evaluation license.

The cluster creation workflow differs in the following situations:

  • The ESXi host is not managed by vCenter (standalone host).

  • Multiple nodes or hosts are used within the cluster.

  • The cluster is deployed in a production environment with a purchased license.

  • The KVM hypervisor is used instead of VMware ESXi.

Step 1: Register vCenter server credential

When deploying to an ESXi host managed by a vCenter server, you need to add a credential before registering the host. The Deploy administration utility can then use the credential to authenticate to vCenter.

Category HTTP verb Path

Deploy

POST

/security/credentials

Curl
curl -iX POST -H 'Content-Type: application/json' -u admin:<password> -k -d @step01 'https://10.21.191.150/api/security/credentials'
JSON input (step01)
{
  "hostname": "vcenter.company-demo.com",
  "type": "vcenter",
  "username": "misteradmin@vsphere.local",
  "password": "mypassword"
}
Processing type

Asynchronous

Output
  • Credential ID in the location response header

  • Job object

Step 2: Register a hypervisor host

Add a hypervisor host where the virtual machine containing the ONTAP Select node will run.

Category HTTP verb Path

Cluster

POST

/hosts

Curl
curl -iX POST -H 'Content-Type: application/json' -u admin:<password> -k -d @step02 'https://10.21.191.150/api/hosts'
JSON input (step02)
{
  "hosts": [
    {
      "hypervisor_type": "ESX",
      "management_server": "vcenter.company-demo.com",
      "name": "esx1.company-demo.com"
    }
  ]
}
Processing type

Asynchronous

Output
  • Host ID in the location response header

  • Job object

Step 3: Create a cluster

When you create an ONTAP Select cluster, the basic cluster configuration is registered and Deploy generates the node names automatically.

Category HTTP verb Path

Cluster

POST

/clusters

Curl

You should set the query parameter node_count to 1 for a single-node cluster.

curl -iX POST -H 'Content-Type: application/json' -u admin:<password> -k -d @step03 'https://10.21.191.150/api/clusters? node_count=1'
JSON input (step03)
{
  "name": "my_cluster"
}
Processing type

Synchronous

Output
  • Cluster ID in the location response header

Step 4: Configure the cluster

You must provide the following attributes as part of configuring the cluster.

Category HTTP verb Path

Cluster

PATCH

/clusters/{cluster_id}

Curl

Provide the cluster ID.

curl -iX PATCH -H 'Content-Type: application/json' -u admin:<password> -k -d @step04 'https://10.21.191.150/api/clusters/CLUSTERID'
JSON input (step04)
{
  "dns_info": {
    "domains": ["lab1.company-demo.com"],
    "dns_ips": ["10.206.80.135", "10.206.80.136"]
    },
    "ontap_image_version": "9.5",
    "gateway": "10.206.80.1",
    "ip": "10.206.80.115",
    "netmask": "255.255.255.192",
    "ntp_servers": {"10.206.80.183"}
}
Processing type

Synchronous

Output

None

Step 5: Retrieve the node name

The Deploy administration utility automatically generates the node identifiers and names when a cluster is created. Before you can configure a node, you need to retrieve the assigned ID.

Category HTTP verb Path

Cluster

GET

/clusters/{cluster_id}/nodes

Curl

Provide the cluster ID.

curl -iX GET -u admin:<password> -k 'https://10.21.191.150/api/clusters/CLUSTERID/nodes?fields=id,name'
Processing type

Synchronous

Output
  • Array records each describing a single node with the unique ID and name

Step 6: Configure the nodes

Provide the basic configuration for the node, which is the first of three API calls used to configure a node.

Category HTTP verb Path

Cluster

PATH

/clusters/{cluster_id}/nodes/{node_id}

Curl

Provide the cluster ID and node ID.

curl -iX PATCH -H 'Content-Type: application/json' -u admin:<password> -k -d @step06 'https://10.21.191.150/api/clusters/CLUSTERID/nodes/NODEID'
JSON input (step06)

Provide the host ID where the ONTAP Select node will run.

{
  "host": {
    "id": "HOSTID"
    },
  "instance_type": "small",
  "ip": "10.206.80.101",
  "passthrough_disks": false
}
Processing type

Synchronous

Output

None

Step 7: Retrieve the node networks

Identify the data and management networks used by the node in the single-node cluster. The internal network is not used with a single-node cluster.

Category HTTP verb Path

Cluster

GET

/clusters/{cluster_id}/nodes/{node_id}/networks

Curl

Provide the cluster ID and node ID.

curl -iX GET -u admin:<password> -k 'https://10.21.191.150/api/ clusters/CLUSTERID/nodes/NODEID/networks?fields=id,purpose'
Processing type

Synchronous

Output
  • Array of two records each describing a single network for the node, including the unique ID and purpose

Step 8: Configure the node networking

Configure the data and management networks. The internal network is not used with a single-node cluster.

Note Issue the following API call two times, once for each network.
Category HTTP verb Path

Cluster

PATCH

/clusters/{cluster_id}/nodes/{node_id}/networks/{network_id}

Curl

Provide the cluster ID, node ID, and network ID.

curl -iX PATCH -H 'Content-Type: application/json' -u admin:<password> -k -d @step08 'https://10.21.191.150/api/clusters/ CLUSTERID/nodes/NODEID/networks/NETWORKID'
JSON input (step08)

Provide the name of the network.

{
  "name": "sDOT_Network"
}
Processing type

Synchronous

Output

None

Step 9: Configure the node storage pool

The final step in configuring a node is to attach a storage pool. You can determine the available storage pools through the vSphere web client, or optionally through the Deploy REST API.

Category HTTP verb Path

Cluster

PATCH

/clusters/{cluster_id}/nodes/{node_id}/networks/{network_id}

Curl

Provide the cluster ID, node ID, and network ID.

curl -iX PATCH -H 'Content-Type: application/json' -u admin:<password> -k -d @step09 'https://10.21.191.150/api/clusters/ CLUSTERID/nodes/NODEID'
JSON input (step09)

The pool capacity is 2 TB.

{
  "pool_array": [
    {
      "name": "sDOT-01",
      "capacity": 2147483648000
    }
  ]
}
Processing type

Synchronous

Output

None

Step 10: Deploy the cluster

After the cluster and node have been configured, you can deploy the cluster.

Category HTTP verb Path

Cluster

POST

/clusters/{cluster_id}/deploy

Curl

Provide the cluster ID.

curl -iX POST -H 'Content-Type: application/json' -u admin:<password> -k -d @step10 'https://10.21.191.150/api/clusters/CLUSTERID/deploy'
JSON input (step10)

Provide the password for the ONTAP administrator account.

{
  "ontap_credentials": {
    "password": "mypassword"
  }
}
Processing type

Asynchronous

Output
  • Job object