Updated from global requirements

Change-Id: Iac0539078c9e665cc17a4f316df8f945e2e55110
Add a memory based shared cache

Simple dictionary based shared cache to speed up not just
a single set of nested wsdl/xsd(s) but also to share the
same cache, so when the same initial wsdl is loaded again
we still use the cached data from the previous wsdl load.
We essentially take the hit on the first wsdl load and
subsequent loads will be much faster. The cached items
expire in an hour to both clean up memory as well as
switch to newer wsdl/xsd(s) when the vCenter is upgraded
without needed a forced restart of nova compute process.

Change-Id: Ia2265f1f8ed5fe8b05770a5572f1516893b532a0
Add unit test for suds cache expiration

This patch adds a unit test for suds cache expiration case.

Change-Id: Iad261107c904bb9a613decfeaf56061727b3f674
Merge "Updated from global requirements"
Updated from global requirements

Change-Id: I1ae5d64f89c0207a4e83cd18d7b281620520af57
getText can be called only when doc is not None

Add a check to make sure getText is executed only when doc is
not None.
Without this check, we can potentially get:
AttributeError: 'NoneType' object has no attribute 'getText'

Change-Id: I8e2abd3abf015733642419cb8a3b86aec09c929f
Use custom transport adapter for file URLs

The requests library doesn't support local file URLs. The PBM WSDL is
stored locally and this affects all PBM API invocations. This patch
fixes the problem by registering a custom transport adapter for local
files.

Closes-Bug: #1371575
Change-Id: Ie0635607847061c68c879e87db8f2541436f03d6
VimExceptions need to support i18n objects

When lazy is enabled the i18n translation object does not support
str() which causes failures like:
  UnicodeError: Message objects do not support str() because they may
  contain non-ascii characters. Please use unicode() or translate()
  instead.

Removed str() in __init__ and updated __str__ and __unicode__
in VimException and VimFaultsException to correctly handle this object.
Also updated a couple of test cases to use an i18n translation object.

Closes-Bug: #1374210
Change-Id: Id55b5deb5535ba5352b449a3b78099aa912a0b54
Merge "VimExceptions need to support i18n objects"
Merge "getText can be called only when doc is not None"
Merge "Use custom transport adapter for file URLs"