After all hosts are commissioned in SDDC Manager, deploy the workload domain using a JSON specification by using the SDDC Manager API Explorer.

Procedure

  1. In a Web browser, log in to the SDDC Manager user interface.
    Setting Value
    URL https://sfo-vcf01.sfo.rainpole.io
    User name administrator@vsphere.local
    Password vsphere_admin_password
  2. In the navigation pane, select Developer Center.
  3. On the VMware Cloud Foundation Developer Center page, select the API Explorer tab.
  4. Retrieve the unique IDs for each ESXi for the workload domain.
    1. Expand APIs for managing Hosts and click GET /v1/hosts.
    2. In the status text box, enter UNASSIGNED_USEABLE and click Execute.
    3. In the Response section click PageOfHost.
    4. Save the id value of each host for your workload domain to use it later.
  5. Prepare a JSON specification to deploy the workload domain.
    1. Copy an paste the JSON specification in a text editor.
      {
        "domainName": "sfo-w01",
        "orgName": "Rainpole",
        "vcenterSpec": {
          "name": "sfo-w01-vc01",
          "networkDetailsSpec": {  
              "ipAddress": "172.16.11.64",
              "dnsName": "sfo-w01-vc01.sfo.rainpole.io",
              "gateway": "172.16.11.1",
              "subnetMask": "255.255.255.0"
        },
        "rootPassword": "vcenter_root_password",
        "datacenterName": "sfo-w01-dc01"
      },
        "computeSpec": {
            "clusterSpecs": [ 
              {
                "name": "sfo-w01-cl01",
                "hostSpecs": [
                    {
                      "id": "REPLACE_WITH_ID_FOR_sfo01-w01-esx01.sfo.rainpole.io",
                      "licenseKey":"esxi-hosts-license-that-exists-in-sddc-manager",
                      "hostNetworkSpec": {
                             "vmNics": [ 
                                 {  
                                 "id": "vmnic0",  
                                 "vdsName": "sfo-w01-cl01-vds01"  
                              }, 
                              {  
                                 "id": "vmnic1",  
                                 "vdsName": "sfo-w01-cl01-vds01"  
                              }
                          ]  
                       }  
                    }, 
                    {
                      "id": "REPLACE_WITH_ID_FOR_sfo01-w01-esx02.sfo.rainpole.io",
                      "licenseKey":"esxi-hosts-license-that-exists-in-sddc-manager",
                      "hostNetworkSpec": {
                             "vmNics": [ 
                                 {  
                                 "id": "vmnic0",  
                                 "vdsName": "sfo-w01-cl01-vds01"  
                              }, 
                              {  
                                 "id": "vmnic1",  
                                 "vdsName": "sfo-w01-cl01-vds01"  
                              }
                          ]  
                       }  
                    }, 
                    {
                      "id": "REPLACE_WITH_ID_FOR_sfo01-w01-esx03.sfo.rainpole.io_ID",
                      "licenseKey":"esxi-hosts-license-that-exists-in-sddc-manager",
                      "hostNetworkSpec": {
                             "vmNics": [ 
                                 {  
                                 "id": "vmnic0",  
                                 "vdsName": "sfo-w01-cl01-vds01"  
                              }, 
                              {  
                                 "id": "vmnic1",  
                                 "vdsName": "sfo-w01-cl01-vds01"  
                              }
                          ]  
                       }  
                    }, 
                     {
                      "id": "REPLACE_WITH_ID_FOR_sfo01-w01-esx04.sfo.rainpole.io",
                      "licenseKey":"esxi-hosts-license-that-exists-in-sddc-manager",
                      "hostNetworkSpec": {
                             "vmNics": [ 
                                 {  
                                 "id": "vmnic0",  
                                 "vdsName": "sfo-w01-cl01-vds01"  
                              }, 
                              {  
                                 "id": "vmnic1",  
                                 "vdsName": "sfo-w01-cl01-vds01"  
                              }
                          ]
                        }
                      }
                    ],      
            "datastoreSpec": {
                "vsanDatastoreSpec": {
                    "failuresToTolerate": 1,
                    "licenseKey": "vsan-license-key",
                    "datastoreName": "sfo-w01-cl01-ds-vsan01" 
               }  
           },  
           "networkSpec": {
            "vdsSpecs": [
              {
                "name": "sfo-w01-cl01-vds01",
                "portGroupSpecs": [
                  {
                    "name": "sfo01-w01-cl01-vds01-pg-mgmt",
                    "transportType": "MANAGEMENT"
                  },
                  {
                    "name": "sfo01-w01-cl01-vds01-pg-vsan",
                    "transportType": "VSAN"
                  },
                  {
                     "name": "sfo01-w01-cl01-vds01-pg-vmotion",
                     "transportType": "VMOTION"
                  }
              ]
            }
          ],
               "nsxClusterSpec": {
                   "nsxTClusterSpec": {
                       "geneveVlanId": 1634
                      }
                  }
                }
              }
            ]
          },  
        "nsxTSpec": {
          "nsxManagerSpecs": [
          {
            "name": "sfo-w01-nsx01a",
            "networkDetailsSpec": {
                "ipAddress": "172.16.11.76",
                "dnsName": "sfo-w01-nsx01a.sfo.rainpole.io",
                "gateway": "172.16.11.1",
                "subnetMask": "255.255.255.0"
          }
         },
         {
              "name": "sfo-w01-nsx01b",
              "networkDetailsSpec": {
                  "ipAddress": "172.16.11.77",
                  "dnsName": "sfo-w01-nsx01b.sfo.rainpole.io",
                  "gateway": "172.16.11.1",
                  "subnetMask": "255.255.255.0"
           }
          },
          {
              "name": "sfo-w01-nsx01c",
              "networkDetailsSpec": {
                  "ipAddress": "172.16.11.78",
                  "dnsName": "sfo-w01-nsx01c.sfo.rainpole.io",
                  "gateway": "172.16.11.1",
                  "subnetMask": "255.255.255.0"
              }
          }
      ],
          "vip": "172.16.11.75",
          "vipFqdn": "sfo-w01-nsx01.sfo.rainpole.io",
          "licenseKey": "nsx-t-data-center-license-key",
          "nsxManagerAdminPassword": "wld_nsxt_password"
          }
      }
    2. Replace the vCenter Server root user password, ESXi hosts root user password, and NSX-T Manager admin user password.
    3. Replace the license keys for vCenter Server, ESXi hosts, vSAN, and NSX-T Data Center.
    4. Replace the ESXi hosts id value with the ones that you previously saved.
    5. Save the JSON specification to use it for the deployment of the workload domain.
  6. Validate your workload domain JSON file.
    1. Expand APIs for managing Domains, click POST /v1/domains/validations.
    2. In the Value text box, enter the content of your workload domain JSON specification file and click Execute.
    3. In the confirmation dialog box, click Continue.
    4. In the Response section, expand the result and verify the response is SUCCEEDED.
  7. Deploy the workload domain by using the JSON specification file.
    1. Expand APIs for managing Domains and click POST /v1/domains.
    2. In the Value text box, enter the content of your workload domain JSON specification file and click Execute.
    3. In the confirmation dialog box, click Continue.
  8. Monitor the progress of the deployment from the Tasks list pane.