OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

tosca message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: [OASIS Issue Tracker] (TOSCA-201) Harmonize Properties and Capabilities in Node Types


    [ https://issues.oasis-open.org/browse/TOSCA-201?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=50340#comment-50340 ] 

Luc Boutier commented on TOSCA-201:
-----------------------------------

First thing is that somehow a node type express itself as a capability. This is why we have an ability to specify a node type as valid_target for a relationship (and not just capability types).

That said I think there is a valid question on whenever I should create a dedicated capability or just use the global property of a node.
I think that people should create a separated capability when it can be used by multiple nodes and not just only one, or when it makes things more readable or easy to understand (yes there is place for interpretation and subjectivity...).

For example if we take the Compute example we have first designed the component has having 'os' infos and 'compute' infos as properties on the node (which I think make sense and is more easy to read maybe) and then choice has been made to put it in a separated capability, which may make sense also in an certain way.
For me however the requirement for any software is expressed as both os requirement and compute requirement (every property being eventually optional) which means that I would not separate OS from compute as a separated capability...

I don't remember why this has been changed... Anyway modeling things is never that simple.

That said and to answer to your initial question, I think properties are very useful as for many types it just makes it simpler to write a new Type rather than having to write a specific capability in addition to the node type we want to write (indeed if we decide to remove properties I would have for a compute node type to create a compute capability with the properties that where on the compute node type moved there and then reference the compute capability on the compute node type. That's possible but makes it harder to write).
So even if the Compute example is not the best (because OS moved to a capability), I think properties makes it much simpler to write for most of the situations.

Not sure I'm very clear but HTH :)

> Harmonize Properties and Capabilities in Node Types
> ---------------------------------------------------
>
>                 Key: TOSCA-201
>                 URL: https://issues.oasis-open.org/browse/TOSCA-201
>             Project: OASIS Topology and Orchestration Specification for Cloud Applications (TOSCA) TC
>          Issue Type: Improvement
>          Components: Profile-YAML
>            Reporter: Chris Lauwers
>            Priority: Minor
>
> It appears that both Properties and Capabilities are used to map Node Types to requirements without any clear distinction between the two mechanisms. Or, said a different way, both Properties and Capabilities are used to express the capabilities of node types. We should simplify things by harmonizing these two approaches and settle on one single way to express capabilities (e.g. by doing away with Properties on Node Types and only using Capabilities). 



--
This message was sent by Atlassian JIRA
(v6.2.2#6258)


[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]