[occi-wg] Typed Link Kind
Peter Tröger
peter at troeger.eu
Mon Aug 3 08:08:50 EDT 2015
Dear all,
>> seen the unfinished DRMAA<->OCCI document and Peter is using complex
>> instance attributes, such as:
>>
>> < X-OCCI-Attribute: occi.drmaa2.drmsName="Platform LSF"
>> < X-OCCI-Attribute: occi.drmaa2.drmsVersion={"major":"42",
>> "minor":"0"}
>> < X-OCCI-Attribute: occi.drmaa2.drmaaName="Thijs’s OCCI-DRMAA
>> backend"
>> < X-OCCI-Attribute: occi.drmaa2.drmaaVersion={"major":"2",
>> "minor":"17“}
>>
>> Let's say we have two instance attributes with Hash values:
>>
>> occi.test.case.attr1 = { "subattr1": { "value1": "something_here" } }
>>
>> occi.test.case.attr1.subattr1 = { "value1" :
>> "something_different_here" }
>>
>
> From to the discussion in January 2014 (still), we agreed this was not
> an issue until attribute values are all scalar (string, number,
> boolean).
Agreed, but flattening the DRMAA data structures into single OCCI attributes is not the right way. Sometimes you need „snapshot“ semantics for sets of values.
> Some thoughts:
> 1/ DRMAA spec is incorrect wrt actuel OCCI specifications
The draft (!) is 3 years old, so this is not surprising. Please, send me some more details about what is wrong with the current mapping approach. I still get requests for making it a real specification, so the demand is there.
> 2/ do we want to allow complex attribute value types:
> Yes -> requires to explicit these types: dictionaries ? list ?
> tuples ? etc. ? and update all renderings in consequence
> No -> DRMAA spec remains incorrect, but how many future spec will be
> more complex because of that restriction...
>
> IMHO: whatever we decide to allow complex attributes in a future Core
> spec, JSON rendering should not be a limitation for that.
>
> -> I support your modification to JSON rendering.
As said above, our experience shows that you cannot get away with simple data types only. This is why the DRMAA root spec (language-agnostic, as OCCI core) relies on a struct type as smallest common denominator across multiple languages. They can be mapped to dictionaries (Python / Perl / Ruby), classes (C++, Java) or simple structs (C).
Best regards,
Peter.
More information about the occi-wg
mailing list