VMware vCloud Suite SDK for Ruby 6.0 Release Notes

Released 12 MAR 2015

 

This document contains the following information:

Overview

This SDK provides programmatic access to new features introduced in vSphere 6.0 and existing features that did not have a public API prior to the vSphere 6.0 release. The vCloud Suite SDK for Ruby also contains samples to demonstrate how to use the new APIs.

The version 6.0 SDK enables programmatic access to the following services:

  • Service discovery using Lookup Service
  • Authentication (Single Sign-On)
  • Session management
  • Tagging
  • Content Library

Note:  Single Sign-On authentication is available through the VMware vCenter Single Sign On API. Service discovery is available through the Lookup Service API.

Distribution Kit

When you extract the contents of the vCloud Suite SDK for Ruby distribution kit, the vCloud Suite client SDK is placed in the VMware-vCloudSuite-SDK-Ruby directory:

    VMware-vCloudSuite-SDK-Ruby/
        client/
        docs/
        ruby-toolkit/
        open_source_license.txt
        README.txt
        SDK-EULA.txt

You can download the vCloud Suite SDK for Ruby distribution kit from the VMware Developer Center.

The provider directory contains a Ruby toolkit which can be used to generate client-side Ruby bindings for third-party providers. Third-party provider development is supported only by the vCloud Suite SDK for Java. However, you can use this toolkit to create compatible bindings for use in a Ruby client.

Important Security Note

Before you begin using Ruby, check the to make sure you have the latest version of OpenSSL. This is a general note to make you aware of this vulnerability.

To verify which version of the OpenSSL library you link to Ruby, use the following:

ruby -v -ropenssl -rfiddle -e 'puts Fiddle::Function.new(Fiddle.dlopen(nil)["SSLeay_version"], [Fiddle::TYPE_INT], Fiddle::TYPE_VOIDP).call(0)'

To verify the version of OpenSSL currently installed with Ruby, use the following:

ruby -ropenssl -e 'puts OpenSSL::OPENSSL_VERSION'

For more information, see Ruby SSL Vulnerability.

Known Issues

The following issues were discovered during testing.

  • Internal Server Error if Tagging Description Field is Empty

    The Tag Category Description field is optional in the vSphere Web Services API, but it is mandatory in the vCloud Suite SDK. Therefore, if the description field is empty, the vCloud Suite SDK can 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).

  • Unauthenticated exception following long-running operation

    After an API client completes a long-running operation, such as an upload to the content library, the next operation might fail with an "Unauthenticated exception" message. This happens if the long running operation did not complete within the lifetime of the authentication session.

    Workarounds:

  • Keep the session alive by issuing short operations on another thread until the long running operation completes.
  • Increase the session length using the VMware vSphere Web Client. Select Administration > System Configuration > Services > vAPI Endpoint > Manage > General, and increase the value for the Maximum session idle time.
  • Validation of server certificates.

    The samples in the vCloud Suite SDK for Ruby do not perform server certificate validation, as written. This is suitable for development environments, but is not recommended for production environments.

    The Ruby samples use the Net::HTTP library and other HTTP client libraries that can be configured to do certificate validation.

    • For the Lookup Service and the vCenter Single Sign-On Service, the samples use the Savon gem and its HTTP client connection. For information about configuring SSL for the Savon gem, see the explanation of SSL configuration properties at http://savonrb.com/version2/globals.html. To configure the Lookup Service connection, modify the sample file client/samples/lib/sample/framework/lookup_service_helper.rb. To configure the vCenter Single Sign-On Service connection, modify the sample file client/samples/lib/sso.rb.
    • For other connections, the Ruby runtime uses the Net::HTTP library. To enable certificate validation for these connections, modify the file ruby-toolkit/runtime/lib/vapi/protocol/client/rpc/http_provider.rb to set the http.verify_mode and the properties for the key and certificate as well.