The following blog goes through stretching a management cluster in a VCF environment on 4.4.1.0. You need to ensure you have deployed your edges first in management, you have commissioned your hosts in sddc manager and have deployed a witness esxi host. The management cluster must be stretched if you want to stretch your workload domains.
When you download your witness esxi host ova make your sure you download the one matching the BOM of the VCF version your using. Click the ‘VMware Virtual SAN witness appliance’ link to go to the download page

Download witness esxi host virtual machine, this will need to be added to the datacenter NOT the cluster.
https://customerconnect.vmware.com/downloads/details?downloadGroup=WITNESS-OVA-70U3-C&productId=973

Below is the deployment guide for the witness esxi host virtual machine in VCF
For the API you need to have the following information. Cluster id, host id’s, esxi license key, vds name and vmnic mapping, host overlay vlan for the secondaryAzOverlayVlanId, fqdn of witness esxi host, witness vsancidr which is the network and mask, vsanip witness ip.
example API
{
"clusterStretchSpec": {
"hostSpecs": [{
"id": "88baa0eb-3aeb-4deb-89ba-a84bf50c7844",
"licenseKey": "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX",
"hostNetworkSpec": {
"vmNics": [{
"id": "vmnic0",
"vdsName": "mgmt-vds01"
},
{
"id": "vmnic1",
"vdsName": "mgmt-vds01"
}
]
}
}, {
"id": "e3dd73d8-e2ae-4cf0-9db2-c7157c808124",
"licenseKey": "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX",
"hostNetworkSpec": {
"vmNics": [{
"id": "vmnic0",
"vdsName": "mgmt-vds01"
},
{
"id": "vmnic1",
"vdsName": "mgmt-vds01"
}
]
}
}, {
"id": "6f935335-bab5-4e43-b039-41b439a912c6",
"licenseKey": "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX",
"hostNetworkSpec": {
"vmNics": [{
"id": "vmnic0",
"vdsName": "mgmt-vds01"
},
{
"id": "vmnic1",
"vdsName": "mgmt-vds01"
}
]
}
}, {
"id": "372af10f-d6c7-42eb-aa26-513dfc8218f5",
"licenseKey": "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX",
"hostNetworkSpec": {
"vmNics": [{
"id": "vmnic0",
"vdsName": "mgmt-vds01"
},
{
"id": "vmnic1",
"vdsName": "mgmt-vds01"
}
]
}
}],
"witnessSpec": {
"vsanIp": "10.0.0.114",
"fqdn": "esxi-wit.vcf.sddc.lab",
"vsanCidr": "10.0.0.0/24"
},
"witnessTrafficSharedWithVsanTraffic": false,
"secondaryAzOverlayVlanId": 10,
"isEdgeClusterConfiguredForMultiAZ": true
}
}
–Get the host id in sddc manager
In sddc, click Developer Center > API Explorer.
Expand the APIs for managing hosts
GET /v1/hosts
In the Status text box, enter UNASSIGNED_USEABLE and click Execute
In the Response section, click PageOfHost, copy the id
–Get the license key for your esxi host
–Get the cluster id in sddc manager
APIs for managing clusters section, and expand GET /v1/cluster
Click Execute
in the Response section, click PageOfCluster, copy the id element of the management cluster.
-Validate config
APIs for managing clusters
POST /v1/clusters/{id}/validations
Value text box, enter the unique ID for the management cluster.
clusterUpdateSpec box copy api
Click Execute
confirm successful
– Stretch cluster
APIs for managing clusters
PATCH /v1/clusters/{id}.
ID of the management cluster in the Value text-box.
clusterUpdateSpec text box copy api
Click Execute


My cluster looks like this in vCenter atm should get another four hosts

If you get the following error message, I believe this is a bug

You need to finish off the configuration in vCenter
Click cluster > click configure > expand vSAN > click fault domains > click configure stretched cluster

Move secondary site hosts to the secondary domain and click next


Select your witness host and click next


Click finish

should look like the below

rerun the failed task in sddc manager

Done

If you want to modify the json file to add more nics & vds use this as a example
“vmNics”: [{
“id”: “vmnic0”,
“vdsName”: “dc-m01-cl01-vds01”
},
{
“id”: “vmnic1”,
“vdsName”: “dc-m01-cl01-vds02”
},
{
“id”: “vmnic2”,
“vdsName”: “dc-m01-cl01-vds01”
},
{
“id”: “vmnic3”,
“vdsName”: “dc-m01-cl01-vds02”
}