diff options
| author | Zuul <zuul@review.opendev.org> | 2020-11-02 17:00:51 +0000 |
|---|---|---|
| committer | Gerrit Code Review <review@openstack.org> | 2020-11-02 17:00:51 +0000 |
| commit | 2ffd06b3d51cc2107c530120168b18c271a345e6 (patch) | |
| tree | b30dfe93cd944fef4fdca6488efc700c79195b50 /openstackclient/compute | |
| parent | 7fdbc6b8af681fc48bd3a78822ffab52c29329ac (diff) | |
| parent | e05d39abb56b2bf048533b84f44406d415210ffd (diff) | |
| download | python-openstackclient-2ffd06b3d51cc2107c530120168b18c271a345e6.tar.gz | |
Merge "Switch console url show operations to SDK"
Diffstat (limited to 'openstackclient/compute')
| -rw-r--r-- | openstackclient/compute/v2/console.py | 35 |
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) |
