summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2013-01-30 07:14:41 +0000
committerGerrit Code Review <review@openstack.org>2013-01-30 07:14:41 +0000
commit8a50c19e0b3eac5cd9e7fa2490b39c154db153d5 (patch)
treef6ae0d4097b6a70e8b902a5c43b2997323376d4f
parenta8cc71e8e394ccfae7a0346b9099ac95976427cd (diff)
parent5e69dd94bf81f55d6d5b917b7ec673482b5565c0 (diff)
downloadoslo-8a50c19e0b3eac5cd9e7fa2490b39c154db153d5.tar.gz
oslo-8a50c19e0b3eac5cd9e7fa2490b39c154db153d5.tar.xz
oslo-8a50c19e0b3eac5cd9e7fa2490b39c154db153d5.zip
Merge "Support running uninstalled in a tarball dir."
-rw-r--r--openstack/common/version.py13
1 files changed, 10 insertions, 3 deletions
diff --git a/openstack/common/version.py b/openstack/common/version.py
index 3653ad0..c27095a 100644
--- a/openstack/common/version.py
+++ b/openstack/common/version.py
@@ -36,9 +36,16 @@ class VersionInfo(object):
def _get_version_from_pkg_resources(self):
"""Get the version of the package from the pkg_resources record
associated with the package."""
- requirement = pkg_resources.Requirement.parse(self.package)
- provider = pkg_resources.get_provider(requirement)
- return provider.version
+ try:
+ requirement = pkg_resources.Requirement.parse(self.package)
+ provider = pkg_resources.get_provider(requirement)
+ return provider.version
+ except pkg_resources.DistributionNotFound:
+ # The most likely cause for this is running tests in a tree with
+ # produced from a tarball where the package itself has not been
+ # installed into anything. Check for a PKG-INFO file.
+ from openstack.common import setup
+ return setup.get_version_from_pkg_info(self.package)
def release_string(self):
"""Return the full version of the package including suffixes indicating