From a0fe37e189948b74ee8c2f8ec529ca175efc8449 Mon Sep 17 00:00:00 2001
From: TerryHowe <terrylhowe@gmail.com>
Date: Mon, 13 Apr 2015 16:21:50 -0600
Subject: [PATCH] Add warning message if unknown version supplied

Print a warning message if an unknown api version is supplied.
An attempt will be made to run the command anyway.

Change-Id: Idec8e88fe9621f10ec4b7eecd90708fb3730f56f
---
 openstackclient/compute/client.py | 3 +++
 openstackclient/shell.py          | 5 +++++
 2 files changed, 8 insertions(+)

diff --git a/openstackclient/compute/client.py b/openstackclient/compute/client.py
index 7ca08a4f23..bdba4dca3e 100644
--- a/openstackclient/compute/client.py
+++ b/openstackclient/compute/client.py
@@ -30,6 +30,9 @@ LOG = logging.getLogger(__name__)
 DEFAULT_COMPUTE_API_VERSION = '2'
 API_VERSION_OPTION = 'os_compute_api_version'
 API_NAME = 'compute'
+API_VERSIONS = {
+    "2": "novaclient.client",
+}
 
 
 def make_client(instance):
diff --git a/openstackclient/shell.py b/openstackclient/shell.py
index 3cfd731219..ebc80c2a30 100644
--- a/openstackclient/shell.py
+++ b/openstackclient/shell.py
@@ -247,6 +247,11 @@ class OpenStackShell(app.App):
             if version_opt:
                 api = mod.API_NAME
                 self.api_version[api] = version_opt
+                if version_opt not in mod.API_VERSIONS:
+                    self.log.warning(
+                        "The %s version <%s> is not in supported versions <%s>"
+                        % (api, version_opt,
+                           ', '.join(mod.API_VERSIONS.keys())))
                 # Command groups deal only with major versions
                 version = '.v' + version_opt.replace('.', '_').split('_')[0]
                 cmd_group = 'openstack.' + api.replace('-', '_') + version