Aria Automation
Aria Automation (formerly vRealize Automation / vRA) is an infrastructure automation platform. Aria Automation can build complex workload blueprints that can be deployed to a variety of cloud environments – from on-premises vSphere environments to most of the major Hyperscalers. The amount of customization that can be created is limited to your imagination – and code…
Overview
Aria Automation uses YAML to describe a blueprint (called a Cloud Template). This description will influence how workloads are created. The Cloud Template has the ability to use Forms to allow for user input. There are multiple methods that can be used to implement the workload customizations you require:
Cloud Template – YAML is used to create the forms that allow your users to request virtual machines. These forms can prompt the user for information which will influence properties of the workloads to be created. This can include VM Name, IP Address, disk configuration, etc. You can even write expressions for conditional logic in your Cloud Template
Workflow engines – workflow engines can be used to customize VMs in more complex scenarios
- vRealize Orchestrator – This is a separate workflow engine included with vRA. It can use JavaScript code as well as other languages like PowerShell.
- Action-Based Extensibility (ABX Actions) – This workflow engine also supports multiple languages (PowerShell, NodeJS, and Python). ABX Actions can allow you to create interactions outside of the vRA platform (Interact with other systems like IPAM, or Configuration Mgmt DBs, as well as in-guest configuration)
- Post deployment Guest Configuration – Two open-source projects for distributing configuration/applications can be used with vRA
- Cloud-Init for Linux Systems
- Cloudbase-Init for Windows Systems
Getting Started
- YAML – This stands for Yet Another Markup Language.
- Using vRA to build dynamic custom forms – A video series (courtesy of VVORK) that will give you an overview and using vRA and help you get your first cloud template up and running
- Using ABX Actions for the Windows Server Admin – Useful to take your existing PowerShell code library and fold that into vRA for automated deployments
- In-Guest Post-Deployment configuration
- vSphere Customization Specifications – A Cloud Template can call a customization spec that is created in vCenter
- Cloud-Init – Using Cloud-init for configuring Linux-based VMs in Cloud Templates
- If you are running Ubuntu 20.04.x, you may need to make some adjustments in your VM template before vRA can use Cloud-Init – See KB 80934 for details
- Cloudbase-init – Example of using CloudBase-Init to add registry keys, users, and network settings
Useful Capabilites
- Dynamic Network Portgroup Selection – Your Cloud Templates can have a list of network port groups to choose from. If you have a large number of port groups this can be hard to maintain. This post shows how vRA can dynamically populate a drop down of networks for your users to select from when requesting a VM
- Adding Custom Attribute to VM – If your environment makes use of Custom Attributes on virtual machines, your Cloud Templates can be configured to do this when deploying workloads
- Update Network Fabric IP Info in Aria Automation using APIs – If you need to add or change a large number of Network Subnet information Aria Automation, you can automate that with a few APIs, PowerShell, and PowerVRA
- Onboarding VMs – Set Deployment Name to VM Name – When onboarding existing VMs, Aria Automation will define the deployment name as Deployment-[randomnumber]. It may be more useful for operations teams to have the Deployment named the same as the VM.
Troubleshooting
- Generate Diagnostic Log Bundle – There are a number of options that can be used to control bundle file size and ensure you capture the data needed.
- Starting and Stopping Aria Automation services – This can be useful if the Automation VM goes down hard or has trouble starting up
Shutdown
/opt/scripts/svc-stop.sh sleep 120 /opt/scripts/deploy.sh --onlyClean
Startup
/opt/scripts/deploy.sh