VMware Infrastructure (VI) SDK 2.5.0 Release Notes
Back
Whats New
This release of the VI SDK 2.5 includes:
Support for ESX Server 3i
This version of the VI SDK supports ESX Server 3i. ESX Server 3i delivers the market-leading hypervisor VMware ESX Server in a unique new form factor: integrated with server hardware. Despite its small footprint, VMware ESX Server 3i is as functional as ESX Server 3.5, but in a simple, fully secure deployment model. Developers targeting ESX Server 3i will find these new features of special interest:
Support for the DMTF SMASH
ESX Server 3i version 3.5 enables server management using the CIM SMASH interface.
- CIM (Common Information Model) is an industry-standard systems management information model proposed and shepherded by the DMTF (Distributed Management Task Force. CIM enables systems-, network-, application-, and services-management-vendors to exchange information about their systems using a common modeling approach. A CIM object is a model of a managed resource, such as a printer, disk drive, or CPU.
- SMASH (Systems Management Architecture for Server Hardware) is another DMTF initiative providing a suite of specifications that deliver architectural semantics, industry-standard protocols and profiles to unify the management of the data center.
- A CIMOM (CIM Object Manager) is software that transfers CIM data between WBEM (Web-Based Enterprise Management) client applications and managed resources.
This release of the VI SDK includes:
- Java sample code that uses CIM, via the Sun WBEM library. See the Java sample located in SDK\samples\Axis\java\com\vmware\samples\ciminfo\VIWrapper
- CIM SMASH API Programming Guide
ESX Server 3i includes support for CIM Schema version 2.14 and for SMASH 1.0.0. The specific profiles supported are listed in the table. (* means not fully implemented: See the CIM SMASH API Programming Guide for more information.)
DMTF SMASH Profiles Supported by ESX Server 3i
For more information about CIM, SMASH, and other DMTF initiatives, visit the DMTF website.
|
Note: | ESX Server 3.0.x supports SMI-S (Storage Management Initiative-Specification, version 1.0.2), a standard defined by the Storage Networking Industry Association that specifies how to use CIM (Common Information Model) to manage storage products. The CIM SDK provided by VMware for use with ESX Server 3.0.x and storage management is not supported by ESX Server 3.5 or ESX Server 3i.
|
|
Durable LUN Names
Durable LUN Names (aka, Correlatable, Durable LUN Names). The proprietary algorithm used by ESX Server to create UUID (universally unique identifiers) for LUNs has been augmented with additional information that enables API consumers to materialize storage topology using standard identifiers (Correlatable and Durable Names).
The support is for physical, not virtual, LUNs. Developers will find a new property, alternateNames, associated with ScsiLun array using the DurableName type. One durable name will be selected as the best (the best algorithm as defined by SMI and T10 SPC specifications) and stored in durableName; all other available payloads are recorded in the alternateNames. A new standardInquiry byte array property is used to record the standard inquiry payload. See the VI API Reference 3.1 for more information. [First supported in Beta 1]
Limited Support for SNMP (v1) Hardware-Event Traps.
Traps are sent within 2 minutes of registered events. Traps may be based on periodic scans of the IPMI hardware log (CIM Record Log profile), the values of the sensors as returned by CIM, or the VI API or CIM indications.
Detailed health information is not provided. [First supported in Beta 1]
New and Enhanced Object Types and API to Support Server Capabilities
Many of the new features and capabilities of ESX Server and VirtualCenter Server are designed to make managing a virtual infrastructure more robust, more scalableor simply easier. The VI API has been enhanced to provide access to the new capabilities. In some cases, existing functionality has been enhanced.
See Whats New in the VI SDK? (chapter 1 in the Programming Guide) for more information about new managed object types, new properties, and operations. These are just some of the highlights:
- New Mechanisms for Remote File Management In addition to the HostDatastoreBrowser available in previous releases, ESX Server 3.5 provides three new mechanisms for managing files:
- FileManager (Experimental)The FileManager provides operations for managing files and directories (folders) within a datastore or transfer files between datastores. Operations include: copy, create, delete, and move datastore files.
- VirtualDiskManager (Experimental)The VirtualDiskManager provides facilities to manage and manipulate virtual disks on datastores. Operations include: virtual disk creation and deletion; copying or moving virtual disks across datacenters and datastores; extending or shrinking virtual disks, and performing general virtual disk maintenance functions.
- Web-based (HTTP) File AccessESX Server 3.5 supports web-based, streaming file-access to ESX Server datastore and selected ESX Server configuration files. Datastore access is available through both VirtualCenter Server and ESX Server systems; configuration files are accessible though ESX Server systems only.
Sample code for Java client implementation of this new approach is available in the SDK.
- HostPatchManager Enables programmatically scanning and patching an ESX Server using an online patch repository.
- HostDateTimeSystem Date and time configuration information has been enhanced to support access to the Network Time Protocol (NTP) and date/time related for an individual ESX Server host. Information about the running status of the NTP daemon and functionality to start and stop the daemon is provided by the HostServiceSystem object.
- HostSNMPSystem Provides services to query and configure SNMP on a host.
- Enhancements to ComputeResource and ClusterComputeResource Managed Object Types The ComputeResource managed object type includes new configure Distributed Power Management (DPM) options. The ClusterComputeResource managed object type includes new properties that provide an enhanced recommendations (ClusterRecommendation) and a history of recent actions (ActionHistory).
- Support for CDP (Cisco Discovery Protocol) The QueryNetworkHint method returns information available through CDP (Cisco Discovery Protocol). If the uplink connects directly to a CDP-aware network device that has CDP broadcast enabled, this property will be set to return the CDP information received on this physical NIC (PNIC).
- Support for MTU for Virtual Switches The virtual switch managed object type contains a new property, mtu, that lets you view and modify the maximum transmission unit (MTU, the largest packet-size that an interface can transmit without fragmentation) for network packets.
- Additional VirtualMachine Configuration Options The VirtualMachine managed object type now supports a broader set of configuration options, including:
- bootOptionsSupports delayed boot, to enable forcing a virtual machine into BIOS.
- disable snapshotsEnables client application to disable snapshots.
- lock snapshotsPrevents modification to snapshots.
- NPIV supportedEnables SAN-based NPIV (N-Port ID Virtualization) support.
- Swap file placementEnables specifying precise placement of swap file.
- Virtual MMU supportBoolean that indicates support (true) for Nested Page Table (NPT).
- Storage VMotion Applications can make use of the storage vMotion facilities using the existing relocateVM method. Hosts that support VMotion will have more flexible options (can change virtual disk location on running VMs). [VirtualCenter Server only]
- More Metrics for Host and Virtual Machine Performance. Disk-latency metrics are now supported on the host and virtual machine. [VirtualCenter Server only]
- Support for Custom VirtualCenter Plugins The ExtensionManager managed object is enables third-party applications to register plugins (or, extensions) to VirtualCenter. Extensions are registered as URL links. The VI Agent automatically registers these extensions and modify the GUI accordingly. Applications can query the ExtensionManager object to inspect the list of registered plugins. [VirtualCenter Server only]
- Support for Custom Server-side Views VirtualCenter Server 2.5 provides a new managed object type, the ViewManager, that enables definition of custom views for managing objects and properties. Three related new managed objects-InventoryView, ListView, and ContainerView-provide alternative basic patterns for object and property collection. (The ViewManager provides an alternative to the PropertyCollector managed object type.) [VirtualCenter Server only]
- Support for Remote Automated Power-up (Using New PowerUpFromStandby Operation)Host systems configured with WakeOnLan can be powered-up from VirtualCenter server. [VirtualCenter Server only]
Deprecated Object Types, Properties, and Methods
Several properties and types available through the VI API 2.0 have been deprecated in VI API 2.5. The table lists the deprecated enumeration types, fault types, managed- and data-object properties, and managed object methods, and identifies the new feature that takes its place.
For example, the QueryMemoryOverhead operation, available through HostSystem managed objects, is deprecated: QueryMemoryOverheadEx should be used for new development. The Java sample (\version\querymemoryoverhead\QueryMemoryOverheadV25) demonstrates using the new operation.
| Name of object type or property |
As of VI API 2.5, use instead... |
| Enumerated Types
| |
LicenseManagerLicenseKey | Use QueryLicenseSourceAvailability to obtain an array of LicenseAvailabilityInfo data objects (which in turn, comprises LicenseFeatureInfo data objects and status information about number of licenses and availability).
| |
DrsRecommendationReasonCode | Use the RecommendationReasonCode enumerated type. |
|
Fault Types
| |
CpuCompatibilityUnknown | Use CpuIncompatible and its subclasses.
| |
IDEDiskNotSupported | Use the DeviceControllerNotSupported fault type.
|
| Data Object Types
| |
ClusterConfigInfo | Use the ClusterConfigInfoEx data object type.
| |
ClusterConfigSpec | Use the ClusterConfigSpecEx data object type.
| |
ClusterDrsRecommendation | Use ClusterRecommendation.
|
| Managed Object Type Properties
| |
ClusterComputeResource.configuration | Use ComputeResource.configurationEx
| |
ClusterComputeResource.drsRecommendation | Use ClusterComputResource.recommendation
| |
LicenseManager.featureInfo | Use QuerySupportedFeatures.
|
| Managed Object Type Methods
| |
ReconfigureCluster_Task | Use ReconfigureComputeResource_Task.
| |
RecommendHostsForVm | Use PowerOnMultiVM_Task. RecommendHostsForVm cannot make any recommendations if DRS cannot find the specified host in the cluster. With PowerOnMultiVM_Task, DRS atttempts to migrate virtual machines and power on hosts in standby mode, given the same conditions.
| |
DestroyDatastore | Do not use this method: DestroyDatastore throws ResourceInUse. Datastores are automatically removed when no longer in use, so this method is unnecessary.
| |
CreateCluster | Use CreateClusterEx.
| |
DeleteFile | Use DeleteDatastoreFile_Task (a method of the new FileManager managed object.
| |
QueryMemoryOverhead | Use QueryMemoryOverheadEx.
| |
DestroyNetwork | Do not use this method: DestroyNetwork throws ResourceInUse. Networks are automatically removed when no longer in use, so this method is unnecessary.
| |
CreatePerfInterval | Use UpdatePerfInterval. Historical intervals cannot be created.
| |
RemovePerfInterval | Use UpdatePerfInterval. Historical intervals cannot be removed.
|
|
Data Object Type Properties
| |
ClusterDasVmConfigInfo.restartPriority | Use restartPriority. If this value is specified using both places, the value in restartPriority has precedence.
| |
ClusterDasVmConfigInfo.powerOffOnIsolation | Use isolationResponse. If a value is specified in both powerOffOnIsolation and isolationResponse, the value in isolationResponse takes precedence and the value in powerOffOnIsolation is ignored.
| |
CustomizationWinOptions.deleteAccounts | Deleting user accounts as part of a customization routine is not supported as of VI API 2.5: the deleteAccounts property is ignored. To change the administrator password, set the administrator password to blank in the master vm. Sysprep will then be able to change the password to the one specified by the password.
| |
VirtualMachineFlagInfo.runWithDebugInfo | Use the new monitorType property (an enumeration comprising string values debug, release, and stats).
|
New WSDL for VMware Infrastructure Management 3 API
As in past releases of VMware Infrastructure 3, the VMware Infrastructure Management API is exposed as a Web service running on ESX Server and VirtualCenter. With ESX Server 3 version 3.5 and VirtualCenter 2 version 2.5, however, the API is available in two different namespacesvim25, and vim2. Heres what you need to know about these two different namespaces:
- The WSDL (vim.wsdl and vimService.wsdl: vimService.wsdl imports vim.wsdl, at stub-generation time) that defines the API available on an ESX Server and
VirtualCenter Server Web service. In this release, the WSDL is available in two different versions, located in the wsdl sub-directory:
- vim sub-directory contains WSDL files with vim2 namespace, which defines API hosted on Web services running on ESX Server 3.0.x, VirtualCenter Server 2.0.x, ESX Server 3.5, VirtualCenter Server 2.5, and ESX Server 3i.
- vim25 sub-directory contains WSDL files with vim25 namespace, which defines API hosted on Web services running on ESX Server 3.5, VirtualCenter Server 2.5, and ESX Server 3i.
- Client applications that have been written using the VI SDK 2.0 WSDL should work, unchanged, with ESX Server 3 version 3.5 and VirtualCenter 2 version 2.5.
- Only if you want to use new features (of ESX Server 3.5 or VirtualCenter 2.5) in a client application do you need to use the new (vim25) WSDL to generate client-side stubs and then compile the application. However, note that some of the method (operation)-signatures have changed in the new WSDL, and so if you are re-generating and re-compiling existing code, you may raise warnings and errors.
New Sample Applications
This release of the VI SDK includes several new Java sample applications that demonstrate new features of ESX Server 3.5, VirtualCenter 2.5, and ESX Server 3i.
In addition, the Java samples have been improved over previous versions: Some of the code has been refactored; some of the Java packages have been reorganized. Other changes include:
- The supporting utility applications have been moved to an apputils package.
See the Readme for VI SDK Java Samples (SDK\samples\Axis\java\readme_java.html), available in the updated documentation zipfile, for more information about the new samples.
|