summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2013-04-29 21:46:00 +0000
committerGerrit Code Review <review@openstack.org>2013-04-29 21:46:00 +0000
commit83f71e2181d197ab5a63be8012581bca6a84adb4 (patch)
tree7748003681670c7e94aaaec3e6c2fdf124d05bdf
parenta56c2305c7c4758c8fa528c1b14a7a0e06be2c58 (diff)
parent2e16432ae0337101c80d8ba6fbdf2e8a9c8d85e7 (diff)
Merge "Fix VMware Hyper console url parameter error."
-rw-r--r--nova/tests/test_vmwareapi.py29
-rw-r--r--nova/virt/vmwareapi/vmops.py2
2 files changed, 29 insertions, 2 deletions
diff --git a/nova/tests/test_vmwareapi.py b/nova/tests/test_vmwareapi.py
index a5f08041b..60f7db72c 100644
--- a/nova/tests/test_vmwareapi.py
+++ b/nova/tests/test_vmwareapi.py
@@ -19,6 +19,8 @@
"""
Test suite for VMwareAPI.
"""
+import mox
+import urllib2
from nova.compute import power_state
from nova.compute import task_states
@@ -33,6 +35,21 @@ from nova.tests.vmwareapi import db_fakes
from nova.tests.vmwareapi import stubs
from nova.virt.vmwareapi import driver
from nova.virt.vmwareapi import fake as vmwareapi_fake
+from nova.virt.vmwareapi import vm_util
+
+
+class fake_vm_ref(object):
+ def __init__(self):
+ self.value = 4
+ self._type = 'VirtualMachine'
+
+
+class fake_http_resp(object):
+ def __init__(self):
+ self.code = 200
+
+ def read(self):
+ return "console log"
class VMwareAPIVMTestCase(test.TestCase):
@@ -308,7 +325,17 @@ class VMwareAPIVMTestCase(test.TestCase):
pass
def test_get_console_output(self):
- pass
+ vm_ref = fake_vm_ref()
+ result = fake_http_resp()
+ self._create_instance_in_the_db()
+ self.mox.StubOutWithMock(vm_util, 'get_vm_ref_from_name')
+ self.mox.StubOutWithMock(urllib2, 'urlopen')
+ vm_util.get_vm_ref_from_name(mox.IgnoreArg(), self.instance['name']).\
+ AndReturn(vm_ref)
+ urllib2.urlopen(mox.IgnoreArg()).AndReturn(result)
+
+ self.mox.ReplayAll()
+ self.conn.get_console_output(self.instance)
class VMwareAPIHostTestCase(test.TestCase):
diff --git a/nova/virt/vmwareapi/vmops.py b/nova/virt/vmwareapi/vmops.py
index 800a2e073..cda2ce8e3 100644
--- a/nova/virt/vmwareapi/vmops.py
+++ b/nova/virt/vmwareapi/vmops.py
@@ -1086,7 +1086,7 @@ class VMwareVMOps(object):
vm_ref = vm_util.get_vm_ref_from_name(self._session, instance['name'])
if vm_ref is None:
raise exception.InstanceNotFound(instance_id=instance['uuid'])
- param_list = {"id": str(vm_ref)}
+ param_list = {"id": str(vm_ref.value)}
base_url = "%s://%s/screen?%s" % (self._session._scheme,
self._session._host_ip,
urllib.urlencode(param_list))