Support to get server rdp/serial/mks type console url
The patch add the support to get server rdp/serial/mks type console url, that make osc capability equal with current nova server side feature. Change-Id: I3dee2531c68563725187c8251d5ea8d4c02cca0c Closes-Bug: #1605088
This commit is contained in:
parent
360853b51f
commit
cf20225347
@ -30,6 +30,18 @@ Show server's remote console URL
|
|||||||
|
|
||||||
Show SPICE console URL
|
Show SPICE console URL
|
||||||
|
|
||||||
|
.. option:: --rdp
|
||||||
|
|
||||||
|
Show RDP console URL
|
||||||
|
|
||||||
|
.. option:: --serial
|
||||||
|
|
||||||
|
Show serial console URL
|
||||||
|
|
||||||
|
.. option:: --mks
|
||||||
|
|
||||||
|
Show WebMKS console URL
|
||||||
|
|
||||||
.. describe:: <server>
|
.. describe:: <server>
|
||||||
|
|
||||||
Server to show URL (name or ID)
|
Server to show URL (name or ID)
|
||||||
|
@ -96,6 +96,27 @@ class ShowConsoleURL(command.ShowOne):
|
|||||||
const='spice-html5',
|
const='spice-html5',
|
||||||
help=_("Show SPICE console URL")
|
help=_("Show SPICE console URL")
|
||||||
)
|
)
|
||||||
|
type_group.add_argument(
|
||||||
|
'--rdp',
|
||||||
|
dest='url_type',
|
||||||
|
action='store_const',
|
||||||
|
const='rdp-html5',
|
||||||
|
help=_("Show RDP console URL"),
|
||||||
|
)
|
||||||
|
type_group.add_argument(
|
||||||
|
'--serial',
|
||||||
|
dest='url_type',
|
||||||
|
action='store_const',
|
||||||
|
const='serial',
|
||||||
|
help=_("Show serial console URL"),
|
||||||
|
)
|
||||||
|
type_group.add_argument(
|
||||||
|
'--mks',
|
||||||
|
dest='url_type',
|
||||||
|
action='store_const',
|
||||||
|
const='webmks',
|
||||||
|
help=_("Show WebMKS console URL"),
|
||||||
|
)
|
||||||
return parser
|
return parser
|
||||||
|
|
||||||
def take_action(self, parsed_args):
|
def take_action(self, parsed_args):
|
||||||
@ -110,6 +131,12 @@ class ShowConsoleURL(command.ShowOne):
|
|||||||
data = server.get_vnc_console(parsed_args.url_type)
|
data = server.get_vnc_console(parsed_args.url_type)
|
||||||
if parsed_args.url_type in ['spice-html5']:
|
if parsed_args.url_type in ['spice-html5']:
|
||||||
data = server.get_spice_console(parsed_args.url_type)
|
data = server.get_spice_console(parsed_args.url_type)
|
||||||
|
if parsed_args.url_type in ['rdp-html5']:
|
||||||
|
data = server.get_rdp_console(parsed_args.url_type)
|
||||||
|
if parsed_args.url_type in ['serial']:
|
||||||
|
data = server.get_serial_console(parsed_args.url_type)
|
||||||
|
if parsed_args.url_type in ['webmks']:
|
||||||
|
data = server.get_mks_console()
|
||||||
|
|
||||||
if not data:
|
if not data:
|
||||||
return ({}, {})
|
return ({}, {})
|
||||||
|
@ -147,3 +147,50 @@ class TestConsoleUrlShow(TestConsole):
|
|||||||
old_fake_server.get_vnc_console.assert_called_once_with('novnc')
|
old_fake_server.get_vnc_console.assert_called_once_with('novnc')
|
||||||
self.assertEqual(old_columns, columns)
|
self.assertEqual(old_columns, columns)
|
||||||
self.assertEqual(old_data, data)
|
self.assertEqual(old_data, data)
|
||||||
|
|
||||||
|
def test_console_url_show_with_rdp(self):
|
||||||
|
arglist = [
|
||||||
|
'--rdp',
|
||||||
|
'foo_vm',
|
||||||
|
]
|
||||||
|
verifylist = [
|
||||||
|
('url_type', 'rdp-html5'),
|
||||||
|
('server', 'foo_vm'),
|
||||||
|
]
|
||||||
|
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
||||||
|
columns, data = self.cmd.take_action(parsed_args)
|
||||||
|
self.fake_server.get_rdp_console.assert_called_once_with(
|
||||||
|
'rdp-html5')
|
||||||
|
self.assertEqual(self.columns, columns)
|
||||||
|
self.assertEqual(self.data, data)
|
||||||
|
|
||||||
|
def test_console_url_show_with_serial(self):
|
||||||
|
arglist = [
|
||||||
|
'--serial',
|
||||||
|
'foo_vm',
|
||||||
|
]
|
||||||
|
verifylist = [
|
||||||
|
('url_type', 'serial'),
|
||||||
|
('server', 'foo_vm'),
|
||||||
|
]
|
||||||
|
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
||||||
|
columns, data = self.cmd.take_action(parsed_args)
|
||||||
|
self.fake_server.get_serial_console.assert_called_once_with(
|
||||||
|
'serial')
|
||||||
|
self.assertEqual(self.columns, columns)
|
||||||
|
self.assertEqual(self.data, data)
|
||||||
|
|
||||||
|
def test_console_url_show_with_mks(self):
|
||||||
|
arglist = [
|
||||||
|
'--mks',
|
||||||
|
'foo_vm',
|
||||||
|
]
|
||||||
|
verifylist = [
|
||||||
|
('url_type', 'webmks'),
|
||||||
|
('server', 'foo_vm'),
|
||||||
|
]
|
||||||
|
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
||||||
|
columns, data = self.cmd.take_action(parsed_args)
|
||||||
|
self.fake_server.get_mks_console.assert_called_once_with()
|
||||||
|
self.assertEqual(self.columns, columns)
|
||||||
|
self.assertEqual(self.data, data)
|
||||||
|
4
releasenotes/notes/bug-1605088-fea9347336764469.yaml
Normal file
4
releasenotes/notes/bug-1605088-fea9347336764469.yaml
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
---
|
||||||
|
features:
|
||||||
|
- Support to get server ``rdp``, ``serial``, ``mks`` type console url.
|
||||||
|
[Bug `1605088 <https://bugs.launchpad.net/python-openstackclient/+bug/1605088>`_]
|
Loading…
Reference in New Issue
Block a user