You can inject custom logic at various predetermined IaaS life cycle stages by leveraging IaaS state change workflows, known as workflow stubs. You can use the workflow stubs to call out to vRealize Orchestrator for bi-directional integration with external management systems.

Creating a state change workflow enables you to trigger the execution of a workflow before the IaaS master workflow enters a specific state. For example, you can create custom workflows to integrate with an external database and record information at different stages of the machine life cycle.

  • Create a custom workflow that runs before the master workflow enters the MachineProvisioned state to record such information as machine owner, approvers, and so on.

  • Create a custom workflow that runs before a machine enters the MachineDisposing state to record the time at which the machine was destroyed and data such as its resource utilization at last data collection, last logon, and so on.

The master workflow illustrations show the main states of the master workflow, highlighting in yellow the states you can customize by using IaaS workflow stubs. The Customizable State Change Workflows table lists the workflow stubs available, their corresponding place in the master workflow state, and examples of custom logic you could use at each state to extend the machine life cycle.

Figure 1. Master workflow states for provisioning machines
Workflow states for provisioning a machine
Figure 2. Master workflow states for importing machines
Workflow states for importing a machine
Figure 3. Master workflow states for machine lease expiration
Master workflow states for machine lease expiration
Figure 4. Master workflow states for disposing a machine
Master workflow states for machine disposal
Table 1. Customizable State Change Workflows

Master Workflow State

Customizable Workflow Name

Extensibility Examples

BuildingMachine

WFStubBuildingMachine

Prepare for the machine to be created on the hypervisor.Create a configuration management database (CMDB) record, call out to an external system to assign an IP address to a machine, and then during machine disposal, use WFStubMachineDisposing to return the IP address to the pool.

RegisterMachine

WFStubMachineRegistered

Add an imported machine to an application provisioning tool to receive updates and undergo compliance checks.

MachineProvisioned

WFStubMachineProvisioned

The machine exists on the hypervisor, and any additional customizations are completed at this point, for example guest agent customizations. Use this workflow stub to update a configuration management database (CMDB) record with DCHP IP address and storage information. Customizations made by using the WFStubMachineProvisioned are typically reversed by using WFStubUnprovisionMachine.

Expired

WFStubMachineExpired

Move an expired machine to low cost storage to reduce archival costs and update the CMDB record and billing system to reflect storage and cost changes.

UnprovisionMachine

WFStubUnprovisionMachine

Remove machines from active directory accounts. Customizations made by using the WFStubMachineProvisioned are typically reversed by using WFStubUnprovisionMachine.

Disposing

WFStubMachineDisposing

Return IP addresses to the pool.