One-Click Nested SDDC Deployment: Automated vSphere & NSX-T Labs via Ansible
How we automated the end-to-end provisioning of nested vSphere ESXi, vCenter, and NSX-T SDDC lab environments in 12 minutes using Ansible playbooks and OVFTool.
βManual lab environment provisioning is the enemy of rapid engineering validation.β
The Setup
In June 2021 at NTT Data, our systems integration team required isolated, multi-node Nested SDDC (Software-Defined Data Center) lab environments to validate vRealize automation workflows and NSX-T API integrations before client pushes.
A full nested SDDC lab required deploying virtual ESXi hosts, vCenter Server Appliance (VCSA), NSX-T Manager nodes, and synthetic vyos router VMs.
The Mess
Spinning up a fresh lab manually was a painful 8-hour process:
- Engineers spent hours downloading OVA templates, filling out 30 vCenter deployment wizard parameters, and waiting for VCSA first-boot scripts.
- MAC address collisions and IP conflicts occurred frequently due to manual IPAM entries.
- Junior engineers often skipped ESXi nested VT-x virtualization flags (
vhv.enable = "TRUE"), causing nested VMs to fail silently during boot.
[DEPLOYMENT ERROR] 2021-06-10 14:15:22 - OVFTool Execution Log
Opening OVA target: /templates/nsx-unified-appliance-3.1.0.ova
Error: OVF Property mismatch for 'nsx_cli_passwd'. Password does not meet complexity rules.
Deployment Aborted: Appliance destroyed after 45 minutes of OVA extraction.
The Solution
I designed a One-Click Nested SDDC Deployment Engine using Ansible and VMware OVFTool:
- Automated OVA Deployment via OVFTool: Scripted head-less OVFTool deployments passing inline XML property specs for VCSA and NSX-T Manager.
- Automated VMX Injection: Injected
vhv.enable = "TRUE"andhypervisor.cpuid.v0 = "FALSE"into ESXi configuration files to enable nested Hardware-Assisted Virtualization. - Idempotent Post-Boot Configuration: Executed Ansible tasks to configure vCenter Datacenters, Clusters, vSAN storage pools, and NSX-T Transport Nodes automatically.
# roles/nested_sddc/tasks/deploy_vcsa.yml - Automated VCSA Deployment
- name: Deploy VCSA Appliance via OVFTool
command: >
ovftool --acceptAllEulas --noSSLVerify
--datastore="{{ lab_datastore }}"
--name="Nested-VCSA-01"
--net:"Network 1"="VM Network"
--prop:guestinfo.cis.appliance.net.addr.1="{{ vcsa_ip }}"
--prop:guestinfo.cis.appliance.net.pnid="{{ vcsa_fqdn }}"
--prop:guestinfo.cis.appliance.root.passwd="{{ root_password }}"
"/templates/VMware-vCenter-Server-Appliance.ova"
"vi://root:{{ host_pass }}@{{ esxi_host }}"
Key Takeaway
Do not build lab environments manually. Automating nested SDDC deployments via Ansible and OVFTool reduces lab spin-up times from 8 hours to 12 minutes, accelerating engineering validation.
Architecture and decisions: mine. Debugging sessions at odd hours: mine. AI assistance: structure, syntax, first draft. β Sachin
Sachin Kumar Sharma
Associate Director (Infrastructure & Cloud Architecture Strategy) | 20+ Yrs Exp
Architecting resilient multi-cloud enterprise landing zones, SDN overlay fabrics, DevSecFinOps automation pipelines, and autonomous Agentic AI platforms.
π‘ Related Engineering Articles
The Ansible Tower Pipeline That Wiped the Wrong Environment
How an Ansible Tower Zero-Touch Provisioning pipeline ran a full teardown workflow against production NSX-T segments instead of the staging cluster β and the idempotency and environment isolation controls we should have built on day zero.
Zero-Touch Pod Decommissioning: Automated Teardown via Ansible & NSX-T API
How we automated the complete teardown and reclamation of vSphere tenant pods, unbinding DFW rules, Tier-1 gateways, and IPAM subnets in 45 seconds.
Zero-Touch Datacenter Provisioning: Ansible Tower Meets NSX-T Policy API
How we replaced a 3-week manual ticketing cycle across 200+ vSphere host clusters with an idempotent Ansible Tower ZTP pipeline calling the NSX-T Policy API in 90 seconds.
π¬ Stay Updated on Tech Releases
Sign up to get notified when I publish new production war stories, agentic AI architecture blueprints, or open-source infrastructure tools.