From 15edb2f61a4d193c069dce903b29c391f04ba0b8 Mon Sep 17 00:00:00 2001
From: timothy-symanczyk <timothy_symanczyk@symantec.com>
Date: Fri, 18 Mar 2016 15:44:02 -0700
Subject: [PATCH] Improve error for token issue command without auth

Currently when you perform the 'token issue' command with
the admin_token, the error is a nonsense python error. This
commit changes it to be user-friendly.

Change-Id: I5cc92c342e3f83e099354cd04301c7b8d8d2dabc
Closes-Bug: #1547721
---
 openstackclient/identity/v3/token.py | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/openstackclient/identity/v3/token.py b/openstackclient/identity/v3/token.py
index bf039d2fe6..62a4c4a363 100644
--- a/openstackclient/identity/v3/token.py
+++ b/openstackclient/identity/v3/token.py
@@ -18,6 +18,7 @@
 import six
 
 from openstackclient.common import command
+from openstackclient.common import exceptions
 from openstackclient.common import utils
 from openstackclient.identity import common
 
@@ -172,6 +173,9 @@ class IssueToken(command.ShowOne):
         return parser
 
     def take_action(self, parsed_args):
+        if not self.app.client_manager.auth_ref:
+            raise exceptions.AuthorizationFailure(
+                "Only an authorized user may issue a new token.")
         token = self.app.client_manager.auth_ref.service_catalog.get_token()
         if 'tenant_id' in token:
             token['project_id'] = token.pop('tenant_id')