Integrate Third-Party Solutions with
vSphere Lifecycle Manager
vSphere Lifecycle Manager
A solution is an
ESXi
software package that
extends the functionality and capabilities of a host and integrates with the vCenter Server
system. To be able to manage the life
cycle of your third-party solutions on a cluster managed with images, you must integrate the
solutions with vSphere Lifecycle Manager
. Examples of VMware integrated solutions are
VMware NSX-T Data Center™
, vSAN
, and
vSphere Supervisor
. For more information
about the VMware integrated solutions, see vSphere Lifecycle Manager Images
and Other VMware Products and Solutions
section in the Managing Host and Cluster
Lifecycle
documentation.Third-party software providers can use the vSphere APIs, VMware vSphere APIs for I/O
Filtering (VAIO), VMware Daemon Software Development Kit, and others to develop
third-party solutions for their vSphere platforms.
You can use the
vSphere Lifecycle Manager
automation APIs to manage the life cycle of third-party
solutions on a cluster managed with a single image. First you need to package and
upload your solution components to thevSphere Lifecycle Manager
depot. Use the depot to store and
manage the software updates for your third-party solutions. To make a solution
available on a cluster, create a software specification that contains the solution
and remediate all hosts in the cluster with that image. vSphere Lifecycle Manager
manages the
life cycle of the solution components by consuming the software updates from the
vSphere Lifecycle Manager
depot. If you export an image from the cluster where your third-party solution is
running, the solution components are not part of the exported image.
Prerequisites
To enable
vSphere Lifecycle Manager
to manage your third-party solutions, you must use the
ESXi Packaging Kit (EPK) to create installable packages. As of the vSphere 7.0
release, partner development kits generate components as installation packages. For
more information about how to use the EPK to create components, assemble components
into add-ons, then merge the add-ons with the base image to author a depot, see the
ESXi Packaging Kit (EPK) Development Guide
documentation.Integrate a Third-Party Solution
to Work with vSphere Lifecycle Manager
vSphere Lifecycle Manager
- Create an online or offline depot to host your third-party solutions. See Working with Online Depots and Working with Offline Depots.
- The following example creates an online depot that can be accessed through thehttp://my_online_depot.comURL.POST https://<vcenter_server_ip_or_fqdn>/api/esx/settings/depots/online { "description" : "My online depot adds the My Solution component to theESXi7.0U3d base image", "ownerdata" : "ACME Company", "location" : "http://my_online_depot.com", "enabled" : true }
- The following example creates an offline depot, also called an offline bundle, that can be imported to thevSphere Lifecycle Managerdepot.POST https://{server}/api/esx/settings/depots/offline?vmw-task=true { "file_id" : "string", "description" : "string", "ownerdata" : "string", "source_type" : "PULL", "location" : "http://myurl.com" }
- Synchronize the online depot to download the depot metadata and make thevSphere Lifecycle Manageraware of your solutions. See Synchronizing Software Depots.POST https://<vcenter_server_ip_or_fqdn>/api/esx/settings/depots/online?vmw-task=true&action=sync
- Create a draft software specification. See Creating a Draft Software Specification.POST https://<vcenter_server_ip_or_fqdn>/api/esx/settings/clusters/<cluster_id>/software/drafts
- Add your solution to the created draft software specification. See Editing a Draft Software Specification.PUT https://<vcenter_server_ip_or_fqdn>/api/esx/settings/clusters/<cluster_id>/software/drafts/<draft_id>/software/components/<component_id>
- Save the created draft software specification to make it the desired state for the cluster. See Committing the Draft Software Specification.POST https://<vcenter_server_ip_or_fqdn>/api/esx/settings/clusters/<cluster_id>/software/drafts/<draft_id>?action=commit&vmw-task=true
- Remediate theESXicluster with the desired state that contains your solution to apply the desired state on all hosts in that cluster. See Remediating an ESXi Cluster and a Standalone Host.POST https://<vcenter_server_ip_or_fqdn>/api/esx/settings/clusters/<cluster_id>/software?action=apply&vmw-task=true { "hosts" : [ "obj-103", "obj-103" ], "commit" : "obj-103", "accept_eula" : true }
Results
You set up an image for the cluster which includes your third-party solution. You now
manage all hosts in the cluster collectively with a single image. Upon remediation,
the image is installed on all hosts in the cluster.
What to do next
You can update, delete or add new solutions to the draft software specification and
then commit the changes to make the draft the desired state for the cluster.
Enable vSphere Lifecycle Manager on a Cluster Managed with Baselines
vSphere Lifecycle Manager
on a Cluster Managed with BaselinesFor more information about how to convert a cluster to use
vSphere Lifecycle Manager
images
instead of baselines, see Enabling an Existing Cluster to Use vSphere Lifecycle Manager.
vSphere Lifecycle Manager APIs
Equivalent to the vSphere Host Patch Manager APIs
vSphere Lifecycle Manager
APIs
Equivalent to the vSphere Host Patch Manager APIs To manage the life cycle of a single host with baselines, you use the vSphere Host
Patch Manager APIs which are part of the vSphere Web Services API. To manage the
life cycle of all hosts in a cluster collectively with an image, you use the
vSphere Lifecycle Manager
APIs which are part of the vSphere
Automation
APIs. The following table compares the APIs for life
cycle management of the hosts and clusters in your environment.Operation | vSphere Lifecycle Manager API | vSphere Host Patch Manager API |
---|---|---|
Check whether hosts can be remediated | com.vmware.esx.settings.clusters.Software.check
| vim.host.PatchManager.CheckHostPatch_Task
|
Check the compliance of the cluster or host with the desired
state | com.vmware.esx.settings.clusters.Software.scan
| vim.host.PatchManager.ScanHostPatchV2_Task
|
Remediate the cluster or host with the desired state | com.vmware.esx.settings.clusters.Software.apply
| vim.host.PatchManager.InstallHostPatchV2_Task
|
Retrieve information about the cluster or host that you want to
remediate |
| vim.host.PatchManager.QueryHostPatch_Task - View
information about the bulletins installed on an ESXi host. |
Stage a desired state on a cluster or host | com.vmware.esx.settings.clusters.Software.stage
| vim.host.PatchManager.StageHostPatch_Task
|
Uninstall a component | com.vmware.esx.settings.clusters.Software.apply
- When a software component is removed from the desired software
specification and then the cluster is remediated, the component will be
uninstalled from all hosts in that cluster. | vim.host.PatchManager.UninstallHostPatch_Task
|