Comment 9 for bug 1302514

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to cinder (stable/icehouse)

Reviewed: https://review.openstack.org/95651
Committed: https://git.openstack.org/cgit/openstack/cinder/commit/?id=3877a730c6631f311baa3992be6f37a986aa54f8
Submitter: Jenkins
Branch: stable/icehouse

commit 3877a730c6631f311baa3992be6f37a986aa54f8
Author: Vipin Balachandran <email address hidden>
Date: Wed Apr 16 14:06:31 2014 +0530

    vmware: Fix problems with VIM API retry logic

    Currently the VIM APIs including session creation API are retried for
    cases which are unrelated to connection or session overload problems.
    This change fix the retry logic as follows:
    * Add an exception to indicate connection problem and raise it
      appropriately from the VIM API client
    * Modify the expected exceptions in the retry decorator to include
      only connection and session overload related exceptions

    This change also fixes the base class of VimFaultException
    (VolumeBackendAPIException -> VimException). This change is required
    so that we can handle the exceptions thrown by the VIM API client in
    a consistent manner. Currently if we need to handle VIM API related
    exceptions, we have to catch both VimException and VimFaultException.
    For example, the API for checking active session raises
    VimFaultException in some cases and we are handling only VimException.
    Due to this, when session expires, the session re-establishment and API
    retry fails (intermittently) since the check for active session throws
    VimFaultException in some cases which is not handled.

    Change-Id: I72cfc7777c3ce693b8598633f822c12c2cee2235
    Closes-Bug: #1294598
    Closes-Bug: #1302514
    (cherry picked from commit bc115eaa477d30826ac17986a6e45844b456e206)