[libvirt] [PATCH] Power Hypervisor support

Hello everyone, This should be the official patch for the libvrt-0.7.0 release. Here I'll comment all the features already implemented and the roadmap we have ahead: Features supported: * Connects to HMC/VIOS or IVM systems. * Life cycle commands (resume and shutdown). * dumpxml * 'list' and 'list --all' What is being implemented: * better and centralized control for UUID * definexml * CPU management commands Any comment are always welcome. []'s -- Eduardo Otubo Software Engineer Linux Technology Center IBM Systems & Technology Group Mobile: +55 19 8135 0885 otubo@linux.vnet.ibm.com

On Wed, Jul 22, 2009 at 04:01:47PM -0300, Eduardo Otubo wrote:
Hello everyone,
This should be the official patch for the libvrt-0.7.0 release. Here I'll comment all the features already implemented and the roadmap we have ahead:
Features supported: * Connects to HMC/VIOS or IVM systems. * Life cycle commands (resume and shutdown). * dumpxml * 'list' and 'list --all'
What is being implemented: * better and centralized control for UUID * definexml * CPU management commands
Any comment are always welcome.
I think it is worth merging this patch now. While there's still more changes I'd like to see in the code, it'll be easier to address them once merged - keeping it out of tree for longer is counterproductive. BTW, if you could provide a short introduction outlining any important points for the Phyp driver that'd be great. Driver docs under under the directory docs/drvXXXXX.html.in - the .html is generated from the .html.in file. Just create a new docs/drvphyp.html.in, and list it in the sitemap.html.in file Regards, 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 :|

On Thu, 2009-07-23 at 21:52 +0100, Daniel P. Berrange wrote:
On Wed, Jul 22, 2009 at 04:01:47PM -0300, Eduardo Otubo wrote:
Hello everyone,
This should be the official patch for the libvrt-0.7.0 release. Here I'll comment all the features already implemented and the roadmap we have ahead:
Features supported: * Connects to HMC/VIOS or IVM systems. * Life cycle commands (resume and shutdown). * dumpxml * 'list' and 'list --all'
What is being implemented: * better and centralized control for UUID * definexml * CPU management commands
Any comment are always welcome.
I think it is worth merging this patch now. While there's still more changes I'd like to see in the code, it'll be easier to address them once merged - keeping it out of tree for longer is counterproductive.
Yes, I agree with that.
BTW, if you could provide a short introduction outlining any important points for the Phyp driver that'd be great. Driver docs under under the directory docs/drvXXXXX.html.in - the .html is generated from the .html.in file. Just create a new docs/drvphyp.html.in, and list it in the sitemap.html.in file
Sure, I'll write some lines about how it works and so on. It should be for this release or in some future patch would be ok also? []'s -- Eduardo Otubo Software Engineer Linux Technology Center IBM Systems & Technology Group Mobile: +55 19 8135 0885 otubo@linux.vnet.ibm.com

On Fri, Jul 24, 2009 at 07:52:53PM -0300, Eduardo Otubo wrote:
On Thu, 2009-07-23 at 21:52 +0100, Daniel P. Berrange wrote:
BTW, if you could provide a short introduction outlining any important points for the Phyp driver that'd be great. Driver docs under under the directory docs/drvXXXXX.html.in - the .html is generated from the .html.in file. Just create a new docs/drvphyp.html.in, and list it in the sitemap.html.in file
Sure, I'll write some lines about how it works and so on. It should be for this release or in some future patch would be ok also?
Whenever you can get it done - the website is autogenerated from GIT repo, so the moment we commit the patch, it will appear on the website docs. Don't need to especially tie it to the release Regards, 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 :|

On Wed, Jul 22, 2009 at 04:01:47PM -0300, Eduardo Otubo wrote:
Hello everyone,
This should be the official patch for the libvrt-0.7.0 release. Here I'll comment all the features already implemented and the roadmap we have ahead:
Features supported: * Connects to HMC/VIOS or IVM systems. * Life cycle commands (resume and shutdown). * dumpxml * 'list' and 'list --all'
What is being implemented: * better and centralized control for UUID * definexml * CPU management commands
Okidoc, I have pushed them to git, congrats !
Any comment are always welcome. [...] +static char * +phypExec(SSH_SESSION * session, char *cmd, int *exit_status, + virConnectPtr conn) [...] + char *lpar_name = + phypExec(ssh_session, cmd, (int *) exit_status, conn);
obviously those (int *) exit_status had to be changed to &exit_status I cleaned this up before the commit :-) I also had to clean a few things because the merge conflicted with the ESX one from yesterday but nothing important. However I have a serioud beef with the choice of libssh. That had been examined when this was started but I still think the issue should be revisited: - ESX driver now depend on libcurl which depends on the concurrent library libssh2 - libssh seems in its infancy, right now the version in Fedora development is 0.2, upstream is 0.3.1 radical change of naming - the phyp driver fails to build against 0.2 version, as they changed API signatures :-( , it compile agaisnt 0.3.1 but it's not generally available. - the -devel rpm doesn't even export a .pc file to easilly test against a given version in configure - rebuilding the src.rpm from upstream results in a shared lib being installed in libssh3, and the header files being in libssh-devel, when one consider there is also libssh2 needed for the build this is getting very very confusing - I have a very hard time promoting the use of a library which does things like typedef struct string_struct STRING; typedef struct buffer_struct BUFFER; and typedef uint32_t u32; typedef uint16_t u16; steeping onto the global naming space and being garanteed to be a pain in the long run (or completely break its published API to fix it) So right now I had to disable compilation of phys in the rpm because of those issues especially the API breakage leading to compilation failure if the wrong libssh-devel version was installed and the impossibility to test this easilly in the configure.in I somehow remember you might be okay to switch to libssh2 if really needed, and considering the uglyness of libssh current state I guess the option should be at least seriously considered. Anyway, this should not completely ruin this happy day, it's in, and issues will be fixed incrementally :-) Daniel -- Daniel Veillard | libxml Gnome XML XSLT toolkit http://xmlsoft.org/ daniel@veillard.com | Rpmfind RPM search engine http://rpmfind.net/ http://veillard.com/ | virtualization library http://libvirt.org/

On Fri, 2009-07-24 at 16:42 +0200, Daniel Veillard wrote:
On Wed, Jul 22, 2009 at 04:01:47PM -0300, Eduardo Otubo wrote:
Hello everyone,
This should be the official patch for the libvrt-0.7.0 release. Here I'll comment all the features already implemented and the roadmap we have ahead:
Features supported: * Connects to HMC/VIOS or IVM systems. * Life cycle commands (resume and shutdown). * dumpxml * 'list' and 'list --all'
What is being implemented: * better and centralized control for UUID * definexml * CPU management commands
Okidoc, I have pushed them to git, congrats !
Thank you very much! :)
Any comment are always welcome. [...] +static char * +phypExec(SSH_SESSION * session, char *cmd, int *exit_status, + virConnectPtr conn) [...] + char *lpar_name = + phypExec(ssh_session, cmd, (int *) exit_status, conn);
obviously those (int *) exit_status had to be changed to &exit_status I cleaned this up before the commit :-)
I also had to clean a few things because the merge conflicted with the ESX one from yesterday but nothing important.
However I have a serioud beef with the choice of libssh. That had been examined when this was started but I still think the issue should be revisited:
- ESX driver now depend on libcurl which depends on the concurrent library libssh2 - libssh seems in its infancy, right now the version in Fedora development is 0.2, upstream is 0.3.1 radical change of naming - the phyp driver fails to build against 0.2 version, as they changed API signatures :-( , it compile agaisnt 0.3.1 but it's not generally available. - the -devel rpm doesn't even export a .pc file to easilly test against a given version in configure - rebuilding the src.rpm from upstream results in a shared lib being installed in libssh3, and the header files being in libssh-devel, when one consider there is also libssh2 needed for the build this is getting very very confusing - I have a very hard time promoting the use of a library which does things like typedef struct string_struct STRING; typedef struct buffer_struct BUFFER; and typedef uint32_t u32; typedef uint16_t u16; steeping onto the global naming space and being garanteed to be a pain in the long run (or completely break its published API to fix it)
So right now I had to disable compilation of phys in the rpm because of those issues especially the API breakage leading to compilation failure if the wrong libssh-devel version was installed and the impossibility to test this easilly in the configure.in
I somehow remember you might be okay to switch to libssh2 if really needed, and considering the uglyness of libssh current state I guess the option should be at least seriously considered.
Daniel, As we talked in the IRC, I'll start working on the migration to libssh2. I'll post my feedbacks as soon as I have some compilable code to show :) []'s -- Eduardo Otubo Software Engineer Linux Technology Center IBM Systems & Technology Group Mobile: +55 19 8135 0885 otubo@linux.vnet.ibm.com
participants (3)
-
Daniel P. Berrange
-
Daniel Veillard
-
Eduardo Otubo