[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: [libvirt] [virt-tools-list] Provision through virt-manager not supported on para-virtualized Xen?



On 02/06/2012 08:01 AM, Cheer Xiao wrote:
> 2012/2/6 Cheer Xiao <xiaqqaix gmail com>:
>> 2012/2/5 Cheer Xiao <xiaqqaix gmail com>:
>>> 2012/2/4 Cole Robinson <crobinso redhat com>:
>>>> ... [snip] ...
>>>> Okay, none of that indicates why it isn't working. I can't reproduce using
>>>> your capabilities output and virt-manager 0.9.0 either (though I hacked it in
>>>> so I could have missed a detail).
>>>>
>>>> Can you try with current upstream?
>>>>
>>>> git clone git://git.fedorahosted.org/virt-manager.git
>>>> git clone git://git.fedorahosted.org/python-virtinst.git
>>>> cd python-virtinst
>>>> python setup.py build
>>>> cd ../virt-manager
>>>> ./autogen.sh && ./configure && make -j4
>>>>
>>>> # Then after you can launch virt-manager with
>>>> PYTHONPATH=../python-virtinst python src/virt-manager.py --debug
>>>>
>>>> See if you can reproduce, and if so please provide debug output and we can go
>>>> from there.
>>>
>>> Thanks! I'll be testing in a few days.
>>
>> The problem is still present, and I have collected the debug output. FYII,
>>
> 
> Sorry, wrong log. This is the correct version:
> 
> xiaq vblackie ~/S/python-virtinst> virt-manager --debug
> 
> ** WARNING **: Trying to register gtype 'GMountMountFlags' as enum
> when in fact it is of type 'GFlags'
> 
> ** WARNING **: Trying to register gtype 'GDriveStartFlags' as enum
> when in fact it is of type 'GFlags'
> 
> Gtk-WARNING **: Unable to locate theme engine in module_path: "pixmap",
> 2012-02-06 20:59:56,609 (cli:71): virt-manager startup
> 2012-02-06 20:59:56,618 (virt-manager:291): Launched as:
> /usr/local/share/virt-manager/virt-manager.py --debug
> 2012-02-06 20:59:56,620 (virt-manager:292): GTK version: (2, 24, 8)
> 2012-02-06 20:59:56,621 (virt-manager:293): virt-manager version: 0.9.1
> 2012-02-06 20:59:56,621 (virt-manager:294): virtManager import:
> <module 'virtManager' from
> '/usr/local/share/virt-manager/virtManager/__init__.py'>
> 2012-02-06 20:59:56,873 (cli:118): virtinst version: 0.600.1
> 2012-02-06 20:59:56,875 (cli:119): virtinst import: <module 'virtinst'
> from '/usr/local/lib/python2.7/dist-packages/virtinst/__init__.pyc'>
> /usr/local/share/virt-manager/virt-manager.py:305: DeprecationWarning:
> Importing dbus.glib to use the GLib main loop with dbus-python is
> deprecated.
> Instead, use this sequence:
> 
>     from dbus.mainloop.glib import DBusGMainLoop
> 
>     DBusGMainLoop(set_as_default=True)
> 
>   import dbus.glib
> 2012-02-06 20:59:57,541 (engine:555): No inspection thread because
> libguestfs is too old, not available, or libvirt is not thread safe.
> 2012-02-06 20:59:57,552 (systray:138): Showing systray: False
> 2012-02-06 20:59:57,566 (engine:346): About to connect to uris
> ['xen+ssh://xiaq lux-002/']
> 2012-02-06 20:59:57,780 (manager:171): Showing manager
> 2012-02-06 20:59:57,946 (engine:471): window counter incremented to 1
> 2012-02-06 20:59:59,745 (connection:991): Scheduling background open
> thread for xen+ssh://xiaq lux-002/
> 2012-02-06 20:59:59,756 (connection:1177): Background 'open
> connection' thread is running
> xiaq lux-002's password:
> 2012-02-06 21:00:04,097 (connection:1227): Background open thread
> complete, scheduling notify
> 2012-02-06 21:00:04,102 (connection:1232): Notifying open result
> 2012-02-06 21:00:06,158 (connection:1239): xen+ssh://xiaq lux-002/ capabilities:
> <capabilities>
> 
>   <host>
>     <cpu>
>       <arch>i686</arch>
>       <features>
>         <pae/>
>       </features>
>     </cpu>
>     <migration_features>
>       <live/>
>       <uri_transports>
>         <uri_transport>xenmigr</uri_transport>
>       </uri_transports>
>     </migration_features>
>     <topology>
>       <cells num='1'>
>         <cell id='0'>
>           <cpus num='4'>
>             <cpu id='0'/>
>             <cpu id='1'/>
>             <cpu id='2'/>
>             <cpu id='3'/>
>           </cpus>
>         </cell>
>       </cells>
>     </topology>
>   </host>
> 
>   <guest>
>     <os_type>xen</os_type>
>     <arch name='i686'>
>       <wordsize>32</wordsize>
>       <emulator>/usr/lib/xen/bin/qemu-dm</emulator>
>       <machine>xenpv</machine>
>       <domain type='xen'>
>       </domain>
>     </arch>
>     <features>
>       <pae/>
>     </features>
>   </guest>
> 
> </capabilities>
> 
> 2012-02-06 21:00:08,648 (connection:551): Connection doesn't seem to
> support interface APIs. Skipping all interface polling.
> 2012-02-06 21:00:15,772 (connection:607): Connection managed save support: False
> 2012-02-06 21:00:17,041 (halhelper:133): Unable to connect to HAL to
> list network devices: org.freedesktop.DBus.Error.ServiceUnknown: The
> name org.freedesktop.Hal was not provided by any .service files
> 2012-02-06 21:00:17,044 (connection:186): Libvirt version does not
> support physical interface listing
> 2012-02-06 21:00:17,047 (connection:229): Using libvirt API for
> mediadev enumeration
> 2012-02-06 21:00:24,328 (create:174): Showing new vm wizard
> start None None None
> after None None None
> 2012-02-06 21:00:24,439 (create:859): Guest type set to os_type=xen,
> arch=i686, dom_type=xen
> start xen xen None
> after xen xen None
> start xen xen i686
> after xen xen i686
> 2012-02-06 21:00:35,392 (engine:426): Tick is slow, not running at
> requested rate.
> 

Hmm, okay, can you try applying the attached debugging patch to virt-manager
and reproduce again?

Thanks,
Cole

diff --git a/src/virtManager/create.py b/src/virtManager/create.py
index 1af08c3..9a3af9a 100644
--- a/src/virtManager/create.py
+++ b/src/virtManager/create.py
@@ -443,6 +443,28 @@ class vmmCreate(vmmGObjectUI):
         if self.conn.is_read_only():
             return self.startup_error(_("Connection is read only."))
 
+        def no_install_options(c):
+            for g in c.guests:
+                print "guest", g
+                print "doms", g.domains
+                if len(g.domains) > 0:
+                    return False
+
+            return True
+
+
+        caps = self.conn.get_capabilities()
+        print "caps", caps
+        print "conn no install options", self.conn.no_install_options()
+        print "caps no install options", caps.no_install_options()
+        print "my no install options:", no_install_options(caps)
+
+        import virtinst
+        print "reparsing capabilities"
+        caps = virtinst.CapabilitiesParser.parse(
+                                    self.conn.vmm.getCapabilities())
+        print "now my no install options:", no_install_options(caps)
+
         if self.conn.no_install_options():
             error = _("No hypervisor options were found for this "
                       "connection.")

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]