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
|
||||
|
||||
.. option:: --rdp
|
||||
|
||||
Show RDP console URL
|
||||
|
||||
.. option:: --serial
|
||||
|
||||
Show serial console URL
|
||||
|
||||
.. option:: --mks
|
||||
|
||||
Show WebMKS console URL
|
||||
|
||||
.. describe:: <server>
|
||||
|
||||
Server to show URL (name or ID)
|
||||
|
@ -96,6 +96,27 @@ class ShowConsoleURL(command.ShowOne):
|
||||
const='spice-html5',
|
||||
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
|
||||
|
||||
def take_action(self, parsed_args):
|
||||
@ -110,6 +131,12 @@ class ShowConsoleURL(command.ShowOne):
|
||||
data = server.get_vnc_console(parsed_args.url_type)
|
||||
if parsed_args.url_type in ['spice-html5']:
|
||||
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:
|
||||
return ({}, {})
|
||||
|
@ -147,3 +147,50 @@ class TestConsoleUrlShow(TestConsole):
|
||||
old_fake_server.get_vnc_console.assert_called_once_with('novnc')
|
||||
self.assertEqual(old_columns, columns)
|
||||
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