Skip to content

Commit b59ade7

Browse files
Jenkinsopenstack-gerrit
authored andcommitted
Merge "Support to get server rdp/serial/mks type console url"
2 parents 831301e + cf20225 commit b59ade7

4 files changed

Lines changed: 90 additions & 0 deletions

File tree

doc/source/command-objects/console-url.rst

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,18 @@ Show server's remote console URL
3030

3131
Show SPICE console URL
3232

33+
.. option:: --rdp
34+
35+
Show RDP console URL
36+
37+
.. option:: --serial
38+
39+
Show serial console URL
40+
41+
.. option:: --mks
42+
43+
Show WebMKS console URL
44+
3345
.. describe:: <server>
3446

3547
Server to show URL (name or ID)

openstackclient/compute/v2/console.py

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,27 @@ def get_parser(self, prog_name):
9696
const='spice-html5',
9797
help=_("Show SPICE console URL")
9898
)
99+
type_group.add_argument(
100+
'--rdp',
101+
dest='url_type',
102+
action='store_const',
103+
const='rdp-html5',
104+
help=_("Show RDP console URL"),
105+
)
106+
type_group.add_argument(
107+
'--serial',
108+
dest='url_type',
109+
action='store_const',
110+
const='serial',
111+
help=_("Show serial console URL"),
112+
)
113+
type_group.add_argument(
114+
'--mks',
115+
dest='url_type',
116+
action='store_const',
117+
const='webmks',
118+
help=_("Show WebMKS console URL"),
119+
)
99120
return parser
100121

101122
def take_action(self, parsed_args):
@@ -110,6 +131,12 @@ def take_action(self, parsed_args):
110131
data = server.get_vnc_console(parsed_args.url_type)
111132
if parsed_args.url_type in ['spice-html5']:
112133
data = server.get_spice_console(parsed_args.url_type)
134+
if parsed_args.url_type in ['rdp-html5']:
135+
data = server.get_rdp_console(parsed_args.url_type)
136+
if parsed_args.url_type in ['serial']:
137+
data = server.get_serial_console(parsed_args.url_type)
138+
if parsed_args.url_type in ['webmks']:
139+
data = server.get_mks_console()
113140

114141
if not data:
115142
return ({}, {})

openstackclient/tests/compute/v2/test_console.py

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -147,3 +147,50 @@ def test_console_url_show_compatible(self):
147147
old_fake_server.get_vnc_console.assert_called_once_with('novnc')
148148
self.assertEqual(old_columns, columns)
149149
self.assertEqual(old_data, data)
150+
151+
def test_console_url_show_with_rdp(self):
152+
arglist = [
153+
'--rdp',
154+
'foo_vm',
155+
]
156+
verifylist = [
157+
('url_type', 'rdp-html5'),
158+
('server', 'foo_vm'),
159+
]
160+
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
161+
columns, data = self.cmd.take_action(parsed_args)
162+
self.fake_server.get_rdp_console.assert_called_once_with(
163+
'rdp-html5')
164+
self.assertEqual(self.columns, columns)
165+
self.assertEqual(self.data, data)
166+
167+
def test_console_url_show_with_serial(self):
168+
arglist = [
169+
'--serial',
170+
'foo_vm',
171+
]
172+
verifylist = [
173+
('url_type', 'serial'),
174+
('server', 'foo_vm'),
175+
]
176+
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
177+
columns, data = self.cmd.take_action(parsed_args)
178+
self.fake_server.get_serial_console.assert_called_once_with(
179+
'serial')
180+
self.assertEqual(self.columns, columns)
181+
self.assertEqual(self.data, data)
182+
183+
def test_console_url_show_with_mks(self):
184+
arglist = [
185+
'--mks',
186+
'foo_vm',
187+
]
188+
verifylist = [
189+
('url_type', 'webmks'),
190+
('server', 'foo_vm'),
191+
]
192+
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
193+
columns, data = self.cmd.take_action(parsed_args)
194+
self.fake_server.get_mks_console.assert_called_once_with()
195+
self.assertEqual(self.columns, columns)
196+
self.assertEqual(self.data, data)
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
---
2+
features:
3+
- Support to get server ``rdp``, ``serial``, ``mks`` type console url.
4+
[Bug `1605088 <https://bugs.launchpad.net/python-openstackclient/+bug/1605088>`_]

0 commit comments

Comments
 (0)