VMware Storage Policy SDK 6.5 Release Notes
Released 15 Nov 2016
Build 4571253 is the 6.5 release of the VMware Storage Policy SDK.
Check frequently for additions and updates to these release notes.
|
This document contains the following information:
Overview
vSphere 6.5 includes a Storage Policy Server which provides support for virtual machine storage profiles in the vSphere environment. The VMware Storage Policy SDK provides an API that your client application can use to create and manipulate storage policies that define storage requirements for virtual machine files.
For information about how to use the VMware Storage Policy API, see the VMware Storage Policy API Reference and the VMware Storage Policy API Programming Guide.
Distribution Kit
The VMware Storage Policy 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 VMware Storage Policy SDK is contained in the SDK/spbm sub-directory:
VMware-vSphere-SDK-n.n.n-build_number
SDK
eam
sms-sdk
spbm
ssoclient
vsphere-ws
What's New in This Release
VMware Storage Policy SDK 6.5 introduces the following new features:
- New "Lines of Services" definition for SPBM policies
vSphere 6.5 introduces the "Lines of Services" concept as the new way to define SPBM policies. In this scheme, VASA providers are required to explicitly advertise the different types of services they are capable of providing, such as Persistence (Storage), Inspection, Replication, Encryption, Cacheing, and so on. This enables you to create sophisticated policies that combine different service types to meet your applications' requirements.
- Support for Replication line-of-service policy for provisioning and monitoring
vSphere 6.5 supports provisioning of virtual machine storage based on replication line-of-service policy as supported by Virtual Volume-enabled storage arrays.
Documentation
For information about the VMware Storage Policy API, see the VMware Storage Policy SDK documentation.
Known Issues
VMware Storage Policy SDK 6.5 is known to have the following issues:
- Compatibility issues with I/O scripts running against vCenter Server 6.5
If you run programs or scripts that create or modify storage policies containing I/O filter rules that use the IOFILTERS namespace against vCenter Server 6.5, those programs or scripts fail. I/O filter capabilities are now exposed under the I/O filter's name. Scripts that directly call Storage Policy-Based Management APIs should be updated to identify the I/O filter capabilities correctly.
Workaround: Modify the scripts to invoke the PbmFetchCapabilitySchema API under PbmProfileManager in order to get the schemas (PbmCapabilityObjectSchema ). In the returned schemas, if PbmCapabilityObjectSchema.lineOfService is an instance of PbmVaioDataServiceInfo , then that schema represents the I/O filter capabilities exposed by an I/O filter. There will be one schema exposed per I/O filter. The namespace of this schema will be the same as the I/O filter name.
Note: While authoring the storage policy, the I/O filter capabilities in the policy should be as per the I/O filter schema exposed by Storage Policy-Based Management.
- PbmFetchCapabilityMetadata does not validate resourceType
PbmFetchCapabilityMetadata does not validate the resourceType parameter and returns the result for STORAGE - resourceType instead.
- Internal server error if tagging description field is empty
The Tag Category validation currently ignored during PBM queryOvf . Therefore, if the OVF descriptor has an invalid or non existing Tag Category,
no errors are added to OvfParamsResult during queryOvf when TagBasedPlacementGroupSection has an invalid TagCategory .
When a Storage Policy API user uses OVF tryInstantiate API to validate the OVF, no error will be thrown when the Tag Category specified in the OVF is invalid as long as the tag
specified in the OVF is valid and is available to the VDC clusters. However when the user actually tries the import such an OVF the actual import will fail with NotFound error.
Note: When you actually exports to an OVF, both the tag and tag category ID are exported. In most cases, when tryInstantiate is called, either both the values will be valid
or both invalid and so an error should be thrown if invalid.
This is related to an issue with the vSphere Automation SDK that happens because the Tag Category Description field is optional in the vSphere Web Services API, but it is mandatory in the vSphere Automation SDK (this is the new SDK for vCenter services).
Because the field is mandatory for vCenter services, if the description field is empty, the vSphere Automation SDK can also return an internal server error that states, "the ‘description’ field of the Category model is empty".
Workaround: When creating tags, do not leave the description field empty. If you do not have any description, you may add a whitespace character (i.e. space).
- PbmFetchVendorInfo method parameter resourceType is required
The VMware Storage Policy API Reference shows the resourceType
parameter as optional. Although it is an optional parameter, currently
you must specify this parameter.
- PbmCapabilityProfile property lastUpdatedBy is required
There is currently a mismatch between the VASA API and Storage Policy API, where the
lastUpdateBy field is optional in the VASA API and required in the Storage Policy API.
Therefore, it should be treated as mandatory in both APIs.
- Virtual machine is created despite an invalid storage policy
Using the vSphere API, you can create a virtual machine with
a storage policy that is not in compliance with the associated
storage capability. This occurs even if the subprofile constraint
property forceProvision is set to false.
If you use the vSphere Web Client to create the virtual machine,
the operation will fail because the policy is not compliant.
- Do not use the VirtualMachine.Relocate method to change the storage profile of a virtual machine
The VirtualMachine.Relocate method allows you to specify
a new storage profile for a disk or virtual machine without specifying
either a new host or datastore. Virtual Center does not recognize this
input as valid and does not change the storage profile.
Use the VirtualMachine.Reconfigure function to assign a new storage
profile to the virtual disk and or virtual machine.
- Storage Policy Server does not validate a storage profile correctly
You can use the Storage Policy API to create a profile with invalid constraints.
The Storage Policy Server does not perform a complete validation. As a result,
you may be able to create a virtual machine or virtual disk despite an invalid
constraint, or the create operation may fail. You can use the vSphere Web Client
to create the storage profile. The vSphere Web Client will perform validation
correctly.
- When cloning a virtual machine, use a VirtualMachineRelocateSpec to specify a storage profile
The VirtualMachineCloneSpec object provides two ways to specify
a storage profile.
- The
location property is a VirtualMachineRelocateSpec
object. Use the relocate spec property profile to specify a storage
profile.
- The
config property is a VirtualMachineConfigSpec
object. You can use the config spec property vmProfile to specify
a storage profile, but this works only if the source virtual machine is not
associated with a storage profile.
|