Re: [libvirt] [virt-tools-list] Questions about virt-manager running on Arch of Itanium 64
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.0 +0800 +++ b/libvirt-0.6.3/src/qemu_conf.c 2010-01-11 09:14:34.0 +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/social-network-basics.aspx?ocid=PID23461::T:WLMTAGL:ON:WL:en-xm:SI_SB_3:092010-- Libvir-list mailing list Libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list
Re: [libvirt] [virt-tools-list] Questions about virt-manager running on Arch of Itanium 64
On 01/07/2010 11:53 PM, Dustin Xiong wrote: Date: Thu, 7 Jan 2010 09:15:32 -0500 From: crobi...@redhat.com To: x_k_...@hotmail.com CC: berra...@redhat.com; libvirt-l...@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: [r...@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 -- Libvir-list mailing list Libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list
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 -- Libvir-list mailing list Libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list
Re: [libvirt] [virt-tools-list] Questions about virt-manager running on Arch of Itanium 64
Date: Thu, 7 Jan 2010 09:15:32 -0500 From: crobi...@redhat.com To: x_k_...@hotmail.com CC: berra...@redhat.com; libvirt-l...@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: [r...@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/social-network-basics.aspx?ocid=PID23461::T:WLMTAGL:ON:WL:en-xm:SI_SB_1:092010-- Libvir-list mailing list Libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list
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: crobi...@redhat.com To: x_k_...@hotmail.com CC: berra...@redhat.com; libvirt-l...@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: [r...@kvm bin]# virsh capabilities capabilities host cpu archia64/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_typehvm/os_type arch name='ia64' wordsize64/wordsize emulator/usr/bin/qemu-system-ia64/emulator machineia64/machine machinexenner/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 [r...@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: itaniumItanium 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 -- Libvir-list mailing list Libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list
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: [r...@kvm bin]# virsh capabilities capabilities host cpu archia64/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_typehvm/os_type arch name='ia64' wordsize64/wordsize emulator/usr/bin/qemu-system-ia64/emulator machineia64/machine machinexenner/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 [r...@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 -- Libvir-list mailing list Libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list
Re: [libvirt] [virt-tools-list] Questions about virt-manager running on Arch of Itanium 64
Date: Mon, 4 Jan 2010 11:46:06 -0500 From: crobi...@redhat.com To: x_k_...@hotmail.com CC: berra...@redhat.com; libvirt-l...@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: [r...@kvm bin]# virsh capabilities capabilities host cpu archia64/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_typehvm/os_type arch name='ia64' wordsize64/wordsize emulator/usr/bin/qemu-system-ia64/emulator machineia64/machine machinexenner/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 [r...@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: itaniumItanium 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/social-network-basics.aspx?ocid=PID23461::T:WLMTAGL:ON:WL:en-xm:SI_SB_3:092010-- Libvir-list mailing list Libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list
Re: [libvirt] [virt-tools-list] Questions about virt-manager running on Arch of Itanium 64
Date: Tue, 24 Nov 2009 10:33:48 + From: berra...@redhat.com To: x_k_...@hotmail.com CC: crobi...@redhat.com; libvirt-l...@redhat.com; virt-tools-l...@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 + From: berra...@redhat.com To: crobi...@redhat.com CC: x_k_...@hotmail.com; libvirt-l...@redhat.com; virt-tools-l...@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: [r...@kvm bin]# virsh capabilities capabilities host cpu archia64/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_typehvm/os_type arch name='ia64' wordsize64/wordsize emulator/usr/bin/qemu-system-ia64/emulator machineia64/machine machinexenner/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 [r...@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)