Fix broken nova console support

A patch of MKS console support replaces 'console' key into
'remote_console', but 'remote_console' key is only available
in Nova API version 2.6 or later. Horizon uses Nova API version
2.1 by default, so this change breaks the existing server console
support completely. This patch fixes it.

Change-Id: I656037511e0d80688df4b82fa8c77fe5c09402bd
Closes-Bug: #1735436
This commit is contained in:
Akihiro Motoki 2017-12-01 00:02:25 +09:00
parent d46246d476
commit 9854147407
3 changed files with 10 additions and 10 deletions

View File

@ -288,25 +288,25 @@ def upgrade_api(request, client, version):
@profiler.trace
def server_vnc_console(request, instance_id, console_type='novnc'):
return VNCConsole(novaclient(request).servers.get_vnc_console(
instance_id, console_type)['remote_console'])
instance_id, console_type)['console'])
@profiler.trace
def server_spice_console(request, instance_id, console_type='spice-html5'):
return SPICEConsole(novaclient(request).servers.get_spice_console(
instance_id, console_type)['remote_console'])
instance_id, console_type)['console'])
@profiler.trace
def server_rdp_console(request, instance_id, console_type='rdp-html5'):
return RDPConsole(novaclient(request).servers.get_rdp_console(
instance_id, console_type)['remote_console'])
instance_id, console_type)['console'])
@profiler.trace
def server_serial_console(request, instance_id, console_type='serial'):
return SerialConsole(novaclient(request).servers.get_serial_console(
instance_id, console_type)['remote_console'])
instance_id, console_type)['console'])
@profiler.trace

View File

@ -91,7 +91,7 @@ class ComputeApiTests(test.APITestCase):
def test_server_vnc_console(self):
server = self.servers.first()
console = self.servers.vnc_console_data
console_type = console["remote_console"]["type"]
console_type = console["console"]["type"]
novaclient = self.stub_novaclient()
novaclient.servers = self.mox.CreateMockAnything()
@ -107,7 +107,7 @@ class ComputeApiTests(test.APITestCase):
def test_server_spice_console(self):
server = self.servers.first()
console = self.servers.spice_console_data
console_type = console["remote_console"]["type"]
console_type = console["console"]["type"]
novaclient = self.stub_novaclient()
novaclient.servers = self.mox.CreateMockAnything()
@ -123,7 +123,7 @@ class ComputeApiTests(test.APITestCase):
def test_server_rdp_console(self):
server = self.servers.first()
console = self.servers.rdp_console_data
console_type = console["remote_console"]["type"]
console_type = console["console"]["type"]
novaclient = self.stub_novaclient()
novaclient.servers = self.mox.CreateMockAnything()

View File

@ -393,7 +393,7 @@ def data(TEST):
# VNC Console Data
console = {
u'remote_console': {
u'console': {
u'url': u'http://example.com:6080/vnc_auto.html',
u'type': u'novnc'
}
@ -401,7 +401,7 @@ def data(TEST):
TEST.servers.vnc_console_data = console
# SPICE Console Data
console = {
u'remote_console': {
u'console': {
u'url': u'http://example.com:6080/spice_auto.html',
u'type': u'spice'
}
@ -409,7 +409,7 @@ def data(TEST):
TEST.servers.spice_console_data = console
# RDP Console Data
console = {
u'remote_console': {
u'console': {
u'url': u'http://example.com:6080/rdp_auto.html',
u'type': u'rdp'
}