[occi-wg] Another proposal on Linking

Ralf Nyren ralf at nyren.net
Tue Aug 17 10:27:21 CDT 2010


>>> resource::compute -> link -> resource::disk -> link ->  
>>> resource::clusterfs
>>>
>> Could a resource::disk exist on its own now, i.e. without reference to  
>> both compute and storage?
>
> Well, that pretty much depends on the semantics of the resource::disk  
> usage which, by definition, is domain-specific.

Of course but my point is that it is not possible for the IMF to enforce a  
policy which says "resource:disk cannot exist on its own". That is simply  
not possibly due to the nature of a resource. As such it is not possible  
to express a many-to-many relation with relation attributes, not when the  
entities are required. I think this is a limitation which should not be  
overlooked.

>> You could also have the scenario where two resource::compute link to  
>> the same resource::disk. This sort of defies the purpose of the  
>> resource::disk in the first place.
>
> No, actually I disagree regarding this point. On the contrary, resources  
> can be (but not necessary are) shared by definition of the model, and so  
> can resource::disk. Only Links are private (non-shared). Whether this  
> makes sense from a domain-specific view is of course another story, but  
> as said, I was focusing on keeping the model clean, and not rendering  
> things towards being convenient for your use case ;-)

Yes, thanks for keeping things clean. But again, what I am trying to say  
is that there is a certain type of use cases which cannot be expressed by  
the model.

>> Not to mention that you would have to issue 3 POST request for each  
>> storage you want to hook up to the compute.
>
> Actually, I haven't ever seen this use case coming up. Until now, people  
> wanted compute resources, storage resources (e.g. CDMI), and a link  
> between them.

Well, I am sure there are enough real world use cases to justify the need  
for relation attributes. If you would like an example have a look at  
ElasticHosts [1] and see how they allow their users to assign disks and  
VLANs.

For wide adoption of OCCI I believe well defined extensibility is very  
important.

> You are right that, if you have a complex IaaS model and map this to  
> thin links, you end up with lots of resources. On the other hand, you  
> could always define an OCCI action, which collates together the complete  
> linking process (i.e. provide a single operation for setting up a more  
> or less complex relationship of OCCI resources).

Good point about actions although you would still need 2 GET requests to  
find out which Storage Resource the Compute Links to. The target attribute  
of the first Link will point to resource:disk...

>>> From my point of view, especially for the VM use case, you have VMs  
>>> and some kind of virtual storage, which is attached to it. This  
>>> virtual storage may or may not be shared and, if necessary, can again  
>>> rely upon other (physical or virtual) storage. There will be a layer  
>>> of "virtual storage" anyway, since even if you attach physical storage  
>>> directly to a VM, the representation of it within the VM is still a  
>>> virtual disk.
>>
>> Indeed but the virtual drive in this case should be unique to the VM.  
>> Little point in having a bunch of virtual drives with different  
>> pre-defined attachment points (SCSI/IDE/whatever) lying around.
>
> Agreed.

Good, but how to accomplish this? In order to create the Links you have to  
create resource:disk first, and if you are allowed to do that you end up  
with precisely those virtual drives lying around. Ok, you might say  
actions here but then you all of a sudden have a resource type which is  
not allowed to be created, weird.

>> With Fat Links you can still add whatever additional virtual layer you  
>> need by creating new resources. The important part is that you do not  
>> have to model things as a resource when the life cycle properties do  
>> not match those of a full-blown resource.
>
> Yes, but again: resources and links get somewhat blended, and the core  
> model FUBARs. Maybe we should work out the differences of Resource and  
> Link wrt. core, and adjust the model there so to cater your needs *and*  
> keep it clean... Any suggestions?

Yes, I will update the Link page shortly.

>> I do appreciate your description and explanation of the Thin Link  
>> approach though. My goal is to have as many of the pros and cons of the  
>> different approaches spelled out so we perhaps could reach a decision  
>> tomorrow ;)
>
> Sure. That's the entire point of the list, isn't it? Plus, I like good  
> discussion :-)

Indeed, me too. Just trying to be polite =)

regards, Ralf

[1] http://www.elastichosts.com/cloud-hosting/api



More information about the occi-wg mailing list