diff options
| author | Rui Chen <chenrui.momo@gmail.com> | 2016-07-21 15:30:01 +0800 |
|---|---|---|
| committer | Rui Chen <chenrui.momo@gmail.com> | 2016-07-21 15:43:01 +0800 |
| commit | cf20225347766240a2ebb155e6e46b85f84a3ddc (patch) | |
| tree | 7cc6946015e5e120cef01c96eede7812517cce05 /openstackclient | |
| parent | 360853b51fdb261ef435398436fd39ebd3169ee0 (diff) | |
| download | python-openstackclient-cf20225347766240a2ebb155e6e46b85f84a3ddc.tar.gz | |
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
Diffstat (limited to 'openstackclient')
| -rw-r--r-- | openstackclient/compute/v2/console.py | 27 | ||||
| -rw-r--r-- | openstackclient/tests/compute/v2/test_console.py | 47 |
2 files changed, 74 insertions, 0 deletions
diff --git a/openstackclient/compute/v2/console.py b/openstackclient/compute/v2/console.py index 74bed441..02be99d5 100644 --- a/openstackclient/compute/v2/console.py +++ b/openstackclient/compute/v2/console.py @@ -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 ({}, {}) diff --git a/openstackclient/tests/compute/v2/test_console.py b/openstackclient/tests/compute/v2/test_console.py index 6be08126..fe4f26ae 100644 --- a/openstackclient/tests/compute/v2/test_console.py +++ b/openstackclient/tests/compute/v2/test_console.py @@ -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) |
