summaryrefslogtreecommitdiff
path: root/openstackclient
diff options
context:
space:
mode:
Diffstat (limited to 'openstackclient')
-rw-r--r--openstackclient/compute/client.py17
-rw-r--r--openstackclient/compute/v2/security_group.py7
-rw-r--r--openstackclient/compute/v2/server.py6
3 files changed, 19 insertions, 11 deletions
diff --git a/openstackclient/compute/client.py b/openstackclient/compute/client.py
index 166747d5..7ca08a4f 100644
--- a/openstackclient/compute/client.py
+++ b/openstackclient/compute/client.py
@@ -15,8 +15,13 @@
import logging
+from novaclient import client as nova_client
from novaclient import extension
-from novaclient.v1_1.contrib import list_extensions
+
+try:
+ from novaclient.v2.contrib import list_extensions
+except ImportError:
+ from novaclient.v1_1.contrib import list_extensions
from openstackclient.common import utils
@@ -25,19 +30,13 @@ LOG = logging.getLogger(__name__)
DEFAULT_COMPUTE_API_VERSION = '2'
API_VERSION_OPTION = 'os_compute_api_version'
API_NAME = 'compute'
-API_VERSIONS = {
- '1.1': 'novaclient.v1_1.client.Client',
- '1': 'novaclient.v1_1.client.Client',
- '2': 'novaclient.v1_1.client.Client',
-}
def make_client(instance):
"""Returns a compute service client."""
- compute_client = utils.get_client_class(
- API_NAME,
+ compute_client = nova_client.get_client_class(
instance._api_version[API_NAME],
- API_VERSIONS)
+ )
LOG.debug('Instantiating compute client: %s', compute_client)
# Set client http_log_debug to True if verbosity level is high enough
diff --git a/openstackclient/compute/v2/security_group.py b/openstackclient/compute/v2/security_group.py
index f7ffb1d1..13a2103f 100644
--- a/openstackclient/compute/v2/security_group.py
+++ b/openstackclient/compute/v2/security_group.py
@@ -24,7 +24,12 @@ from cliff import lister
from cliff import show
from keystoneclient import exceptions as ksc_exc
-from novaclient.v1_1 import security_group_rules
+
+try:
+ from novaclient.v2 import security_group_rules
+except ImportError:
+ from novaclient.v1_1 import security_group_rules
+
from openstackclient.common import parseractions
from openstackclient.common import utils
diff --git a/openstackclient/compute/v2/server.py b/openstackclient/compute/v2/server.py
index f0a59d34..3d28cc15 100644
--- a/openstackclient/compute/v2/server.py
+++ b/openstackclient/compute/v2/server.py
@@ -26,7 +26,11 @@ import sys
from cliff import command
from cliff import lister
from cliff import show
-from novaclient.v1_1 import servers
+
+try:
+ from novaclient.v2 import servers
+except ImportError:
+ from novaclient.v1_1 import servers
from openstackclient.common import exceptions
from openstackclient.common import parseractions