9.3 VM Life Cycle Management

The Novell ZENworks Orchestrator maintains a library of VM images, hosts, and instances. Like physical resources, VMs can be grouped and they have facts that describe their attributes.

ZENworks orchestrator provides a JDL management API for the following tasks you can use jobs to perform on VMs, as illustrated in the following figure:

Figure 9-2 VM Lifecycle Management

Provision (schedule or manually provision a set of VMs at a certain time of day).

Move

Clone (clone a VM, an online VM, or a template)

Migrate

Create a VM template from a physical machine

Create a VM from a physical machine

Destroy

Restart

Check status

Create a template to instance

Create an instance to template

Affiliate with a host

Make it a stand-alone VM

Create checkpoints

Restore

Delete

Cancel Action.

You might want to provision a set of VMs at a certain time of day before the need arises. You also might create a job to shut down all VMs or a constrained group of VMs. You can perform these tasks programatically (using a job), manually (through the management console), or automatically on demand.

When performing tasks automatically, a job might make a request for an unavailable resource, which triggers a job to look for a suitable VM image and host. If located, the image is provisioned and the instance is initially reserved for calling a job to invoke the required logic to select, place, and use the newly provisioned resource.

The API is equivalent to the actions available within the Orchestrator management console. The selection and placement of the VM host is governed by policies, priorities, queues, and ranking, similar to the processes used selecting resources.

Provisioning adapters on the Orchestrator Server abstract the VM. These adapters are special provisioning jobs that perform operations for each integration with different VM technologies. The following figure shows the VM host management interface that is using the Orchestrator console.

Figure 9-3 VM Host Management

9.3.1 VM Placement Policy

To provision virtual machines, a suitable host must be found. The following shows an example of a VM placement policy:

9.3.2 Provisioning Example

This job example provisions a virtual machine and monitors whether provisioning completed successfully. The VM name is “webserver” and the job requires a VM to be discovered before it is run. After the provision has started, one of the three provisioner events is called.