Merge "Wrap console failure message"

This commit is contained in:
Jenkins
2016-08-18 11:11:38 +00:00
committed by Gerrit Code Review
2 changed files with 22 additions and 6 deletions

View File

@@ -1742,6 +1742,18 @@ class TestPowerVMDriver(test.TestCase):
mock.ANY, 'uuid', mock.ANY, vnc_path='uuid', use_x509_auth=False,
ca_certs=None, server_cert=None, server_key=None)
@mock.patch('pypowervm.tasks.vterm.open_remotable_vnc_vterm')
@mock.patch('nova_powervm.virt.powervm.vm.get_pvm_uuid')
def test_get_vnc_console_failure(self, mock_uuid, mock_vterm):
# Mock response
mock_vterm.side_effect = pvm_exc.VNCBasedTerminalFailedToOpen(
err='test')
mock_uuid.return_value = 'uuid'
# Invoke
self.assertRaises(exc.ConsoleTypeUnavailable, self.drv.get_vnc_console,
mock.ANY, self.inst)
@staticmethod
def _fake_bdms():
def _fake_bdm(volume_id, target_lun):

View File

@@ -1782,12 +1782,16 @@ class PowerVMDriver(driver.ComputeDriver):
ca_certs = CONF.powervm.vnc_ca_certs
server_key = CONF.powervm.vnc_server_key
server_cert = CONF.powervm.vnc_server_cert
# Open up a remote vterm with the host and certificates configured
# This will only use TLS if the use_x509_auth is set to True
port = pvm_vterm.open_remotable_vnc_vterm(
self.adapter, lpar_uuid, host, vnc_path=lpar_uuid,
use_x509_auth=use_x509_auth, ca_certs=ca_certs,
server_cert=server_cert, server_key=server_key)
try:
# Open up a remote vterm with the host and certificates configured
# This will only use TLS if the use_x509_auth is set to True
port = pvm_vterm.open_remotable_vnc_vterm(
self.adapter, lpar_uuid, host, vnc_path=lpar_uuid,
use_x509_auth=use_x509_auth, ca_certs=ca_certs,
server_cert=server_cert, server_key=server_key)
except pvm_exc.VNCBasedTerminalFailedToOpen as err:
raise exception.ConsoleTypeUnavailable(
message=_("Unable to open console. Error is: %s") % err)
# Note that the VNC viewer will wrap the internal_access_path with
# the HTTP content.