summaryrefslogtreecommitdiff
path: root/novaclient/client.py
diff options
context:
space:
mode:
authorAndrey Kurilin <akurilin@mirantis.com>2016-11-24 19:59:13 +0200
committerAndrey Kurilin <akurilin@mirantis.com>2016-11-30 18:00:05 +0000
commitf834711d2f4a6052a054ffc79918f615e400bdbe (patch)
tree633a1d48267edd975c11ab1ce94694e76012701a /novaclient/client.py
parent43bbe88ac84a5486db7c4140e155f8f52af3118d (diff)
downloadpython-novaclient-f834711d2f4a6052a054ffc79918f615e400bdbe.tar.gz
Move all extensions from contrib dir
All extensions from novaclient.v2.contrib should be not be extensions in case of api version >=2.0;<=3.0 (historically, they are turned on by default for cli layer), so let's move it from contrib dir and turn on by default. Change-Id: I4ef4e44cf970947dad33110ce658a133e4f2893e
Diffstat (limited to 'novaclient/client.py')
-rw-r--r--novaclient/client.py21
1 files changed, 7 insertions, 14 deletions
diff --git a/novaclient/client.py b/novaclient/client.py
index f9fecaa4..79f36342 100644
--- a/novaclient/client.py
+++ b/novaclient/client.py
@@ -22,12 +22,9 @@ OpenStack Client interface. Handles the REST calls and responses.
import copy
import functools
-import glob
import hashlib
-import imp
import itertools
import logging
-import os
import pkgutil
import re
import warnings
@@ -772,18 +769,14 @@ def _discover_via_python_path():
def _discover_via_contrib_path(version):
- module_path = os.path.dirname(os.path.abspath(__file__))
- ext_path = os.path.join(module_path, "v%s" % version.ver_major, 'contrib')
- ext_glob = os.path.join(ext_path, "*.py")
+ if version.ver_major == 2:
+ modules = {"baremetal": "novaclient.v2.contrib.baremetal",
+ "tenant_networks": "novaclient.v2.contrib.tenant_networks"}
- for ext_path in glob.iglob(ext_glob):
- name = os.path.basename(ext_path)[:-3]
-
- if name in extensions_ignored_name:
- continue
-
- module = imp.load_source(name, ext_path)
- yield name, module
+ for name, module_name in modules.items():
+ module_loader = pkgutil.get_loader(module_name)
+ module = module_loader.load_module(module_name)
+ yield name, module
def _discover_via_entry_points():