vRealize Orchestrator (vRO)
Audience: Cloud Engineers and Automation Developers.
Purpose: Develop and manage automation workflows for AggieCloud.
Overview
vRealize Orchestrator (vRO) is the workflow and automation platform for vRealize Automation (vRA). It provides:
- Actions — Individual functions with inputs and outputs
- Workflows — Multi-step processes combining actions and decisions
Code Types
| Type | Description |
|---|---|
| Actions | Single functions with multiple inputs, single return value. Can call vRO API or plugin APIs. Used as building blocks. |
| Workflows | Series of actions and decisions run sequentially. Can call other workflows and run on schedules or events. |
Production Actions
| Package | Action | Purpose |
|---|---|---|
com.tamu.form | generateRandomPassword | Random password generator for Windows deployments |
com.tamu.form | getAllFlavorsForForm | Form helper (legacy) |
com.tamu.network | getNetworksFromProject | Dynamic network selection (returns array) |
com.tamu.network | getNetworksFromProjectProp | Dynamic network selection (returns property) |
Production Workflows
| Category | Workflow | Purpose |
|---|---|---|
| Events | Create AD Computer Object | Creates computer object in AUTH before Windows VM domain join |
| Events | Remove AD Computer Object | Removes computer object from AUTH on Windows VM deletion |
| Events | Machine Provisioned | (Incomplete) Would create shared A record in Infoblox |
| Events | Unprovision Machine | (Incomplete) Would remove shared A record from Infoblox |
| Onboarding | Onboard VMs by Tag | Onboards VMs to vRA project based on vCenter tags |
| Provisioning | Set VM Guestinfo metadata | Sets guestinfo metadata during deployment |
Viewing Workflows & Actions
- Login to AggieCloud
- Select Orchestrator
- Choose Workflows or Actions
Event Subscriptions
vRO workflows are triggered by vRA events through subscriptions:
| Subscription | Workflow | Trigger | Scope |
|---|---|---|---|
jr-test-vm-metadata | Set VM Guestinfo metadata | compute.provision.pre | All Deployments |
ad-createComputer | Create AD Computer Object | compute.provision.pre | Windows only |
ad-removeComputer | Remove AD Computer Object | compute.removal.pre | Windows only |
Managing Subscriptions
- Login to AggieCloud
- Navigate to Cloud Assembly → Extensibility → Subscriptions
- Create new or click existing to view/edit
Dynamic Network Selection
The getNetworksFromProject action enables dynamic network dropdown in blueprints.
Testing Blueprint: test-ubuntu-2004-dynamic-net in the Test-DynamicNet project
Not in Production
This feature is available for testing but not yet used in production blueprints.
GitHub Integration
All vRO code is version-controlled in the it-ae-aggiecloud-vro repository.
Setup Git Repository Connection
Connection Setup Steps
- Login to vRO
- Select Git Repositories → Add Repository
- Configure:
| Field | Value |
|---|---|
| Repository URL | https://github.com/tamu-edu/it-ae-aggiecloud-vro.git |
| Username | Your GitHub username |
| Token | Personal Access Token (see below) |
- Click Validate to test connection
- Click Make Active Repository
- Ensure branch is set to
main(not master) - Save
Single Repository
Only one repository can be active at a time in vRO.
Personal Access Token
Create GitHub PAT
- Go to GitHub → Settings → Developer Settings → Personal Access Tokens → Tokens (classic)
- Select Generate New Token (classic)
| Field | Value |
|---|---|
| Note | vRO Integration |
| Expiration | 30 days (or as needed) |
| Scopes | ✓ repo (all) |
- Click Generate Token
- Save the token immediately (won't be shown again)
- Click Configure SSO → Authorize for
tamu-eduorganization
Push/Pull Workflow
- Login to vRO
- Verify PAT is still valid (refresh if needed)
- Select Git History
- Click Pull to get latest
- Make changes to workflows/actions
- Click Push
- Enter commit title and description
- Select changes to commit
- Click Push
References
| Resource | Link |
|---|---|
| Git Repository Setup | VMware Docs |
| Push Changes | VMware Docs |
| GitHub PAT | GitHub Docs |
| vRO Git Integration | VMware Blog |