summaryrefslogtreecommitdiff
path: root/openstackclient/compute
diff options
context:
space:
mode:
authorZuul <zuul@review.opendev.org>2020-11-02 17:00:51 +0000
committerGerrit Code Review <review@openstack.org>2020-11-02 17:00:51 +0000
commit2ffd06b3d51cc2107c530120168b18c271a345e6 (patch)
treeb30dfe93cd944fef4fdca6488efc700c79195b50 /openstackclient/compute
parent7fdbc6b8af681fc48bd3a78822ffab52c29329ac (diff)
parente05d39abb56b2bf048533b84f44406d415210ffd (diff)
downloadpython-openstackclient-2ffd06b3d51cc2107c530120168b18c271a345e6.tar.gz
Merge "Switch console url show operations to SDK"
Diffstat (limited to 'openstackclient/compute')
-rw-r--r--openstackclient/compute/v2/console.py35
1 files changed, 19 insertions, 16 deletions
diff --git a/openstackclient/compute/v2/console.py b/openstackclient/compute/v2/console.py
index f0abaf4c..0ab5c8a2 100644
--- a/openstackclient/compute/v2/console.py
+++ b/openstackclient/compute/v2/console.py
@@ -22,6 +22,15 @@ from osc_lib import utils
from openstackclient.i18n import _
+def _get_console_columns(item):
+ # To maintain backwards compatibility we need to rename sdk props to
+ # whatever OSC was using before
+ column_map = {}
+ hidden_columns = ['id', 'links', 'location', 'name']
+ return utils.get_osc_show_columns_for_sdk_resource(
+ item, column_map, hidden_columns)
+
+
class ShowConsoleLog(command.Command):
_description = _("Show server's console output")
@@ -119,21 +128,15 @@ class ShowConsoleURL(command.ShowOne):
return parser
def take_action(self, parsed_args):
- compute_client = self.app.client_manager.compute
- server = utils.find_resource(
- compute_client.servers,
+ compute_client = self.app.client_manager.sdk_connection.compute
+ server = compute_client.find_server(
parsed_args.server,
- )
+ ignore_missing=False)
+
+ data = compute_client.create_console(server.id,
+ console_type=parsed_args.url_type)
+
+ display_columns, columns = _get_console_columns(data)
+ data = utils.get_dict_properties(data, columns)
- data = server.get_console_url(parsed_args.url_type)
- if not data:
- return ({}, {})
-
- info = {}
- # NOTE(Rui Chen): Return 'remote_console' in compute microversion API
- # 2.6 and later, return 'console' in compute
- # microversion API from 2.0 to 2.5, do compatibility
- # handle for different microversion API.
- console_data = data.get('remote_console', data.get('console'))
- info.update(console_data)
- return zip(*sorted(info.items()))
+ return (display_columns, data)