WilliamLam.com

  • About
    • About
    • Privacy
  • VMware Cloud Foundation
  • VKS
  • Homelab
    • Resources
    • Nested Virtualization
  • VMware Nostalgia
  • Apple
You are here: Home / Automation / JSON configuration to deploy VMware Cloud Foundation (VCF) with secondary VDS

JSON configuration to deploy VMware Cloud Foundation (VCF) with secondary VDS

05.18.2021 by William Lam // 4 Comments

I recently spent some time exploring VMware Cloud Foundation (VCF) using VMware Cloud Builder, which is a tool that automates the entire VCF deployment and configuration when provided a set of ESXi hosts that meet all the pre-requisites. To begin a VCF deployment, users will typically provide a VCF deployment parameter workbook (XLS) which contains the configuration for your deployment which is then uploaded to Cloud Builder (UI or API).


I personally prefer the JSON option which Cloud Builder also supports, which for me is much easier to read and edit. For those interested, after submitting your XLS document, you can retrieve the generated JSON configuration file in the Cloud Builder filesystem located in /tmp/sddcspec-[UUID].json.

While working on some automation, I needed to separate out the ESXi and NSX-T networking, which by default is configured using a single Distributed Virtual Switch (VDS). This is a common configuration pattern for environments that only have two network adapters. However, if you have up to four network adapters, VCF can also support another deployment configuration where two VDS are used. I came to learn about this while talking to one of the Cloud Builder Tech Leads and shared the required JSON configuration changes to support this model.

Below is the JSON snippet for the required dvsSpecs section that demonstrates the use of a dual VDS configuration where NSX-T networking makes use of the additional vmnics.

"dvsSpecs": [{
        "dvsName": "vcf-m01-cl01-vds01",
        "vcenterId": "vcenter-1",
        "vmnics": [
            "vmnic0",
            "vmnic1"
        ],
        "mtu": 9000,
        "networks": [
            "MANAGEMENT",
            "VMOTION",
            "VSAN"
        ],
        "niocSpecs": [
            {
                "trafficType": "VSAN",
                "value": "HIGH"
            },
            {
                "trafficType": "VMOTION",
                "value": "LOW"
            },
            {
                "trafficType": "VDP",
                "value": "LOW"
            },
            {
                "trafficType": "VIRTUALMACHINE",
                "value": "HIGH"
            },
            {
                "trafficType": "MANAGEMENT",
                "value": "NORMAL"
            },
            {
                "trafficType": "NFS",
                "value": "LOW"
            },
            {
                "trafficType": "HBR",
                "value": "LOW"
            },
            {
                "trafficType": "FAULTTOLERANCE",
                "value": "LOW"
            },
            {
                "trafficType": "ISCSI",
                "value": "LOW"
            }
        ],
        "isUsedByNsxt": false
    },
    {
        "dvsName": "vcf-m01-nsx-vds01",
        "vcenterId": "vcenter-1",
        "vmnics": [
            "vmnic2",
            "vmnic3"
        ],
        "mtu": 9000,
        "networks": [],
        "isUsedByNsxt": true
    }
]

With the above configuration, here is what the ESXi networking configuration will look like after VCF is deployed and configured. At the time of writing this, I was using the latest VCF 4.2 release and the respective Cloud Builder version that is supported.


While sharing the news with a fellow colleague, I also learned that in the latest VCF 4.1/4.2 release, excel workbook also now contains the ability to configure a dual VDS network profile as shown in the screenshot below. This definitely was not there in 4.0 release and most likely was introduced in either 4.1 or 4.2 release.

More from my site

  • ESXi on GMKtec NucBox K11
  • Quick Tip - VMware Cloud Foundation (VCF) Bringup fails without persistent ESX-OSData
  • Enhancements to VMware Cloud Foundation (VCF) & vSphere Automated Lab Deployment Scripts
  • vSAN ESA hardware mock VIB for physical ESXi deployment for VMware Cloud Foundation (VCF)
  • Quick Tip - Easily host VMware Cloud Foundation (VCF) Offline Depot using Python SimpleHTTPServer with Authentication

Categories // Automation, VMware Cloud Foundation Tags // VMware Cloud Foundation

Comments

  1. sygibson+*protectednosbigys says

    05/18/2021 at 9:02 am

    William - great post! I recently went through the process of building automation to deploy VCF Cloud Builder for Digital Rebar Platform (DRP). We have customers with 10s of Thousands of ESXi hosts that also consume VCF.

    I take in the JSON format for bootstrapping the cluster via Cloud Builder.

    However ... as you briefly mentioned ...

    "a set of ESXi hosts that meet all the pre-requisites"

    That is one of the biggest challenges. Ensuring all ESXi hosts are pre-configured and in the same configuration for VCF is critical. Especially if you need to meet VCF spec / HCL compliance. We do all of the BIOS/Firmware/RAID, and ESXi configuration to meet HCL spec compliance ...

    THEN ... we can get to the VCF Cloud Builder bootstrap and be relatively confident it'll be successful.

    Again - a GREAT article. Thanks!

    Reply
    • William Lam says

      05/18/2021 at 9:34 am

      Indeed and from a learning/exploration standpoint, it can also be easily meet all these pre-reqs. Stay tuned, I've got some more things to share in this space 🙂

      Reply
  2. *protectedjstreit2017 says

    05/18/2021 at 12:18 pm

    William,
    Your article is very timely. It sounds like NSX-t will use all the interfaces of the VDS. In your situation where a host has 4 physical links, and you don't want two different VDS's, is it possible to control which interfaces NSX is using through the JSON file? (ex. interfaces vmnic2 & 3) Thanks.

    Reply
    • William Lam says

      05/18/2021 at 8:09 pm

      not possible afaik. You have to map vmnic to specific VDS

      Reply

Thanks for the comment!Cancel reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Search

Thank Author

Author

William is Distinguished Platform Engineering Architect in the VMware Cloud Foundation (VCF) Division at Broadcom. His primary focus is helping customers and partners build, run and operate a modern Private Cloud using the VMware Cloud Foundation (VCF) platform.

Connect

  • Bluesky
  • Email
  • GitHub
  • LinkedIn
  • Mastodon
  • Reddit
  • RSS
  • Twitter
  • Vimeo

Recent

  • Programmatically accessing the Broadcom Compatibility Guide (BCG) 05/06/2025
  • Quick Tip - Validating Broadcom Download Token  05/01/2025
  • Supported chipsets for the USB Network Native Driver for ESXi Fling 04/23/2025
  • vCenter Identity Federation with Authelia 04/16/2025
  • vCenter Server Identity Federation with Kanidm 04/10/2025

Advertisment

Privacy & Cookies: This site uses cookies. By continuing to use this website, you agree to their use.
To find out more, including how to control cookies, see here: Cookie Policy

Copyright WilliamLam.com © 2025

 

Loading Comments...