[Openstack] VM provisioning error on Hyper-V

Peter Pouliot ppouliot at microsoft.com
Wed Oct 24 05:25:10 UTC 2012


Helen,

Make sure that VHD you are using is VHD and not VHDx.

This is something that you will have to select during the creation of your vm to be used in glance.

I believe the default for 2012 is vhdx.


Peter J. Pouliot, CISSP
Senior SDET, OpenStack

Microsoft
New England Research & Development Center
One Memorial Drive,Cambridge, MA 02142
PPOULIOT at microsoft.com<mailto:PPOULIOT at microsoft.com> | Tel: +1(857) 453 6436

From: openstack-bounces+ppouliot=microsoft.com at lists.launchpad.net [mailto:openstack-bounces+ppouliot=microsoft.com at lists.launchpad.net] On Behalf Of Helen
Sent: Tuesday, October 23, 2012 11:46 PM
To: openstack at lists.launchpad.net
Subject: [Openstack] VM provisioning error on Hyper-V

 I have issues trying to deploy instance in OpenStack using Hyper-V driver.
Here is my environment information:
Openstack controller node: installed on Compute Host A, using OpenStack Folsom RC1 code.
Openstack compute node: Windows server 2012 with Hyper-V Role enabled installed on Compute Host B, with Nova-Compute Service installed using the installer here http://www.cloudbase.it/openstack/openstack-compute-installer/ for Folsom release.

When I tried to launch an instance to the compute node, it failed in spawning, here is the error log found in nova-compute.log(detailed log information is attached):
2012-10-19 18:57:06 DEBUG nova.virt.hyperv.vmops [req-2da7f0d5-7ba5-47cc-85ea-02a00ed6aa66 990dae0e5620447ea684809063ee27a4 d3e88c95b9d54ba4b8ec6c3c358559bc] Creating difference disk: JobID=\\WIN
-KSKERE5KU31\root\virtualization:Msvm_StorageJob.InstanceID="A34DF87A-EF9D-4007-B04F-C932D4E76399", Source=c:\Hyper-V\instances\_base\64d0ffeb-cc13-4c03-9c3b-56cbc132e482.vhd, Target=c:\Hyper-
V\instances\instance-00000001\instance-00000001.vhd from (pid=7840) _cache_image C:\openstack-nova\nova\virt\hyperv\vmops.py:616
2012-10-19 18:57:09 ERROR nova.virt.hyperv.vmops [req-2da7f0d5-7ba5-47cc-85ea-02a00ed6aa66 990dae0e5620447ea684809063ee27a4 d3e88c95b9d54ba4b8ec6c3c358559bc] cache image failed: This object does
not support enumeration
2012-10-19 18:57:09 TRACE nova.virt.hyperv.vmops Traceback (most recent call last):
2012-10-19 18:57:09 TRACE nova.virt.hyperv.vmops File "C:\openstack-nova\nova\virt\hyperv\vmops.py", line 133, in spawn
2012-10-19 18:57:09 TRACE nova.virt.hyperv.vmops cow=FLAGS.use_cow_images)
2012-10-19 18:57:09 TRACE nova.virt.hyperv.vmops File "C:\openstack-nova\nova\virt\hyperv\vmops.py", line 618, in _cache_image
2012-10-19 18:57:09 TRACE nova.virt.hyperv.vmops success = self._vmutils.check_job_status(job)
2012-10-19 18:57:09 TRACE nova.virt.hyperv.vmops File "C:\openstack-nova\nova\virt\hyperv\vmutils.py", line 69, in check_job_status
2012-10-19 18:57:09 TRACE nova.virt.hyperv.vmops "%(ErrorDescription)s - %(ErrorCode)s") % job)
2012-10-19 18:57:09 TRACE nova.virt.hyperv.vmops File "C:\Python27\lib\site-packages\win32com\client\dynamic.py", line 246, in __getitem__
2012-10-19 18:57:09 TRACE nova.virt.hyperv.vmops raise TypeError("This object does not support enumeration")
2012-10-19 18:57:09 TRACE nova.virt.hyperv.vmops TypeError: This object does not support enumeration
2012-10-19 18:57:09 TRACE nova.virt.hyperv.vmops
2012-10-19 18:57:09 DEBUG nova.virt.hyperv.vmops [req-2da7f0d5-7ba5-47cc-85ea-02a00ed6aa66 990dae0e5620447ea684809063ee27a4 d3e88c95b9d54ba4b8ec6c3c358559bc] Got request to destroy vm instance-
00000001 from (pid=7840) destroy C:\openstack-nova\nova\virt\hyperv\vmops.py:374
2012-10-19 18:57:09 DEBUG nova.virt.hyperv.vmops [req-2da7f0d5-7ba5-47cc-85ea-02a00ed6aa66 990dae0e5620447ea684809063ee27a4 d3e88c95b9d54ba4b8ec6c3c358559bc] Created VM instance-00000001... from
(pid=7840) _create_vm C:\openstack-nova\nova\virt\hyperv\vmops.py:180
2012-10-19 18:57:09 DEBUG nova.virt.hyperv.vmops [req-2da7f0d5-7ba5-47cc-85ea-02a00ed6aa66 990dae0e5620447ea684809063ee27a4 d3e88c95b9d54ba4b8ec6c3c358559bc] Set memory for vm instance-00000001...
from (pid=7840) _create_vm C:\openstack-nova\nova\virt\hyperv\vmops.py:197
2012-10-19 18:57:09 DEBUG nova.virt.hyperv.vmops [req-2da7f0d5-7ba5-47cc-85ea-02a00ed6aa66 990dae0e5620447ea684809063ee27a4 d3e88c95b9d54ba4b8ec6c3c358559bc] Set vcpus for vm instance-00000001...
from (pid=7840) _create_vm C:\openstack-nova\nova\virt\hyperv\vmops.py:210
2012-10-19 18:57:09 DEBUG nova.virt.hyperv.vmops [req-2da7f0d5-7ba5-47cc-85ea-02a00ed6aa66 990dae0e5620447ea684809063ee27a4 d3e88c95b9d54ba4b8ec6c3c358559bc] Creating disk for instance-00000001 by
attaching disk file c:\Hyper-V\instances\instance-00000001\instance-00000001.vhd from (pid=7840) _create_disk C:\openstack-nova\nova\virt\hyperv\vmops.py:237
2012-10-19 18:57:10 DEBUG nova.virt.hyperv.vmops [req-2da7f0d5-7ba5-47cc-85ea-02a00ed6aa66 990dae0e5620447ea684809063ee27a4 d3e88c95b9d54ba4b8ec6c3c358559bc] New disk drive path is \\WIN-<file:///\\WIN->
KSKERE5KU31\root\virtualization:Msvm_ResourceAllocationSettingData.InstanceID="Microsoft:CC6BAD8D-EC33-4F14-87FE-203C4547522C\\83F8638B-8DCA-4152-9EDA-2CA8B33039B4\\0\\0\\D" from (pid=7840)
_create_disk C:\openstack-nova\nova\virt\hyperv\vmops.py:266
2012-10-19 18:57:11 ERROR nova.virt.hyperv.vmops [req-2da7f0d5-7ba5-47cc-85ea-02a00ed6aa66 990dae0e5620447ea684809063ee27a4 d3e88c95b9d54ba4b8ec6c3c358559bc] spawn vm failed: This object does not
support enumeration
2012-10-19 18:57:11 TRACE nova.virt.hyperv.vmops Traceback (most recent call last):
2012-10-19 18:57:11 TRACE nova.virt.hyperv.vmops File "C:\openstack-nova\nova\virt\hyperv\vmops.py", line 142, in spawn
2012-10-19 18:57:11 TRACE nova.virt.hyperv.vmops self._create_disk(instance['name'], vhdfile)
2012-10-19 18:57:11 TRACE nova.virt.hyperv.vmops File "C:\openstack-nova\nova\virt\hyperv\vmops.py", line 282, in _create_disk
2012-10-19 18:57:11 TRACE nova.virt.hyperv.vmops vhddisk, vm)
2012-10-19 18:57:11 TRACE nova.virt.hyperv.vmops File "C:\openstack-nova\nova\virt\hyperv\vmutils.py", line 123, in add_virt_resource
2012-10-19 18:57:11 TRACE nova.virt.hyperv.vmops success = self.check_job_status(job)
2012-10-19 18:57:11 TRACE nova.virt.hyperv.vmops File "C:\openstack-nova\nova\virt\hyperv\vmutils.py", line 69, in check_job_status
2012-10-19 18:57:11 TRACE nova.virt.hyperv.vmops "%(ErrorDescription)s - %(ErrorCode)s") % job)
2012-10-19 18:57:11 TRACE nova.virt.hyperv.vmops File "C:\Python27\lib\site-packages\win32com\client\dynamic.py", line 246, in __getitem__
2012-10-19 18:57:11 TRACE nova.virt.hyperv.vmops raise TypeError("This object does not support enumeration")
2012-10-19 18:57:11 TRACE nova.virt.hyperv.vmops TypeError: This object does not support enumeration
I debug the code and found that it failed at line 609-613 in virt\hyper-v\vmops.py.
                 image_service = self._conn.query(
                    "Select * from Msvm_ImageManagementService")[0]
                (job, ret_val) = \
                    image_service.CreateDifferencingVirtualHardDisk(
                        Path=target, ParentPath=base)
The WMI job state for this WMI operation is 10 (Exception). Then I tried to create Differencing VHD using WMI in Powershell on Windows Server 2012. Here is the script I used:
$parentVhdFn = "c:\Hyper-V\instances\_base\64d0ffeb-cc13-4c03-9c3b-56cbc132e482.vhd"
$newVhdFn = "c:\Hyper-V\instances\\instance-test.vhd"
$ims = Get-WmiObject -computername "." -namespace "root\virtualization" -class "Msvm_ImageManagementService"
$result=[WMI]$ims.CreateDifferencingVirtualHardDisk($newVhdFn, $parentVhdFn).Job
The job also failed.
Have anyone tried this? Could you help? Thank you very much.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack/attachments/20121024/bf19d8e2/attachment.html>


More information about the Openstack mailing list