[libvirt] Re: [virt-tools-list] Questions about virt-manager running on Arch of Itanium 64

cc-ing libvirt-list On 11/19/2009 10:35 PM, Dustin Xiong wrote:
Hi everyone! I am a newer to the virt-manager and maillist. I sent the mail just want to ask some questions about virt-manager running on Arch of Itanium 64. My itanium 64 cpu actualy support the VT. I compiled the kvm85 successful. Then I can use the binary /usr/local/bin/qemu-system-ia64 to create a vm and running. But in my /proc/cpuinfo , there doesn't have flags such as vmx or svm. So when I use the virt-manager to install a vm, the virt-manager will tell me my cpu doesn't support fully virtualization, then I can't install vm. In fact I can't get understand how the virt-manager find my cpu support the fully virtualization or not.In src, which file implements this.
Just because qemu-kvm works doesn't mean virt is working on your box, since it can fall back to full emulation mode. If you are trying to use kvm, is the kvm module actually loaded? lsmod | grep kvm
My kvm mod actually loaded.
[root@kvm bin]# lsmod | grep kvm
kvm_intel 306104 4294967281
kvm 327544 1 kvm_intel
[root@kvm bin]# modinfo kvm
filename: /lib/modules/2.6.28.9hzp/extra/kvm.ko
license: GPL
author: Qumranet
version: kvm-85
srcversion: C399DD2D9B40BAAC05CD509
depends:
vermagic: 2.6.28.9hzp SMP mod_unload modversions ia64gcc-4.1
If so, libvirt may need to be fixed. What's the output of 'virsh --connect qemu:///system capabilities'
[root@kvm bin]# virsh --connect qemu:///system capabilities <capabilities>
<host> <cpu> <arch>ia64</arch> </cpu> <topology> <cells num='1'> <cell id='0'> <cpus num='16'> <cpu id='0'/> <cpu id='1'/> <cpu id='2'/> <cpu id='3'/> <cpu id='4'/> <cpu id='5'/> <cpu id='6'/> <cpu id='7'/> <cpu id='8'/> <cpu id='9'/> <cpu id='10'/> <cpu id='11'/> <cpu id='12'/> <cpu id='13'/> <cpu id='14'/> <cpu id='15'/> </cpus> </cell> </cells> </topology> </host>
My cpu is itanium 64, the OS is RHEL.The libvirt is 0.6.3, virt-manager is 0.6.1.
Ah, are you using the version of libvirt that comes with RHEL 5.4? That version has been patched to only look for the qemu-kvm binary in one spot: /usr/libexec/qemu-kvm IIRC. You could try to work with that, but since you are already building upstream KVM, virt-manager, and virtinst, might not be a bad idea to pull upstream libvirt as well.
Once i tried to compile the virt-manager-0.8.0, but when i make check, it returns:
PYTHONPATH=./..:../graphWidgets/.libs python addhardware.py && touch .tstamp.addhardware.py Traceback (mos! t recent call last): File "addhardware.py", line 32, in ? from virtinst import VirtualCharDevice, VirtualDevice, VirtualVideoDevice
when i rpm -ivh virt-manager-0.6.1-8.el5.ia64.rpm, it could work.
I don't know why this error occur. Can anyone be kind to tell me how? thanks a lot.
You will also need to install the latest version of virtinst, found at:
I downloaded and compiled the latest version of virtinst: virtinst-0.500.0.tar.gz. then compile the virt-manager-0.8.0, error changed as below:
[root@kvm virt-manager-0.8.0]# make check Making check in src make[1]: Entering directory `/home/dustin/virt-manager/virt-manager-0.8.0/src' Making check in virtManager make[2]: Entering directory `/home/dustin/virt-manager/virt-manager-0.8.0/src/virtManager' make check-local make[3]: Entering directory `/home/dustin/virt-manager/virt-manager-0.8.0/src/virtManager' PYTHONPATH=./..:../graphWidgets/.libs python about.py && touch .tstamp.about.py PYTHONPATH=./..:../graphWidgets/.libs python addhardware.py && touch .tstamp.addhardware.py Traceback (most recent call last): File "addhardware.py", line 35, in ? from virtManager.asyncjob import vmmAsyncJob File "/home/dustin/virt-manager/virt-manager-0.8.0/src/virtManager/asyncjob.py", line 30, in ? class vmmAsyncJob(gobject.GObject): File "/home/dustin/virt-manager/virt-manager-0.8.0/src/virtManager/asyncjob.py", line 40, in vmmAsyncJob def __init__(self, config, callback, args=None, NameError: name '_' is not defined
Thanks for help.If you need any further infos please dont't hesitate to tell me.
Ah, didn't notice the make check in the first mail. 'make check' doesn't work in the virt-manager code base, never taken the time to fix it. You should just be able to 'make && make install', or 'make' and python src/virt-manager.py to run from the source dir. If running virt-manager then throws an error, report here and Ill try to help. - Cole

Date: Fri, 20 Nov 2009 08:14:09 -0500, cole wrote:
cc-ing libvirt-list
On 11/19/2009 10:35 PM, Dustin Xiong wrote:
Hi everyone! I am a newer to the virt-manager and maillist. I sent the mail just want to ask some questions about virt-manager running on Arch of Itanium 64. My itanium 64 cpu actualy support the VT. I compiled the kvm85 successful. Then I can use the binary /usr/local/bin/qemu-system-ia64 to create a vm and running. But in my /proc/cpuinfo , there doesn't have flags such as vmx or svm. So when I use the virt-manager to install a vm, the virt-manager will tell me my cpu doesn't support fully virtualization, then I can't install vm. In fact I can't get understand how the virt-manager find my cpu support the fully virtualization or not.In src, which file implements this.
Just because qemu-kvm works doesn't mean virt is working on your box, since it can fall back to full emulation mode. If you are trying to use kvm, is the kvm module actually loaded? lsmod | grep kvm
My kvm mod actually loaded.
[root@kvm bin]# lsmod | grep kvm
kvm_intel 306104 4294967281
kvm 327544 1 kvm_intel
[root@kvm bin]# modinfo kvm
filename: /lib/modules/2.6.28.9hzp/extra/kvm.ko
license: GPL
author: Qumranet
version: kvm-85
srcversion: C399DD2D9B40BAAC05CD509
depends:
vermagic: 2.6.28.9hzp SMP mod_unload modversions ia64gcc-4.1
If so, libvirt may need to be fixed. What's the output of 'virsh --connect qemu:///system capabilities'
[root@kvm bin]# virsh --connect qemu:///system capabilities <capabilities>
<host> <cpu> <arch>ia64</arch> </cpu> <topology> <cells num='1'> <cell id='0'> <cpus num='16'> <cpu id='0'/> <cpu id='1'/> <cpu id='2'/> <cpu id='3'/> <cpu id='4'/> <cpu id='5'/> <cpu id='6'/> <cpu id='7'/> <cpu id='8'/> <cpu id='9'/> <cpu id='10'/> <cpu id='11'/> <cpu id='12'/> <cpu id='13'/> <cpu id='14'/> <cpu id='15'/> </cpus> </cell> </cells> </topology> </host>
My cpu is itanium 64, the OS is RHEL.The libvirt is 0.6.3, virt-manager is 0.6.1.
Ah, are you using the version of libvirt that comes with RHEL 5.4? That version has been patched to only look for the qemu-kvm binary in one spot: /usr/libexec/qemu-kvm IIRC. You could try to work with that, but since you are already building upstream KVM, virt-manager, and virtinst, might not be a bad idea to pull upstream libvirt as well.
yes, my libvirt rpm and other related rpms all came from the RHEL 5.4 iso. And they all build for itanium 64 # rpm -qa | grep libvirt libvirt-python-0.6.3-20.el5 libvirt-devel-0.6.3-20.el5 libvirt-0.6.3-20.el5 And i try to make a link, it still doesn't work. ln -s /usr/local/bin/qemu-system-ia64 /usr/libexec/qemu-system-ia64
Once i tried to compile the virt-manager-0.8.0, but when i make check, it returns:
PYTHONPATH=./..:../graphWidgets/.libs python addhardware.py && touch .tstamp.addhardware.py Traceback (mos! t recent call last): File "addhardware.py", line 32, in ? from virtinst import VirtualCharDevice, VirtualDevice, VirtualVideoDevice
when i rpm -ivh virt-manager-0.6.1-8.el5.ia64.rpm, it could work.
I don't know why this error occur. Can anyone be kind to tell me how? thanks a lot.
You will also need to install the latest version of virtinst, found at:
I downloaded and compiled the latest version of virtinst: virtinst-0.500.0.tar.gz. then compile the virt-manager-0.8.0, error changed as below:
[root@kvm virt-manager-0.8.0]# make check Making check in src make[1]: Entering directory `/home/dustin/virt-manager/virt-manager-0.8.0/src' Making check in virtManager make[2]: Entering directory `/home/dustin/virt-manager/virt-manager-0.8.0/src/virtManager' make check-local make[3]: Entering directory `/home/dustin/virt-manager/virt-manager-0.8.0/src/virtManager' PYTHONPATH=./..:../graphWidgets/.libs python about.py && touch .tstamp.about.py PYTHONPATH=./..:../graphWidgets/.libs python addhardware.py && touch .tstamp.addhardware.py Traceback (most recent call last): File "addhardware.py", line 35, in ? from virtManager.asyncjob import vmmAsyncJob File "/home/dustin/virt-manager/virt-manager-0.8.0/src/virtManager/asyncjob.py", line 30, in ? class vmmAsyncJob(gobject.GObject): File "/home/dustin/virt-manager/virt-manager-0.8.0/src/virtManager/asyncjob.py", line 40, in vmmAsyncJob def __init__(self, config, callback, args=None, NameError: name '_' is not defined
Thanks for help.If you need any further infos please dont't hesitate to tell me.
Ah, didn't notice the make check in the first mail. 'make check' doesn't work in the virt-manager code base, never taken the time to fix it. You should just be able to 'make && make install', or 'make' and python src/virt-manager.py to run from the source dir. If running virt-manager then throws an error, report here and Ill try to help.
After make install, when i run virt-manager, the error is: starting the virt-manager error: 'gtk.TreeView' object has no attribute 'set_level_indentation' Details: raceback (most recent call last): File "/usr/local/share/virt-manager/virt-manager.py", line 377, in ? main() File "/usr/local/share/virt-manager/virt-manager.py", line 364, in main options.no_conn_auto) File "/usr/local/share/virt-manager/virt-manager.py", line 237, in show_engine engine.show_manager() File "/usr/local/share/virt-manager/virtManager/engine.py", line 365, in show_manager self.get_manager().show() File "/usr/local/share/virt-manager/virtManager/engine.py", line 342, in get_manager self.windowManager = vmmManager(self.get_config(), self) File "/usr/local/share/virt-manager/virtManager/manager.py", line 167, in __init__ self.prepare_vmlist() File "/usr/local/share/virt-manager/virtManager/manager.py", line 826, in prepare_vmlist vmlist.set_level_indentation(-15) AttributeError: 'gtk.TreeView' object has no attribute 'set_level_indentation' thanks a lot - dustin _________________________________________________________________ Keep your friends updated―even when you’re not signed in. http://www.microsoft.com/middleeast/windows/windowslive/see-it-in-action/soc...

On 11/23/2009 01:43 AM, Dustin Xiong wrote:
Date: Fri, 20 Nov 2009 08:14:09 -0500, cole wrote:
cc-ing libvirt-list
My cpu is itanium 64, the OS is RHEL.The libvirt is 0.6.3, virt-manager is 0.6.1.
Ah, are you using the version of libvirt that comes with RHEL 5.4? That version has been patched to only look for the qemu-kvm binary in one spot: /usr/libexec/qemu-kvm IIRC. You could try to work with that! , but since you are already building upstream KVM, vir! t-manage r, and virtinst, might not be a bad idea to pull upstream libvirt as well.
yes, my libvirt rpm and other related rpms all came from the RHEL 5.4 iso. And they all build for itanium 64 # rpm -qa | grep libvirt libvirt-python-0.6.3-20.el5 libvirt-devel-0.6.3-20.el5 libvirt-0.6.3-20.el5
And i try to make a link, it still doesn't work. ln -s /usr/local/bin/qemu-system-ia64 /usr/libexec/qemu-system-ia64
Actually I think that destination needs to be /usr/libexec/qemu-kvm, not qemu-system-ia64. And looking at the rhel5 code, this can also be /usr/bin/qemu-kvm
Once i tried to compile the virt-manager-0.8.0, but when i make check, it returns:
PYTHONPATH=./..:../graphWidgets/.libs python addhardware.py && touch .tstamp.addhardware.py Traceback (mos! t recent call last): File "addhardware.py", line 32, in ? from virtinst import VirtualCharDevice, VirtualDevice, VirtualVideoDevice &g! t;>> when i rpm -ivh virt-manager-0.6.1-8.el5.ia64.rpm, it could work.
I don't know why this error occur. Can anyone be kind to tell me how? thanks a lot.
You will also need to install the latest version of virtinst, found at:
I downloaded and compiled the latest version of virtinst: virtinst-0.500.0.tar.gz. then compile the virt-manager-0.8.0, error changed as below:
[root@kvm virt-manager-0.8.0]# make check Making check in src make[1]: Entering directory `/home/dustin/virt-manager/virt-manager-0.8.0/src' Making check in virtManager make[2]: Entering directory `/home/dustin/virt-manager/virt-manager-0.8.0/src/virtManager' make ch! eck-local make[3]: Entering directory `/home/dust! in/virt- manager/virt-manager-0.8.0/src/virtManager' PYTHONPATH=./..:../graphWidgets/.libs python about.py && touch .tstamp.about.py PYTHONPATH=./..:../graphWidgets/.libs python addhardware.py && touch .tstamp.addhardware.py Traceback (most recent call last): File "addhardware.py", line 35, in ? from virtManager.asyncjob import vmmAsyncJob File "/home/dustin/virt-manager/virt-manager-0.8.0/src/virtManager/asyncjob.py", line 30, in ? class vmmAsyncJob(gobject.GObject): File "/home/dustin/virt-manager/virt-manager-0.8.0/src/virtManager/asyncjob.py", line 40, in vmmAsyncJob def __init__(self, config, callback, args=None, NameError: name '_' is not defined
Thanks for help.If you need any further infos please dont't hesitate to tell me.
Ah, didn't notice the make check! in the first mail. 'make check' doesn't work in the virt-manager code base, never taken the time to fix it. You should just be able to 'make && make install', or 'make' and python src/virt-manager.py to run from the source dir. If running virt-manager then throws an error, report here and Ill try to help.
After make install, when i run virt-manager, the error is:
starting the virt-manager error: 'gtk.TreeView' object has no attribute 'set_level_indentation'
Details: raceback (most recent call last): File "/usr/local/share/virt-manager/virt-manager.py", line 377, in ? main() File "/usr/local/share/virt-manager/virt-manager.py", line 364, in main options.no_conn_auto) File "/usr/local/share/virt-manager/virt-manager.py", line 237, in show_engine engine.show_manager() File "/usr/local/share/virt-man! ager/virtManager/engine.py", line 365, in show_manager &nbs! p; self.get_manager().show() File "/usr/local/share/virt-manager/virtManager/engine.py", line 342, in get_manager self.windowManager = vmmManager(self.get_config(), self) File "/usr/local/share/virt-manager/virtManager/manager.py", line 167, in __init__ self.prepare_vmlist() File "/usr/local/share/virt-manager/virtManager/manager.py", line 826, in prepare_vmlist vmlist.set_level_indentation(-15) AttributeError: 'gtk.TreeView' object has no attribute 'set_level_indentation'
Hmm, looks like set_level_indentation isn't supported on RHEL5. Strange though since I've had other reports of people using latest virt-manager on RHEL5. I'll take a look Thanks, Cole

On Mon, Nov 23, 2009 at 11:09:28AM -0500, Cole Robinson wrote:
On 11/23/2009 01:43 AM, Dustin Xiong wrote:
Date: Fri, 20 Nov 2009 08:14:09 -0500, cole wrote:
cc-ing libvirt-list
My cpu is itanium 64, the OS is RHEL.The libvirt is 0.6.3, virt-manager is 0.6.1.
Ah, are you using the version of libvirt that comes with RHEL 5.4? That version has been patched to only look for the qemu-kvm binary in one spot: /usr/libexec/qemu-kvm IIRC. You could try to work with that! , but since you are already building upstream KVM, vir! t-manage r, and virtinst, might not be a bad idea to pull upstream libvirt as well.
yes, my libvirt rpm and other related rpms all came from the RHEL 5.4 iso. And they all build for itanium 64 # rpm -qa | grep libvirt libvirt-python-0.6.3-20.el5 libvirt-devel-0.6.3-20.el5 libvirt-0.6.3-20.el5
And i try to make a link, it still doesn't work. ln -s /usr/local/bin/qemu-system-ia64 /usr/libexec/qemu-system-ia64
Actually I think that destination needs to be /usr/libexec/qemu-kvm, not qemu-system-ia64. And looking at the rhel5 code, this can also be /usr/bin/qemu-kvm
That's not going to help. 'ia64' is not listed as a valid architecture in qemu_conf.c, so it'll never be pulled into the capabilities, and thus libvirt will never even look for a KVM binary Someone needs to update qemu_conf.c to handle ia64 correctly. Daniel -- |: Red Hat, Engineering, London -o- http://people.redhat.com/berrange/ :| |: http://libvirt.org -o- http://virt-manager.org -o- http://ovirt.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: GnuPG: 7D3B9505 -o- F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 :|

Date: Mon, 23 Nov 2009 16:16:05 +0000 From: berrange@redhat.com To: crobinso@redhat.com CC: x_k_123@hotmail.com; libvirt-list@redhat.com; virt-tools-list@redhat.com Subject: Re: [virt-tools-list] Questions about virt-manager running on Arch of Itanium 64
On Mon, Nov 23, 2009 at 11:09:28AM -0500, Cole Robinson wrote:
On 11/23/2009 01:43 AM, Dustin Xiong wrote:
Date: Fri, 20 Nov 2009 08:14:09 -0500, cole wrote:
cc-ing libvirt-list
> My cpu is itanium 64, the OS is RHEL.The libvirt is 0.6.3, virt-manager > is 0.6.1.
Ah, are you using the version of libvirt that comes with RHEL 5.4? That version has been patched to only look for the qemu-kvm binary in one spot: /usr/libexec/qemu-kvm IIRC. You could try to work with that! , but since you are already building upstream KVM, vir! t-manage r, and virtinst, might not be a bad idea to pull upstream libvirt as well.
yes, my libvirt rpm and other related rpms all came from the RHEL 5.4 iso. And they all build for itanium 64 # rpm -qa | grep libvirt libvirt-python-0.6.3-20.el5 libvirt-devel-0.6.3-20.el5 libvirt-0.6.3-20.el5
And i try to make a link, it still doesn't work. ln -s /usr/local/bin/qemu-system-ia64 /usr/libexec/qemu-system-ia64
Actually I think that destination needs to be /usr/libexec/qemu-kvm, not qemu-system-ia64. And looking at the rhel5 code, this can also be /usr/bin/qemu-kvm
That's not going to help. 'ia64' is not listed as a valid architecture in qemu_conf.c, so it'll never be pulled into the capabilities, and thus libvirt will never even look for a KVM binary
The libvirt and virt-manager rpm all come from the iso of Red Hat Enterprise Linux 5.4 Server (Itanium)Does the redhat have the plans to implement the architecture ia64 in libvirt ?
Someone needs to update qemu_conf.c to handle ia64 correctly.
If i want to update qemu_conf.c to handle ia64 , which files or datastruct needs to update ? Only the qemu_conf.c ? thanks a lot _________________________________________________________________ Windows Live: Friends get your Flickr, Yelp, and Digg updates when they e-mail you. http://www.microsoft.com/middleeast/windows/windowslive/see-it-in-action/soc...

On Tue, Nov 24, 2009 at 10:05:08AM +0800, Dustin Xiong wrote:
Date: Mon, 23 Nov 2009 16:16:05 +0000 From: berrange@redhat.com To: crobinso@redhat.com CC: x_k_123@hotmail.com; libvirt-list@redhat.com; virt-tools-list@redhat.com Subject: Re: [virt-tools-list] Questions about virt-manager running on Arch of Itanium 64
On Mon, Nov 23, 2009 at 11:09:28AM -0500, Cole Robinson wrote:
On 11/23/2009 01:43 AM, Dustin Xiong wrote:
yes, my libvirt rpm and other related rpms all came from the RHEL 5.4 iso. And they all build for itanium 64 # rpm -qa | grep libvirt libvirt-python-0.6.3-20.el5 libvirt-devel-0.6.3-20.el5 libvirt-0.6.3-20.el5
And i try to make a link, it still doesn't work. ln -s /usr/local/bin/qemu-system-ia64 /usr/libexec/qemu-system-ia64
Actually I think that destination needs to be /usr/libexec/qemu-kvm, not qemu-system-ia64. And looking at the rhel5 code, this can also be /usr/bin/qemu-kvm
That's not going to help. 'ia64' is not listed as a valid architecture in qemu_conf.c, so it'll never be pulled into the capabilities, and thus libvirt will never even look for a KVM binary
The libvirt and virt-manager rpm all come from the iso of Red Hat Enterprise Linux 5.4 Server (Itanium)Does the redhat have the plans to implement the architecture ia64 in libvirt ?
libvirt as an open source project is happy to support any architecture. In RHEL, Red Hat only support a sub-set of the functionality / platforms. RHEL-5 Xen supports i386, x86_64 and ia64. RHEL-5 KVM only supports x86_64
Someone needs to update qemu_conf.c to handle ia64 correctly.
If i want to update qemu_conf.c to handle ia64 , which files or datastruct needs to update ? Only the qemu_conf.c ?
If you search for the table static const struct qemu_arch_info const arch_info_hvm[] = { It is probably (hopefully?) sufficient to just add { "ia64", 64, NULL, "/usr/bin/qemu-system-ia64", NULL, NULL, 0 }, The key test is that when you later run virsh capabilities it should show the /usr/bin/qemu-system-ia64 binary, and also report that KVM is present. I have a feeling you might also need to add code to the src/nodeinfo.c file, since I think that /proc/cpuinfo on ia64 is in a different format to that on x86_64. ie, change the linuxNodeInfoCPUPopulate() method so it can also parse the ia64 format. This is used by the command virsh nodeinfo So once 'capabilities' and 'nodeinfo' are working on ia64, then it should be possible to use virt-manager properly Daniel -- |: Red Hat, Engineering, London -o- http://people.redhat.com/berrange/ :| |: http://libvirt.org -o- http://virt-manager.org -o- http://ovirt.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: GnuPG: 7D3B9505 -o- F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 :|

Date: Tue, 24 Nov 2009 10:33:48 +0000 From: berrange@redhat.com To: x_k_123@hotmail.com CC: crobinso@redhat.com; libvirt-list@redhat.com; virt-tools-list@redhat.com Subject: Re: [virt-tools-list] Questions about virt-manager running on Arch of Itanium 64
On Tue, Nov 24, 2009 at 10:05:08AM +0800, Dustin Xiong wrote:
Date: Mon, 23 Nov 2009 16:16:05 +0000 From: berrange@redhat.com To: crobinso@redhat.com CC: x_k_123@hotmail.com; libvirt-list@redhat.com; virt-tools-list@redhat.com Subject: Re: [virt-tools-list] Questions about virt-manager running on Arch of Itanium 64
On Mon, Nov 23, 2009 at 11:09:28AM -0500, Cole Robinson wrote:
On 11/23/2009 01:43 AM, Dustin Xiong wrote:
yes, my libvirt rpm and other related rpms all came from the RHEL 5.4 iso. And they all build for itanium 64 # rpm -qa | grep libvirt libvirt-python-0.6.3-20.el5 libvirt-devel-0.6.3-20.el5 libvirt-0.6.3-20.el5
And i try to make a link, it still doesn't work. ln -s /usr/local/bin/qemu-system-ia64 /usr/libexec/qemu-system-ia64
Actually I think that destination needs to be /usr/libexec/qemu-kvm, not qemu-system-ia64. And looking at the rhel5 code, this can also be /usr/bin/qemu-kvm
That's not going to help. 'ia64' is not listed as a valid architecture in qemu_conf.c, so it'll never be pulled into the capabilities, and thus libvirt will never even look for a KVM binary
The libvirt and virt-manager rpm all come from the iso of Red Hat Enterprise Linux 5.4 Server (Itanium)Does the redhat have the plans to implement the architecture ia64 in libvirt ?
libvirt as an open source project is happy to support any architecture.
In RHEL, Red Hat only support a sub-set of the functionality / platforms. RHEL-5 Xen supports i386, x86_64 and ia64. RHEL-5 KVM only supports x86_64
Someone needs to update qemu_conf.c to handle ia64 correctly.
If i want to update qemu_conf.c to handle ia64 , which files or datastruct needs to update ? Only the qemu_conf.c ?
If you search for the table
static const struct qemu_arch_info const arch_info_hvm[] = {
It is probably (hopefully?) sufficient to just add
{ "ia64", 64, NULL, "/usr/bin/qemu-system-ia64", NULL, NULL, 0 },
The key test is that when you later run
virsh capabilities
it should show the /usr/bin/qemu-system-ia64 binary, and also report that KVM is present.
I have a feeling you might also need to add code to the src/nodeinfo.c file, since I think that /proc/cpuinfo on ia64 is in a different format to that on x86_64. ie, change the linuxNodeInfoCPUPopulate() method so it can also parse the ia64 format. This is used by the command
virsh nodeinfo
So once 'capabilities' and 'nodeinfo' are working on ia64, then it should be possible to use virt-manager properly
I modify the src, and build it to rpm. The libvirt could work. And as you said, i add ia64 info into the qemu_conf.c. The result as below: [root@kvm bin]# virsh capabilities <capabilities> <host> <cpu> <arch>ia64</arch> </cpu> <topology> <cells num='1'> <cell id='0'> <cpus num='16'> <cpu id='0'/> <cpu id='1'/> <cpu id='2'/> <cpu id='3'/> <cpu id='4'/> <cpu id='5'/> <cpu id='6'/> <cpu id='7'/> <cpu id='8'/> <cpu id='9'/> <cpu id='10'/> <cpu id='11'/> <cpu id='12'/> <cpu id='13'/> <cpu id='14'/> <cpu id='15'/> </cpus> </cell> </cells> </topology> </host> <guest> <os_type>hvm</os_type> <arch name='ia64'> <wordsize>64</wordsize> <emulator>/usr/bin/qemu-system-ia64</emulator> <machine>ia64</machine> <machine>xenner</machine> <domain type='qemu'> </domain> <domain type='kvm'> <emulator>/usr/bin/kvm</emulator> </domain> </arch> <features> <acpi default='on' toggle='yes'/> <apic default='on' toggle='no'/> </features> </guest> </capabilities> [root@kvm bin]# virsh nodeinfo CPU model: ia64 CPU(s): 16 CPU frequency: 1330 MHz CPU socket(s): 16 Core(s) per socket: 1 Thread(s) per core: 1 NUMA cell(s): 1 Memory size: 8252480 kB But the virt-manager still can't work. When i create a new vm. The error as below: Unable to complete install 'libvirt.libvirtError internal error Domain ad didn't show up Traceback (most recent call last): File "/usr/share/virt-manager/virtManager/create.py", line 718, in do_install dom = guest.start_install(False, meter = meter) File "/usr/lib/python2.4/site-packages/virtinst/Guest.py", line 660, in start_install return self._do_install(consolecb, meter, removeOld, wait) File "/usr/lib/python2.4/site-packages/virtinst/Guest.py", line 758, in _do_install self.domain = self.conn.createLinux(install_xml, 0) File "/usr/lib/python2.4/site-packages/libvirt.py", line 974, in createLinux if ret is None:raise libvirtError('virDomainCreateLinux() failed', conn=self) libvirtError: internal error Domain ad didn't show up I don't know how to resolve this error. Thank you for your advice. Merry Christmas ! -dustin. _________________________________________________________________ Windows Live: Keep your friends up to date with what you do online. http://www.microsoft.com/middleeast/windows/windowslive/see-it-in-action/soc...

On 12/25/2009 03:48 AM, Dustin Xiong wrote:
If i want to update qemu_conf.c to handle ia64 , which files or datastruct needs to update ? Only the qemu_conf.c ?
If you search for the table
static const struct qemu_arch_info const arch_info_hvm[] = {
It is probably (hopefully?) sufficient to just add
{ "ia64", 64, NULL, "/usr/bin/qemu-system-ia64", NULL, NULL, 0 },
The key test is that when you later run
virsh capabilities
it should show the /usr/bin/qemu-system-ia64 binary, and also report that KVM is present.
I have a feeling you might also need to add code to the src/nodeinfo.c file, since I think that /proc/cpuinfo on ia64 is in a different format to that on x86_64. ie, change the linuxNodeInfoCPUPopulate() method so it can also parse the ia64 format. This is used by the command
virsh nodeinfo
So once 'capabilities' and 'nodeinfo' are working on ia64, then it should be possible to use virt-manager properly
I modify the src, and build it to rpm. The libvirt could work.
And as you said, i add ia64 info into the qemu_conf.c. The result as below:
[root@kvm bin]# virsh capabilities <capabilities>
<host> <cpu> <arch>ia64</arch> </cpu> <topology> <cells num='1'> <cell id='0'> <cpus num='16'> <cpu id='0'/> <cpu id='1'/> <cpu id='2'/> <cpu id='3'/> <cpu id='4'/> <cpu id='5'/> <cpu id='6'/> <cpu id='7'/> <cpu id='8'/> <cpu id='9'/> <cpu id='10'/> <cpu id='11'/> <cpu id='12'/> <cpu id='13'/> <cpu id='14'/> <cpu id='15'/> </cpus> </cell> </cells> </topology> </host>
<guest> <os_type>hvm</os_type> <arch name='ia64'> <wordsize>64</wordsize> <emulator>/usr/bin/qemu-system-ia64</emulator> <machine>ia64</machine> <machine>xenner</machine> <domain type='qemu'> </domain> <domain type='kvm'> <emulator>/usr/bin/kvm</emulator> </domain> </arch> <features> <acpi default='on' toggle='yes'/> <apic default='on' toggle='no'/> </features> </guest>
</capabilities>
[root@kvm bin]# virsh nodeinfo CPU model: ia64 CPU(s): 16 CPU frequency: 1330 MHz CPU socket(s): 16 Core(s) per socket: 1 Thread(s) per core: 1 NUMA cell(s): 1 Memory size: 8252480 kB
But the virt-manager still can't work. When i create a new vm.
The error as below:
Unable to complete install 'libvirt.libvirtError internal error Domain ad didn't show up
Traceback (most recent call last): File "/usr/share/virt-manager/virtManager/create.py", line 718, in do_install dom = guest.start_install(False, meter = meter) File "/usr/lib/python2.4/site-packages/virtinst/Guest.py", line 660, in start_install return self._do_install(consolecb, meter, removeOld, wait) File "/usr/lib/python2.4/site-packages/virtinst/Guest.py", line 758, in _do_install self.domain = self.conn.createLinux(install_xml, 0) File "/usr/lib/python2.4/site-packages/libvirt.py", line 974, in createLinux if ret is None:raise libvirtError('virDomainCreateLinux() failed', conn=self) libvirtError: internal error Domain ad didn't show up
I don't know how to resolve this error.
Thank you for your advice.
What is the output in /var/log/libvirt/qemu/$vmname.log ? - Cole

Date: Mon, 4 Jan 2010 11:46:06 -0500 From: crobinso@redhat.com To: x_k_123@hotmail.com CC: berrange@redhat.com; libvirt-list@redhat.com Subject: Re: [libvirt] [virt-tools-list] Questions about virt-manager running on Arch of Itanium 64
On 12/25/2009 03:48 AM, Dustin Xiong wrote:
If i want to update qemu_conf.c to handle ia64 , which files or datastruct needs to update ? Only the qemu_conf.c ?
If you search for the table
static const struct qemu_arch_info const arch_info_hvm[] = {
It is probably (hopefully?) sufficient to just add
{ "ia64", 64, NULL, "/usr/bin/qemu-system-ia64", NULL, NULL, 0 },
The key test is that when you later run
virsh capabilities
it should show the /usr/bin/qemu-system-ia64 binary, and also report that KVM is present.
I have a feeling you might also need to add code to the src/nodeinfo.c file, since I think that /proc/cpuinfo on ia64 is in a different format to that on x86_64. ie, change the linuxNodeInfoCPUPopulate() method so it can also parse the ia64 format. This is used by the command
virsh nodeinfo
So once 'capabilities' and 'nodeinfo' are working on ia64, then it should be possible to use virt-manager properly
I modify the src, and build it to rpm. The libvirt could work.
And as you said, i add ia64 info into the qemu_conf.c. The result as below:
[root@kvm bin]# virsh capabilities <capabilities>
<host> <cpu> <arch>ia64</arch> </cpu> <topology> <cells num='1'> <cell id='0'> <cpus num='16'> <cpu id='0'/> <cpu id='1'/> <cpu id='2'/> <cpu id='3'/> <cpu id='4'/> <cpu id='5'/> <cpu id='6'/> <cpu id='7'/> <cpu id='8'/> <cpu id='9'/> <cpu id='10'/> <cpu id='11'/> <cpu id='12'/> <cpu id='13'/> <cpu id='14'/> <cpu id='15'/> </cpus> </cell> </cells> </topology> </host>
<guest> <os_type>hvm</os_type> <arch name='ia64'> <wordsize>64</wordsize> <emulator>/usr/bin/qemu-system-ia64</emulator> <machine>ia64</machine> <machine>xenner</machine> <domain type='qemu'> </domain> <domain type='kvm'> <emulator>/usr/bin/kvm</emulator> </domain> </arch> <features> <acpi default='on' toggle='yes'/> <apic default='on' toggle='no'/> </features> </guest>
</capabilities>
[root@kvm bin]# virsh nodeinfo CPU model: ia64 CPU(s): 16 CPU frequency: 1330 MHz CPU socket(s): 16 Core(s) per socket: 1 Thread(s) per core: 1 NUMA cell(s): 1 Memory size: 8252480 kB
But the virt-manager still can't work. When i create a new vm.
The error as below:
Unable to complete install 'libvirt.libvirtError internal error Domain ad didn't show up
Traceback (most recent call last): File "/usr/share/virt-manager/virtManager/create.py", line 718, in do_install dom = guest.start_install(False, meter = meter) File "/usr/lib/python2.4/site-packages/virtinst/Guest.py", line 660, in start_install return self._do_install(consolecb, meter, removeOld, wait) File "/usr/lib/python2.4/site-packages/virtinst/Guest.py", line 758, in _do_install self.domain = self.conn.createLinux(install_xml, 0) File "/usr/lib/python2.4/site-packages/libvirt.py", line 974, in createLinux if ret is None:raise libvirtError('virDomainCreateLinux() failed', conn=self) libvirtError: internal error Domain ad didn't show up
I don't know how to resolve this error.
Thank you for your advice.
What is the output in /var/log/libvirt/qemu/$vmname.log ?
The output in /var/log/libvirt/qemu/vm10.log is : LC_ALL=C PATH=/sbin:/usr/sbin:/bin:/usr/bin HOME=/ /usr/bin/kvm -S -M ia64 -m 512 -smp 1 -name vm10 -uuid 8adb1d1d-147f-710a-6d13-c71ba185f811 -monitor pty -pidfile /var/run/libvirt/qemu//vm10.pid -no-reboot -boot d -drive file=/var/lib/libvirt/images/vm10.img,if=ide,index=0,format=raw -drive file=/var/lib/libvirt/images/rhel-server-5.4-ia64-disc1.iso,if=ide,media=cdrom,index=2,format=raw -net nic,macaddr=52:54:00:59:bb:26,vlan=0 -net tap,fd=16,script=,vlan=0,ifname=vnet0 -serial pty -parallel none -usb -vnc 127.0.0.1:0 -k en-us Supported machines are: itanium Itanium Platform (default) -dustin _________________________________________________________________ Windows Live: Friends get your Flickr, Yelp, and Digg updates when they e-mail you. http://www.microsoft.com/middleeast/windows/windowslive/see-it-in-action/soc...

On 01/04/2010 08:27 PM, Dustin Xiong wrote:
Date: Mon, 4 Jan 2010 11:46:06 -0500 From: crobinso@redhat.com To: x_k_123@hotmail.com CC: berrange@redhat.com; libvirt-list@redhat.com Subject: Re: [libvirt] [virt-tools-list] Questions about virt-manager running on Arch of Itanium 64
On 12/25/2009 03:48 AM, Dustin Xiong wrote:
If i want to update qemu_conf.c to handle ia64 , which files or datastruct needs to update ? Only the qemu_conf.c ?
If you search for the table
static const struct qemu_arch_info const arch_info_hvm[] = {
It is probably (hopefully?) sufficient to just add
{ "ia64", 64, NULL, "/usr/bin/qemu-system-ia64", NULL, NULL, 0 },
The key test is that when you later run
virsh capabilities
it should show the /usr/bin/qemu-system-ia64 binary, and also report that KVM is present.
I have a feeling you might also need to add code to the src/nodeinfo.c file, since I think that /proc/cpuinfo on ia64 is in a different format to that on x86_64. ie, change the linuxNodeInfoCPUPopulate() method so it can also parse the ia64 format. This is used by the command
virsh nodeinfo
So once 'capabilities' and 'nodeinfo' are working on ia64, then it should be possible to use virt-manager properly
I modify the src, and build it to rpm. The libvirt could work.
And as you said, i add ia64 info into the qemu_conf.c. The result as below:
[root@kvm bin]# virsh capabilities <capabilities>
<host> <cpu> <arch>ia64</arch> </cpu> <topology> <cells num='1'> <cell id='0'> <cpus num='16'> <cpu id='0'/> <cpu id='1'/> <cpu id='2'/> <cpu id='3'/> <cpu id='4'/> <cpu id='5'/> <cpu id='6'/> <cpu id='7'/> <cpu id='8'/> <cpu id='9'/> <cpu id='10'/> <cpu id='11'/> <cpu id='12'/> <cpu id='13'/> <cpu id='14'/> <cpu id='15'/> </cpus> </cell> </cells> </topology> </host>
<guest> <os_type>hvm</os_type> <arch name='ia64'> <wordsize>64</wordsize> <emulator>/usr/bin/qemu-system-ia64</emulator> <machine>ia64</machine> <machine>xenner</machine> <domain type='qemu'> </domain> <domain type='kvm'> <emulator>/usr/bin/kvm</emulator> </domain> </arch> <features> <acpi default='on' toggle='yes'/> <apic default='on' toggle='no'/> </features> </guest>
</capabilities>
[root@kvm bin]# virsh nodeinfo CPU model: ia64 CPU(s): 16 CPU frequency: 1330 MHz CPU socket(s): 16 Core(s) per socket: 1 Thread(s) per core: 1 NUMA cell(s): 1 Memory size: 8252480 kB
But the virt-manager still can't work. When i create a new vm.
The error as below:
Unable to complete install 'libvirt.libvirtError internal error Domain ad didn't show up
Traceback (most recent call last): File "/usr/share/virt-manager/virtManager/create.py", line 718, in do_install dom = guest.start_install(False, meter = meter) File "/usr/lib/python2.4/site-packages/virtinst/Guest.py", line 660, in start_install return self._do_install(consolecb, meter, removeOld, wait) File "/usr/lib/python2.4/site-packages/virtinst/Guest.py", line 758, in _do_install self.domain = self.conn.createLinux(install_xml, 0) File "/usr/lib/python2.4/site-packages/libvirt.py", line 974, in createLinux if ret is None:raise libvirtError('virDomainCreateLinux() failed', conn=self) libvirtError: internal error Domain ad didn't show up
I don't know how to resolve this error.
Thank you for your advice.
What is the output in /var/log/libvirt/qemu/$vmname.log ?
The output in /var/log/libvirt/qemu/vm10.log is :
LC_ALL=C PATH=/sbin:/usr/sbin:/bin:/usr/bin HOME=/ /usr/bin/kvm -S -M ia64 -m 512 -smp 1 -name vm10 -uuid 8adb1d1d-147f-710a-6d13-c71ba185f811 -monitor pty -pidfile /var/run/libvirt/qemu//vm10.pid -no-reboot -boot d -drive file=/var/lib/libvirt/images/vm10.img,if=ide,index=0,format=raw -drive file=/var/lib/libvirt/images/rhel-server-5.4-ia64-disc1.iso,if=ide,media=cdrom,index=2,format=raw -net nic,macaddr=52:54:00:59:bb:26,vlan=0 -net tap,fd=16,script=,vlan=0,ifname=vnet0 -serial pty -parallel none -usb -vnc 127.0.0.1:0 -k en-us Supported machines are: itanium Itanium Platform (default)
-dustin
Hmm, not sure why libvirt is passing '-M ia64' when the kvm binary only expects '-M itanium'. Can you attach the diff you applied to the code? Make sure you are building the latest code (either from tar.gz or git checkout). What's the output of 'kvm -M ?' and 'qemu-system-ia64 -M ?' - Cole

Date: Wed, 6 Jan 2010 10:09:55 -0500 From: crobinso@redhat.com To: x_k_123@hotmail.com CC: berrange@redhat.com; libvirt-list@redhat.com Subject: Re: [libvirt] [virt-tools-list] Questions about virt-manager running on Arch of Itanium 64
On 01/04/2010 08:27 PM, Dustin Xiong wrote:
Date: Mon, 4 Jan 2010 11:46:06 -0500 From: crobinso@redhat.com To: x_k_123@hotmail.com CC: berrange@redhat.com; libvirt-list@redhat.com Subject: Re: [libvirt] [virt-tools-list] Questions about virt-manager running on Arch of Itanium 64
On 12/25/2009 03:48 AM, Dustin Xiong wrote:
If i want to update qemu_conf.c to handle ia64 , which files or datastruct needs to update ? Only the qemu_conf.c ?
If you search for the table
static const struct qemu_arch_info const arch_info_hvm[] = {
It is probably (hopefully?) sufficient to just add
{ "ia64", 64, NULL, "/usr/bin/qemu-system-ia64", NULL, NULL, 0 },
The key test is that when you later run
virsh capabilities
it should show the /usr/bin/qemu-system-ia64 binary, and also report that KVM is present.
I have a feeling you might also need to add code to the src/nodeinfo.c file, since I think that /proc/cpuinfo on ia64 is in a different format to that on x86_64. ie, change the linuxNodeInfoCPUPopulate() method so it can also parse the ia64 format. This is used by the command
virsh nodeinfo
So once 'capabilities' and 'nodeinfo' are working on ia64, then it should be possible to use virt-manager properly
I modify the src, and build it to rpm. The libvirt could work.
And as you said, i add ia64 info into the qemu_conf.c. The result as below:
[root@kvm bin]# virsh capabilities <capabilities>
<host> <cpu> <arch>ia64</arch> </cpu> <topology> <cells num='1'> <cell id='0'> <cpus num='16'> <cpu id='0'/> <cpu id='1'/> <cpu id='2'/> <cpu id='3'/> <cpu id='4'/> <cpu id='5'/> <cpu id='6'/> <cpu id='7'/> <cpu id='8'/> <cpu id='9'/> <cpu id='10'/> <cpu id='11'/> <cpu id='12'/> <cpu id='13'/> <cpu id='14'/> <cpu id='15'/> </cpus> </cell> </cells> </topology> </host>
<guest> <os_type>hvm</os_type> <arch name='ia64'> <wordsize>64</wordsize> <emulator>/usr/bin/qemu-system-ia64</emulator> <machine>ia64</machine> <machine>xenner</machine> <domain type='qemu'> </domain> <domain type='kvm'> <emulator>/usr/bin/kvm</emulator> </domain> </arch> <features> <acpi default='on' toggle='yes'/> <apic default='on' toggle='no'/> </features> </guest>
</capabilities>
[root@kvm bin]# virsh nodeinfo CPU model: ia64 CPU(s): 16 CPU frequency: 1330 MHz CPU socket(s): 16 Core(s) per socket: 1 Thread(s) per core: 1 NUMA cell(s): 1 Memory size: 8252480 kB
But the virt-manager still can't work. When i create a new vm.
The error as below:
Unable to complete install 'libvirt.libvirtError internal error Domain ad didn't show up
Traceback (most recent call last): File "/usr/share/virt-manager/virtManager/create.py", line 718, in do_install dom = guest.start_install(False, meter = meter) File "/usr/lib/python2.4/site-packages/virtinst/Guest.py", line 660, in start_install return self._do_install(consolecb, meter, removeOld, wait) File "/usr/lib/python2.4/site-packages/virtinst/Guest.py", line 758, in _do_install self.domain = self.conn.createLinux(install_xml, 0) File "/usr/lib/python2.4/site-packages/libvirt.py", line 974, in createLinux if ret is None:raise libvirtError('virDomainCreateLinux() failed', conn=self) libvirtError: internal error Domain ad didn't show up
I don't know how to resolve this error.
Thank you for your advice.
What is the output in /var/log/libvirt/qemu/$vmname.log ?
The output in /var/log/libvirt/qemu/vm10.log is :
LC_ALL=C PATH=/sbin:/usr/sbin:/bin:/usr/bin HOME=/ /usr/bin/kvm -S -M ia64 -m 512 -smp 1 -name vm10 -uuid 8adb1d1d-147f-710a-6d13-c71ba185f811 -monitor pty -pidfile /var/run/libvirt/qemu//vm10.pid -no-reboot -boot d -drive file=/var/lib/libvirt/images/vm10.img,if=ide,index=0,format=raw -drive file=/var/lib/libvirt/images/rhel-server-5.4-ia64-disc1.iso,if=ide,media=cdrom,index=2,format=raw -net nic,macaddr=52:54:00:59:bb:26,vlan=0 -net tap,fd=16,script=,vlan=0,ifname=vnet0 -serial pty -parallel none -usb -vnc 127.0.0.1:0 -k en-us Supported machines are: itanium Itanium Platform (default)
-dustin
Hmm, not sure why libvirt is passing '-M ia64' when the kvm binary only expects '-M itanium'. Can you attach the diff you applied to the code? Make sure you are building the latest code (either from tar.gz or git checkout).
What's the output of 'kvm -M ?' and 'qemu-system-ia64 -M ?'
- Cole
I sloved the problem. I modify the libvirt /src/qemu_conf.c. Add the arch ia64 into the static const struct qemu_arch_info const arch_info_hvm[] = {} as berrange said. So the libvirt passing -M ia64. But the kvm binary only experts '-M itanium'. So i replaced the ia64 by itanium in the file /src/qemu_conf.c. Then the virt-manager finally could work on the arch of Itanium. Thank you for your help. Thank you, everyone here. -Dustin _________________________________________________________________ Keep your friends updated―even when you’re not signed in. http://www.microsoft.com/middleeast/windows/windowslive/see-it-in-action/soc...

On 01/07/2010 01:03 AM, Dustin Xiong wrote:
I sloved the problem. I modify the libvirt /src/qemu_conf.c. Add the arch ia64 into the
static const struct qemu_arch_info const arch_info_hvm[] = {} as berrange said. So the libvirt passing -M ia64.
But the kvm binary only experts '-M itanium'.
So i replaced the ia64 by itanium in the file /src/qemu_conf.c.
Then the virt-manager finally could work on the arch of Itanium.
Thank you for your help.
Thank you, everyone here.
-Dustin
Can you provide a diff of your changes so we can apply it to upstream libvirt code? Thanks, Cole

Date: Thu, 7 Jan 2010 09:15:32 -0500 From: crobinso@redhat.com To: x_k_123@hotmail.com CC: berrange@redhat.com; libvirt-list@redhat.com Subject: Re: [libvirt] [virt-tools-list] Questions about virt-manager running on Arch of Itanium 64
On 01/07/2010 01:03 AM, Dustin Xiong wrote:
I sloved the problem. I modify the libvirt /src/qemu_conf.c. Add the arch ia64 into the
static const struct qemu_arch_info const arch_info_hvm[] = {} as berrange said. So the libvirt passing -M ia64.
But the kvm binary only experts '-M itanium'.
So i replaced the ia64 by itanium in the file /src/qemu_conf.c.
Then the virt-manager finally could work on the arch of Itanium.
Thank you for your help.
Thank you, everyone here.
-Dustin
Can you provide a diff of your changes so we can apply it to upstream libvirt code?
Thanks, Cole
OK. But there is a problem. I modify the libvirt-0.6.3-20.el5.ia64.src.rpm(from the rhel-server-5.4-ia64-source.iso). The libvirt could work.But when i download the libvirt-0.6.3-20.tar.gz, then ./configure, make, make install. The libvirt couldn't work. The error as below: [root@kvm bin]# ./virsh error: unable to connect to '/usr/local/libvirt/var/run/libvirt/libvirt-sock': No such file or directory error: failed to connect to the hypervisor Then I download the lastest libvirt-0.7.5, make it. The error still remains. So if you need I provide a diff of my changes about the libvirt-0.6.3-20.el5.ia64.src.rpm, I am pleasure to do this. -Dustin _________________________________________________________________ Windows Live: Keep your friends up to date with what you do online. http://www.microsoft.com/middleeast/windows/windowslive/see-it-in-action/soc...

On 01/07/2010 11:53 PM, Dustin Xiong wrote:
Date: Thu, 7 Jan 2010 09:15:32 -0500 From: crobinso@redhat.com To: x_k_123@hotmail.com CC: berrange@redhat.com; libvirt-list@redhat.com Subject: Re: [libvirt] [virt-tools-list] Questions about virt-manager running on Arch of Itanium 64
On 01/07/2010 01:03 AM, Dustin Xiong wrote:
I sloved the problem. I modify the libvirt /src/qemu_conf.c. Add the arch ia64 into the
static const struct qemu_arch_info const arch_info_hvm[] = {} as berrange said. So the libvirt passing -M ia64.
But the kvm binary only experts '-M itanium'.
So i replaced the ia64 by itanium in the file /src/qemu_conf.c.
Then the virt-manager finally could work on the arch of Itanium.
Thank you for your help.
Thank you, everyone here.
-Dustin
Can you provide a diff of your changes so we can apply it to upstream libvirt code?
Thanks, Cole
OK. But there is a problem. I modify the libvirt-0.6.3-20.el5.ia64.src.rpm(from the rhel-server-5.4-ia64-source.iso). The libvirt could work.But when i download the libvirt-0.6.3-20.tar.gz, then ./configure, make, make install. The libvirt couldn't work. The error as below: [root@kvm bin]# ./virsh error: unable to connect to '/usr/local/libvirt/var/run/libvirt/libvirt-sock': No such file or directory error: failed to connect to the hypervisor
Then I download the lastest libvirt-0.7.5, make it. The error still remains. So if you need I provide a diff of my changes about the libvirt-0.6.3-20.el5.ia64.src.rpm, I am pleasure to do this.
-Dustin
Building an RPM knows the correct location to put all the files, but a default upstream build will put them into /usr/local which can cause some problems. Your original diff should be fine, I'll fix it up to apply against current upstream. - Cole

diff -rup a/libvirt-0.6.3/src/qemu_conf.c b/libvirt-0.6.3/src/qemu_conf.c --- a/libvirt-0.6.3/src/qemu_conf.c 2010-01-11 09:15:45.000000000 +0800 +++ b/libvirt-0.6.3/src/qemu_conf.c 2010-01-11 09:14:34.000000000 +0800 @@ -195,6 +195,10 @@ static const char *const arch_info_hvm_p "g3bw", "mac99", "prep" }; +static const char *const arch_info_hvm_itanium_machines[] = { + "itanium" +}; + static const char *const arch_info_xen_x86_machines[] = { "xenner" }; @@ -229,6 +233,12 @@ static const struct qemu_feature_flags c { "apic", 1, 0 }, }; +static const struct qemu_feature_flags const arch_info_itanium_flags [] = { + { "acpi", 1, 1 }, + { "apic", 1, 0 }, +}; + + /* The archicture tables for supported QEMU archs */ static const struct qemu_arch_info const arch_info_hvm[] = { { "i686", 32, arch_info_hvm_x86_machines, 2, @@ -243,6 +253,8 @@ static const struct qemu_arch_info const "/usr/bin/qemu-system-sparc", NULL, NULL, 0 }, { "ppc", 32, arch_info_hvm_ppc_machines, 3, "/usr/bin/qemu-system-ppc", NULL, NULL, 0 }, + { "itanium", 64, arch_info_hvm_itanium_machines, 2, + "/usr/bin/qemu-system-ia64", NULL, arch_info_itanium_flags, 2 }, }; _________________________________________________________________ Windows Live: Friends get your Flickr, Yelp, and Digg updates when they e-mail you. http://www.microsoft.com/middleeast/windows/windowslive/see-it-in-action/soc...

On 11/23/2009 01:43 AM, Dustin Xiong wrote:
Date: Fri, 20 Nov 2009 08:14:09 -0500, cole wrote:
cc-ing libvirt-list
On 11/19/2009 10:35 PM, Dustin Xiong wrote:
Hi everyone! I am a newer to the virt-manager and maillist. I sent the mail
just want
to ask some questions about virt-manager running on Arch of Itanium 64. My itanium 64 cpu actualy support the VT. I compiled the kvm85 successful. Then I can use the binary /usr/local/bin/qemu-system-ia64 to create a vm and running. But in my /proc/cpuinfo , there doesn't have flags such as vmx or svm. So when I use the virt-manager to install a vm, the virt-manager will tell me my cpu doesn't support fully virtualization, then I can't install vm. In fact I can't get understand how the virt-manager find m! y cpu support the fully virtualization or not.In src, which file implements this.
Just because qemu-kvm works doesn't mean virt is working on your box, since it can fall back to full emulation mode. If you are trying to use kvm, is the kvm module actually loaded? lsmod | grep kvm
My kvm mod actually loaded.
[root@kvm bin]# lsmod | grep kvm
kvm_intel 306104 4294967281
kvm 327544 1 kvm_intel
[root@kvm bin]# modinfo kvm
filename: /lib/modules/2.6.28.9hzp/extra/kvm.ko
license: GPL
author: Qumranet
version: kvm-85
src! version: C399DD2D9B40BAAC05CD509
! ; depend s:
vermagic: 2.6.28.9hzp SMP mod_unload modversions ia64gcc-4.1
If so, libvirt may need to be fixed. What's the output of 'virsh --connect qemu:///system capabilities'
[root@kvm bin]# virsh --connect qemu:///system capabilities <capabilities>
<host> <cpu> <arch>ia64</arch> </cpu> <topology> <cells num='1'> <cell id='0'> <cpus num='16'> <cpu id='0'/> <cpu id='1'/> <cpu id='2'/> <cpu id='3'/> <cpu id='4'/> <cpu id='5'/> <c! pu id='6'/> <cpu id='7'/> <cpu id='8'/> <cpu id='9'/> <cpu id='10'/> <cpu id='11'/> <cpu id='12'/> <cpu id='13'/> <cpu id='14'/> <cpu id='15'/> </cpus> </cell> </cells> </topology> </host>
My cpu is itanium 64, the OS is RHEL.The libvirt is 0.6.3, virt-manager is 0.6.1.
Ah, are you using the version of libvirt that comes with RHEL 5.4? That version has been patched to only look for the qemu-kvm binary in one spot: /usr/libexec/qemu-kvm IIRC. You could try to work with that! , but since you are already building upstream KVM, vir! t-manage r, and virtinst, might not be a bad idea to pull upstream libvirt as well.
yes, my libvirt rpm and other related rpms all came from the RHEL 5.4 iso. And they all build for itanium 64 # rpm -qa | grep libvirt libvirt-python-0.6.3-20.el5 libvirt-devel-0.6.3-20.el5 libvirt-0.6.3-20.el5
And i try to make a link, it still doesn't work. ln -s /usr/local/bin/qemu-system-ia64 /usr/libexec/qemu-system-ia64
Once i tried to compile the virt-manager-0.8.0, but when i make check, it returns:
PYTHONPATH=./..:../graphWidgets/.libs python addhardware.py && touch .tstamp.addhardware.py Traceback (mos! t recent call last): File "addhardware.py", line 32, in ? from virtinst import VirtualCharDevice, VirtualDevice, VirtualVideoDevice &g! t;>> when i rpm -ivh virt-manager-0.6.1-8.el5.ia64.rpm, it could work.
I don't know why this error occur. Can anyone be kind to tell me how? thanks a lot.
You will also need to install the latest version of virtinst, found at:
I downloaded and compiled the latest version of virtinst: virtinst-0.500.0.tar.gz. then compile the virt-manager-0.8.0, error changed as below:
[root@kvm virt-manager-0.8.0]# make check Making check in src make[1]: Entering directory `/home/dustin/virt-manager/virt-manager-0.8.0/src' Making check in virtManager make[2]: Entering directory `/home/dustin/virt-manager/virt-manager-0.8.0/src/virtManager' make ch! eck-local make[3]: Entering directory `/home/dust! in/virt- manager/virt-manager-0.8.0/src/virtManager' PYTHONPATH=./..:../graphWidgets/.libs python about.py && touch .tstamp.about.py PYTHONPATH=./..:../graphWidgets/.libs python addhardware.py && touch .tstamp.addhardware.py Traceback (most recent call last): File "addhardware.py", line 35, in ? from virtManager.asyncjob import vmmAsyncJob File "/home/dustin/virt-manager/virt-manager-0.8.0/src/virtManager/asyncjob.py", line 30, in ? class vmmAsyncJob(gobject.GObject): File "/home/dustin/virt-manager/virt-manager-0.8.0/src/virtManager/asyncjob.py", line 40, in vmmAsyncJob def __init__(self, config, callback, args=None, NameError: name '_' is not defined
Thanks for help.If you need any further infos please dont't hesitate to tell me.
Ah, didn't notice the make check! in the first mail. 'make check' doesn't work in the virt-manager code base, never taken the time to fix it. You should just be able to 'make && make install', or 'make' and python src/virt-manager.py to run from the source dir. If running virt-manager then throws an error, report here and Ill try to help.
After make install, when i run virt-manager, the error is:
starting the virt-manager error: 'gtk.TreeView' object has no attribute 'set_level_indentation'
Details: raceback (most recent call last): File "/usr/local/share/virt-manager/virt-manager.py", line 377, in ? main() File "/usr/local/share/virt-manager/virt-manager.py", line 364, in main options.no_conn_auto) File "/usr/local/share/virt-manager/virt-manager.py", line 237, in show_engine engine.show_manager() File "/usr/local/share/virt-man! ager/virtManager/engine.py", line 365, in show_manager &nbs! p; self.get_manager().show() File "/usr/local/share/virt-manager/virtManager/engine.py", line 342, in get_manager self.windowManager = vmmManager(self.get_config(), self) File "/usr/local/share/virt-manager/virtManager/manager.py", line 167, in __init__ self.prepare_vmlist() File "/usr/local/share/virt-manager/virtManager/manager.py", line 826, in prepare_vmlist vmlist.set_level_indentation(-15) AttributeError: 'gtk.TreeView' object has no attribute 'set_level_indentation'
thanks a lot
- dustin
I recently tested upstream virt-manager on older RHEL 5.3 and fixed several back compat issues, including the one above. I'd recommend giving virt-manager 0.8.1 a shot, and report back here if you still hit virt-manager errors. Thanks, Cole
participants (3)
-
Cole Robinson
-
Daniel P. Berrange
-
Dustin Xiong