[occi-wg] HTTP rendering doc out of public comment

Ralf Nyren ralf at nyren.net
Wed Mar 30 07:55:10 CDT 2011


> @Ralf: Can you handle 4, 6?

np, will do.

> 6. For consistency OCCI Core attributes should be rendered with
"occi.core." prepended. For example 'summary' would be rendered as
'occi.core.summary'.

The attributes in question would be:

occi.core.title (defined by Entity)
occi.core.summary (defined by Resource)
occi.core.source (defined by Link)
occi.core.target (defined by Link)

Any attrib I missed?

Using occi.core. prefix for Link.source/target doesn't feel perfect but I
guess it could be okay.

> I'm not sure about the following:
> * Only show mutable attributes in the query interface

This I feel to be very important indeed. Without this change an OCCI
client _cannot_ use the query interface to determine the requirements for
a
successful POST request!

To understand the issue you must think from a OCCI client perspective. The
"attributes" listed for each Category is used by a client to determine
which attributes to submit when doing a POST of a new resource instance. A
well-behaved OCCI service impl will return a Bad Request error if a client
tries to change an immutable attribute. Therefore the "attributes" list
must only include mutable attributes.

Example:
- Client queries /-/ and finds the "compute" resource.
- The "attributes" parameter includes occi.compute.state,
occi.compute.speed, etc
- Client presents the attributes found for "compute" to (in this example)
an end-user
- The end-user sets desired values for all attributes and asks the OCCI
client to create a new compute resource instance.
- The dutiful OCCI client then sends occi.compute.state in the POST
request to the OCCI service implementation.
- Since occi.compute.state is immutable the well-behaved OCCI service will
return a Bad Request.
- The spec does not define how to interpret the cause of a particular Bad
Request error so now the OCCI client doesn't know why the POST request
failed.

The best solution would be to somehow include the mutability of all
attributes in the query interface. The quick and dirty solution is to only
include mutable attributes in the query interface.

regards, Ralf




More information about the occi-wg mailing list