[one-users] Libvirt ruby binding integration

Javier Fontan jfontan at fdi.ucm.es
Mon Jan 12 07:32:43 PST 2009


Hi,

The changes you propose needs a new development that we have in mind  
for a future release. KVM driver (the one that uses libvirt) does not  
have the notion of threads (this is one of the changes needed) and the  
information driver also needs to be modified to be able to execute  
monitorization duties locally (so you can call libvirt functions  
without making an ssh connection). At this very moment we are in the  
middle of finishing 1.2 release and also working to meet Reservoir  
project deadlines, this situation leaves us without much time. If you  
want to create new drivers meanwhile we and help you giving you  
information and helping with issues you my find. I think you can try  
adding libvirt-ruby calls instead of virsh calls and after everything  
is working wrap each call into a thread to make it more scalable. IM  
mad will be trickier but that will be only used to get information  
about the physical nodes, VM information is gathered by VMM.

Bye



On Jan 8, 2009, at 7:58 PM, Marco Sinhoreli wrote:

> Hi Javier,
>
> I think, to abstract the information about the hosts and virtual
> machines, to use a ruby binding libvirt[1] and to connect with remote
> hosts, instead of use ssh to remote connections, use the libvirt
> feature to remote connections [2] [3].
>
> I can help with something. I'm interested in a high performance
> orchestration system, and the opennebula, initially seems be the best.
> I think to use one with more than thousand physical servers executing
> different services.
>
>
> [1] http://libvirt.org/ruby/
> [2] http://libvirt.org/remote.html
> [3] http://libvirt.org/uri.html
>
>
> Regards,
>
> On Thu, Jan 8, 2009 at 1:22 PM, Javier Fontan <jfontan at fdi.ucm.es>  
> wrote:
>>
>> Hello Marco,
>>
>> Your proposal is interesting and we are thinking in doing that for  
>> the next
>> release. It will probably be a generic libvirt driver configurable  
>> to use
>> various protocols and hypervisors. Until we do this you can modify  
>> the
>> driver to do what you want. In this method
>> (http://trac.opennebula.org/browser/one/branches/one-1.2/src/vmm_mad/kvm/one_vmm_kvm.rb#L158 
>> )
>> is the code that calls virsh to perform actions:
>>
>> --8<------
>>   def exec_kvm_command(host, command)
>>       Open3.popen3(
>>           "ssh -n #{host} virsh #{command} ;"+
>>           " echo ExitCode: $? 1>&2")
>>   end
>> ------>8--
>>
>> I think you can change it to something similar to:
>>
>> --8<------
>>   def exec_kvm_command(host, command)
>>       Open3.popen3(
>>           "virsh -c qemu://#{host}/ #{command} ;"+
>>           " echo ExitCode: $? 1>&2")
>>   end
>> ------>8--
>>
>> I have not tried this change but it can not be very different to  
>> that.
>>
>> Bye
>>
>>
>> On Jan 7, 2009, at 10:03 PM, Marco Sinhoreli wrote:
>>
>>> Hi all,
>>>
>>> I'm  new in list and as opennebula user. I'm studying a system to
>>> orchestrate our infrastructure and I found the opennebula on Xen.org
>>> site. Reading the opennebula documentation, I look that is  
>>> possible to
>>> use libvirt to interact with one system. Well, I have a doubt: Is
>>> possible too to use the libvirt to remote connection with the  
>>> libvirtd
>>> located on dom0 instead of ssh? I thinks that, to scale for a lot of
>>> hypervisors, I could have problems with ssh because the system needs
>>> some levels and parsers for abstract informations about the virtuals
>>> environments.
>>>
>>> Best regards,
>>>
>>> --
>>> Marco Sinhoreli
>>> _______________________________________________
>>> Users mailing list
>>> Users at lists.opennebula.org
>>> http://lists.opennebula.org/listinfo.cgi/users-opennebula.org
>>
>> --
>> Javier Fontan, Grid & Virtualization Technology Engineer/Researcher
>> DSA Research Group: http://dsa-research.org
>> Globus GridWay Metascheduler: http://www.GridWay.org
>> OpenNebula Virtual Infrastructure Engine: http://www.OpenNebula.org
>>
>>
>
>
>
> -- 
> Marco Sinhoreli

-- 
Javier Fontan, Grid & Virtualization Technology Engineer/Researcher
DSA Research Group: http://dsa-research.org
Globus GridWay Metascheduler: http://www.GridWay.org
OpenNebula Virtual Infrastructure Engine: http://www.OpenNebula.org




More information about the Users mailing list