[one-users] Pointers to my GSOC code

William Voorsluys williamvoor at gmail.com
Tue Sep 2 18:30:19 PDT 2008

Hello Alvaro,

I'm forwarding this thread to ONE users as well.

More comments inline.

2008/9/2 Alvaro Canales <accleo at gmail.com>:
> Hello William!
> On Tue, Sep 2, 2008 at 2:29 AM, William Voorsluys <williamvoor at gmail.com>
> wrote:
>> Hello,
>> 2008/9/1 Alvaro Canales <accleo at gmail.com>:
>> > Hi William,
>> >
>> > Thank you for your assistance :)
>> > I have one doubt, though. In the mail, you make reference to a
>> > ws-one-sample-config.tar.gz file, but I don't really know where to find
>> > it...
>> > Where is it? And the hellonebula.xml file, is the "myfirst.template"
>> > file
>> > from OpenNEbula or a current VWs metadata file? I neither know where to
>> > find
>> > it...
>> Files are attached!
> I'm glad your hellonebula.xml file is a Globus Workspace file, it's the same
> aproach I use! :)
> May I ask you how do you supply the parameters that are in a ONE template
> file but not in a  VWS (mac address, kernel, CPU usage...)? Do you infere
> them? Or get it from defaults, like in the kernel case?

In my code, if you look at the OpenNebulaBindingAdapter class, you can
see how everything is done. MAC address are obtained through a Network
Adapter (which manages network associations).
Kernel is ignored. I assumed end-users would not be aware of which
kernels are installed on ONE clusters. Thus, a default kernel must be
specified on the backend side.
CPU percentage is supported on WS metadata. If not specified I assume
a default value of 1.

>> > By the way, in my solution, I only adapt Globus Workpaces frontend, but
>> > not
>> > OpenNEbula; but the file you attached me, is a modified version of ONE
>> > made
>> > by you, is it? What's the nature of those changes?
>> > Thank you!
>> I created a method to return ids of all hosts. This is related to the
>> ticket http://trac.opennebula.org/ticket/33
>> The workspace service needs to know how many hosts are available and
>> the configuration of each host. This is required for scheduling
>> purposes.
>> As far as I can see, in your approach, as well as in the previous
>> integration approach done the ONE team, the WS sees a ONE managed
>> clusters as a single machine with N processors and a, say, 20GB of
>> memory. So, if a user submits a request for a 10GB machine, WS would
>> forward the request to ONE, which, in turn, would never schedule such
>> request. I implemented a new Slot Management that mitigates this
>> issue.
> Yes, you're right. My approach doesn't cope with that... But it's not
> something I'm specially worried about it...
> By the way, I have one last question (thank you, in any case, for your
> attention and help provided!) :)
> What do you do to get the ID of the new submitted VM? I mean, you have to
> apply onevm suspend, resume... etc. to a hostID returned when you allocate a
> VM... the thing is, where do you store this returned ID? In the Workspace
> attribute "workspaceID"? I don't know exactly at what point of the Globus
> Workspaces code (not even in which file :( ) may I do it... Probably when I
> get the ID returned. But I'm not sure how to store it (I have not even seen
> a setID method...)... any clue?

Since I'm using the XML-RPC API, a VM id is, in fact, the return value
of method one.vmallocate. This value is then kept in the
org.globus.workspace.opennebula.OpenNebulaVirtualMachine, which
extends VirtualMachine, which instance, in turn, is a field of

> Thank you for your time and help!!
> Best regards,

No worries,



More information about the Users mailing list