Release date: 17 APR 2018 | ESXi build 8169922, SDK build 7970399 For vSphere 6.7 GA. Last document update: 24 APR 2018 Check frequently for additions and updates to these release notes. |
Overview
The vSphere Web Services SDK supports the development of vSphere client applications that use the vSphere API to manage virtual machines and other virtual infrastructure components, such as datacenters, datastores, and networks.
Distribution Kit
The vSphere Web Services SDK is distributed as part of the vSphere Management SDK. The vSphere Management SDK is a collection of vSphere SDKs. When you extract the contents of the distribution kit, the vSphere WSSDK is contained in the SDK sub-directory:
VMware-vSphere-SDK-6.7.0-buildNumber.zip SDK eam sms-sdk spbm ssoclient vsphere-ws
New in This Release
- New vSphere APIs.
For information about additions to the vSphere API (new managed object types, data object types, properties, and methods), see the vSphere API Reference. The main landing page for the vSphere API Reference contains links to this information in the section “What's New in vSphere API 6.7?”
- New
InstantClone
method added.The vSphere 6.7 release includes the
InstantClone_Task()
method for low-latency deployment of cloned virtual machines from a running or frozen source virtual machine. - New Enhanced vMotion Compatibility feature added.
The vSphere 6.7 release includes the Enhanced vMotion Compatibility (EVC) feature. EVC facilitates vMotion between different CPU generations through use of Intel Flex Migration and AMD-V Extended Migration technologies. When enabled on a particular virtual machine, the EVC feature ensures that CPU compatibility retains the specified mode regardless of migration across clusters, datacenters, or vCenter server instances. The SDK includes a new sample program,
VMApplyEvc.java
, that demonstrates how to use the new feature. See the documentation forapplyEvcModeVMTask()
in the vSphere API Reference for reference information. - .NET SDK DLLs added.
The SDK now includes pre-built DLLs for .NET, so there is no need for you to build the C# DLLs before running the samples.
Deprecations
Several properties and types defined for the API have been deprecated as of vSphere API 6.7. You can see all of the objects, methods, and parameters with indicators to show when they were added and/or deprecated by reviewing the API Versions Reference table in the vSphere Web Services API Reference.
Known Issues
The following section describes the known issues for the vSphere Web Services SDK in release 6.7.
- While acquiring bearer token, Java samples fail with SOAP exception.
When JAX-WS sample programs are run with Java 1.8.0_161, 1.8.0_171/172, or 10.0.1, they throw the error “Entity References are not allowed in SOAP documents” after trying to acquire a bearer token, and exit with a back-trace. One solution is to use the more stable JDK 1.8.0_131.
- JDK 1.8 Update 141 and 144 SSO connection failure.
JDK 1.8 Update 141 and 144 would fail to complete an SSO connection to vCenter Server. The vpxd log would show the following lines:
ERROR task-internal... vim.SessionManager.loginByToken: vim.fault.InvalidLogin: --> Result: --> (vim.fault.InvalidLogin) { --> faultCause = (vmodl.MethodFault) null, --> msg = "" --> }
For information about workarounds, see Knowledge Base article 2151706. -
.NET samples fail to access vCenter Server by using an IPv6 address.
If you use an IPv6 address to access the vCenter Server system, the samples fail to connect to the vSphere services and the following error is logged:
System.ServiceModel.EndpointNotFoundException: There was no endpoint listening at https://[fd01:0:101:2605:0:a:0:1a61]/sts/STSService that could accept the message. This is often caused by an incorrect address or SOAP action. See InnerException, if present, for more details. ---> System.Net.WebException: The remote server returned an error: (503) Server Unavailable.
Workaround: Use an FQDN to access the vSphere services when running the .NET samples.
- FindByDnsName case sensitivity.
The FindByDnsName operation expects a
dnsName
argument to specify a target domain name. For requests to vCenter Server, the argument value is case insensitive. For requests to ESX hosts, the argument value is case sensitive. - HTTP file download performance.
HTTP file download performance using a vCenter client connection takes longer than the same file transfer using an ESXi connection. A similar issue with HTTP file upload has been resolved.
- SCSI LUN queue depth is not available.
The ESXi Server does not set the
ScsiLun.queueDepth
property. Modifications to this property will have no effect. Property retrieval will not produce a value. - Disk chains of managed virtual disks not fully supported.
In this release, vSphere does not fully support managed virtual disk chains.
When you delete a managed virtual disk chain, only the leaf disk file is deleted. The leaf disk is the last child disk in the chain, while the base disk is the earliest parent in the chain.
If your application manages disk chains that span datastores, the application must maintain its own mapping between child disks and datastores. You need the mapping to delete the entire disk chain correctly.
If your application manages disk chains that span datastores, certain situations can cause disk IDs to behave unexpectedly. vSphere maintains an association between disk ID and the file path of the leaf disk. When a child disk is created, the file path for the ID in the managed virtual disk inventory is updated to point to the newly created leaf disk.
If you subsequently use an API method to reconcile a different datastore inventory that contains the base disk of the chain, or one of the parent disks in the interior of the chain, vSphere creates another association of the disk ID that points to the parent disk on that datastore. If you reconcile all datastores, vSphere creates another association with the disk ID for each datastore that backs the chain. For this reason, your application needs to keep track of the datastores, especially the datastore that contains the leaf disk of the chain.
Workaround: To avoid creating duplicate disk ID associations for a chain of managed virtual disks, use a single datastore as a backing resource for all disks in a chain.
If you already have a chain that spans multiple datastores, you can create a copy of the chain on a single datastore by using the CloneVStorageObject_Task() method of the VMware Web Services API. The parameters to the clone method must supply the datastore of the leaf disk as the source datastore. The datastore parameter resolves any ambiguity with the disk ID associations.
If you need to verify the properties of a managed virtual disk ID, the associated datastore is uniquely identified by the property RetrieveVstorageObject().config.backing.datastore.summary.url, and the associated virtual disk file is located by the property RetrieveVstorageObject().config.backing.filePath.
After you clone the disk chain, you can delete the old chain that spanned datastores. Deleting a managed virtual disk chain is described in the KB article 2147767.
Documentation Issues
VirtualMachine.CloneVM_Task
method failure.The vSphere Web Services API Reference does not document the following limitation with regard to
VirtualMachineCloneSpec
:When the
VirtualMachine.CloneVM_Task
method fails, it produces the following error,"The specified delta disk format 'nativeFormat' is not supported."
The vCenter Server returns this error in the following situations:- Create a VAAI NAS native linked clone virtual machine that uses
nativeFormat
for the delta disk format (VirtualMachineCloneSpec.location.disk.diskBackingInfo.deltaDiskFormat
). - Create a second-level clone from the first clone, such that the disk for the second-level clone is on a different datastore. If you do not specify
seSparseFormat
orredoLogFormat
for the second-level clone delta disk format, the clone operation will fail.
If you are using a virtual machine clone with a native delta disk format, you must specify either
seSparseFormat
orredoLogFormat
for any clones that you create from the original native clone when the second-level clone is on a different datastore.- Create a VAAI NAS native linked clone virtual machine that uses
- The
fault
parameter is required when setting theSetTaskState
method.The vSphere Web Services API Reference does not document the following limitation with regard to the
SetTaskState
method:If you specify an error state when you call the
SetTaskState
method, you must also specify thefault
parameter in the calling sequence. - The
seSparse
virtual disk type is intended for internal use only.The documentation does not specify internal use only for
VirtualDiskType.seSparse
.
Resolved Issues
- None