After you set up the vSphere Provisioning Adapter, you can modify the configuration to discover VMware DRS clusters in your environment.
The Orchestration Server supports the discovery of VMware vSphere clusters used for high availability in a VMware environment or managed by the VMware Distributed Resource Scheduler (DRS) after an Orchestration Agent has been deployed into such an environment. In this scenario, Cloud Manager Orchestration also lets you verify when actions have taken place outside of Cloud Manager, such as when DRS moves a VM to an alternate host in the cluster or when an administrator moves a VM into a different resource pool.
Any vSphere clusters discovered by Cloud Manager and managed by DRS are listed in the Orchestration Console as members of a convenience group (for example, a group named clusters_vsphere).
You can learn about read-only cluster-related facts for the following aspects of discovered clusters in Unique VM Host Cluster Facts
in the Cloud Manager Administrator Reference:
VM Host Cluster object
VM Host residing in a cluster
VMs hosted in a cluster
To assign the VMs to a certain cluster (for example, the cluster root pool), or if you want to assign VMs to a pool “owned” by your customers, configure the vsphere_assignPool policy to a VM or a group of VMs.
In the Orchestration Console tree view, select the VM or Group of VMs that you wish to constrain to their assigned resource pool.
In the admin view, select Policies to open the Policies page.
On the Policies page, select Choose to display the Policy Selection dialog.
In the Source Policies list, select vsphere_assignPool, click Add to move it to the Associated Polices list, then click OK.
If you want to limit the number of datastores (that is, repositories that are modeled in the Orchestration Server) that are available to a vSphere cluster, you can assign a policy similar the policy below to the undesired repository or repositories:
<policy>
<repository>
<fact name="enabled" type="Boolean" value="False" />
<fact name="provisioner.jobs">
<array type="String">
</array>
</fact>
</repository>
</policy>
This disables the repository for use with the cluster.
Your VMware cluster environment might be configured to accommodate a MetroCluster (sometimes called a stretch cluster) high availability solution. MetroCluster allows for synchronous mirroring of server volumes between two separate storage controllers, usually in the same datacenter. When a MetroCluster is in place, vCenter sees two available repositories, even though the location on the ESX server (that is, the VM host) is unknown.
By using a special job called metroCluster, the Cloud Manager Orchestration Server associates all workloads provisioned to a specified repository with its corresponding DRS cluster rule. The Orchestration Server uses this job to work with these rules and facts to determine the DRS group that the VM should be added to. The job ensures that the provision plan balances the VM load fairly across the two repositories.
To implement the MetroCluster compatibility feature in Cloud Manager Orchestration:
In the Explorer tree navigate to Jobs > examples, then right-click examples and select Deploy Job to open the job deployment dialog, then select the metroCluster job and click OK.
or
Use the zosadmin command line interface to invoke the following commands for deploying the metroCluster job:
zosadmin login <server_hostname_or_server_IP>
zosadmin deploy /opt/novell/zenworks/zos/server/examples/metroCluster.jobFrom the Provision menu, run the Discover VM Hosts & Repositories action to discover any new cluster rules or to update existing cluster rules.
A DRS cluster rule (defined by the vSphere client) would have been created to ensure that VMs in a specified group (for example, site_a_vms) run on hosts in a specified group (for example, site_a_hosts).
Create a new policy to define the value for the new fact.
The fact should contain the name of the desired cluster rule as its value.
In the Explorer tree, click Actions > Create > Create Policy to open the Create a New Policy dialog.
In the dialog, provide a name for the policy, then click Create > Close to create the new policy template in the Policy Editor.
In the Policy Editor, substitute the following:
<policy>
<repository>
<fact name="vsphere.cluster.metro.rule"
type="String"
description="The cluster rule to use for VMs associated with this repository."
value="foo" />
</repository>
</policy>
NOTE:In this example, you need to replace the foo value with the actual name of the DRS cluster rule.
Associate the policy with the primary cluster repository.
In the Explorer tree, locate and select the primary cluster repository object, then select Policies to open the policies page.
On the Policies page, select Choose to open the Policy Selection dialog.
From the Source Policies list, select the name of the policy you created in Step 3 click Add to add it to the associated policies list, then click OK.
Repeat Step 4 on the mirrored repository of the MetroCluster.
When a VM is provisioned (that is, started) or moved to a repository, it should be joined to the cluster rule, which should allow the failover.