VMware Storage Policy SDK 1.0 Release Notes

Released 22 SEPT 2013

Updated: 12 MAR 2015

 

VMware Storage Policy SDK 1.0 was a new product for vSphere 5.5. It is also supported for vSphere 6.0.

This document contains the following information:

Overview

vSphere 5.5 and 6.0 include 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-num
    SDK
        eam
        sms-sdk
        spbm
        ssoclient
        vsphere-ws

Documentation

For information about the VMware Storage Policy API, see the VMware Storage Policy SDK documentation.

Known Issues

  • 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 will 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 vCloud Suite SDK that happens because the Tag Category Description field is optional in the vSphere Web Services API, but it is mandatory in the vCloud Suite SDK (this is the new SDK for vCenter services). Because the field is mandatory for vCenter services, if the description field is empty, the vCloud Suite 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.

    1. The location property is a VirtualMachineRelocateSpec object. Use the relocate spec property profile to specify a storage profile.
    2. 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.