Enabling an Existing Cluster to Use
vSphere Lifecycle Manager

If you want to manage the life cycle of a cluster by using a single software specification, you must first enable
vSphere Lifecycle Manager
on that cluster. You can use the
vSphere Automation
API to enable a cluster to use the
vSphere Lifecycle Manager
feature.
Before you enable
vSphere Lifecycle Manager
on a cluster, you can check whether the cluster meets all prerequisites.
vSphere Lifecycle Manager
can be enabled for a cluster only if the following requirements are met:
  • All hosts in the cluster are of version 7.0 or later.
  • All hosts in the cluster are stateful.
  • All hosts in the cluster include only components that belong to integrated solutions, such as VMware vSAN and VMware vSphere® High Availability.
  • None of the hosts in the cluster are in the process of active remediation through the VMware vSphere®Update Manager.
  • The cluster has a desired state already created for it.
If you want to run a preliminary check about whether all hosts in the cluster meet these requirements,
call the
check_Task(cluster_ID,check_spec)
method of the
com.vmware.esx.settings.clusters.enablement.Software
interface. Pass as arguments the cluster ID, and optionally, a
com.vmware.esx.settings.clusters.enablement.SoftwareTypes.CheckSpec
instance
.
The cluster ID represents the unique identifier for a cluster resource.
To retrieve commonly used information about clusters including their IDs, call the
list(filter_spec)
method of the
com.vmware.vcenter.Cluster
interface and pass as argument a
com.vmware.vcenter.ClusterTypes.FilterSpec
instance to list the clusters that match specific criteria. You receive a list of
com.vmware.vcenter.ClusterTypes.Summary
objects which you can use to get the cluster ID.
You pass a
CkeckSpec
instance
to specify which checks can be skipped during the cluster preliminary check. Though you can skip some checks with this operation, the Image Manager runs all checks during the enablement operation. If you leave the check specification empty, all checks are run for each host in the cluster. You can select among the following checks to be skipped when running a pre-check operation:
  • SOFTWARE
    . Checks whether there are any orphaned vSphere Installation Bundles (VIBs) and any software that cannot co-exist with
    vSphere Lifecycle Manager
    .
  • VERSION
    . Checks whether all hosts in the cluster are of version greater than a predefined one.
  • STATELESSNESS
    . Checks whether there are any stateless hosts in the cluster.
    vSphere Lifecycle Manager
    can be enabled only if the cluster does not contain stateless hosts.
  • VUM_REMEDIATION
    . Checks whether any of the hosts in the cluster are currently remediated through the VMware vSphere®Update Manager.
  • SOFTWARE_SPECIFICATION_EXISTENCE
    . Checks whether there is a software specification already associated with this cluster. In case, this check reports that the cluster does not have a software specification, you must first create a draft software specification for this cluster and then commit the draft.
  • VSAN_WITNESS_ELIGIBILITY
    . Checks whether the software specification can be used on any vSAN witness hosts in the cluster. For information about how you can manage a vSAN cluster by using
    vSphere Lifecycle Manager
    , see
    vSAN Clusters and vSphere Lifecycle Manager
    chapter in the
    Managing Host and Cluster Lifecycle
    documentation.
To enable a cluster to be managed with
vSphere Lifecycle Manager
, call the
enable_Task(cluster_ID,enable_spec)
method of the
com.vmware.esx.settings.clusters.enablement.Software
interface. Pass as arguments the cluster ID and optionally, a
com.vmware.esx.settings.clusters.enablement.SoftwareTypes.EnableSpec
instance. To specify checks that you want to be skipped during the enablement process, pass the
EnableSpec
instance. Currently, you can only skip the
SoftwareTypes.CheckType.SOFTWARE
check.
You can also get information about which clusters in your environment are managed with a single software specification.
Call the
get(cluster_ID)
method and pass the cluster ID as an argument.