Information
One of the most significant architectural shifts in VMware Cloud Foundation (VCF) 9.0 is the introduction of the VCF Installer. Replacing the legacy VMware Cloud Builder, the VCF Installer is now the unified engine for both "Greenfield" (fresh) deployments and "Brownfield" (converting existing vSphere) environments. For developers, this means a single API surface to take a rack of bare-metal ESXi hosts and transform them into a fully functional private cloud.
Why the Installer API Matters
The VCF Installer isn't just a UI; it is a powerful set of RESTful services designed to make infrastructure deployment repeatable.
-
Unified Appliance: It is delivered as part of the same OVA as the SDDC Manager, simplifying the initial download and setup.
-
Streamlined Logic: The old Excel-based "Deployment Parameter Workbook" is gone, replaced by a JSON-based specification that is native to the API.
-
Built-in Validation: Before a single component is deployed, the API can run over 100 validation checks to ensure your network, hosts, and licenses are ready.
Exploring the Installer API Endpoints
The Installer API is hosted at https://<installer-fqdn>/v1. Here are the critical modules you will interact with:
1. Release & Bundle Management
Before deploying, you must identify which version of VCF you are installing and ensure the software bits are available.
-
GET /v1/releases: Lists all available VCF releases (e.g., 9.0.0.0).
-
GET /v1/bundles: Returns the list of uploaded or available installation bundles.
2. Depot Settings
The Installer needs access to Broadcom’s software repository to pull down necessary components like vCenter or NSX.
-
PUT /v1/depot-settings: Configures your Broadcom account credentials and connectivity.
-
PATCH /v1/depot-settings/metadata-sync: Syncs the latest bundle manifests so the installer knows what versions are current.
3. The Core Installation Workflow
The primary operation for a new deployment is the SDDC Specification.
-
POST /v1/vcf-installer/install: This triggers the deployment of the Management Domain.
-
Payload: You send a large JSON object containing your host IP addresses, VLANs, and license keys.
Step-by-Step: Your First Automated Deployment
Here is how you would programmatically trigger a VCF 9.0 bring-up:
-
Authenticate: Obtain a session token via POST /v1/tokens.
-
Validate: Post your deployment JSON to the validation endpoint to catch errors early.
-
Deploy: Execute the install command.
-
Monitor: Poll the task status.
Example: Starting the Installation
import requests
# Step 1: Trigger the Install
install_payload = {
"releaseVersion": "9.0.0.0",
"deploymentType": "STANDARD",
"managementDomain": {
# Host and network specs go here
}
}
response = requests.post(
"https://<installer-ip>/v1/vcf-installer/install",
json=install_payload,
headers={"Authorization": f"Bearer {token}"}
)
task_id = response.json()['id']
print(f"Deployment Started! Task ID: {task_id}")
Best Practices for Deployment Automation
-
Host Interoperability: Ensure your ESXi hosts are "VCF Ready" (NTP configured, SSH enabled, and certificates renewed) before calling the API.
-
Idempotency: Use the /v1/tasks endpoint to check if a deployment task is already running before triggering a new one.
-
Error Handling: If a task fails, use PATCH /v1/tasks/{id} to retry the operation once you have fixed the underlying infrastructure issue.
Conclusion
The VCF Installer API removes the manual friction of "Day 0" operations. By moving from workbooks to JSON-based automation, organizations can deploy complex private clouds in hours instead of weeks.
Add comment
Comments