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-190) Fix grammar for "Constraints" on a Target node of a requirement (Chapter 11)


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

Chris Lauwers commented on TOSCA-190:
-------------------------------------

It appears that the confusion here is caused by the use of the keyname "constraints". We're really not constraining the target node. Instead, what we're doing is specifying search criteria that allow us to find a target node based on its property values. These search criteria just happen to be expressed using the same syntax that is also used for specifying constraints in property definitions.

I believe this could be simplified by:

1. replacing the "constraints" keyname with "search_criteria" (or something similar that expresses the same intent).
2. using constraints syntax consistently, even for values that need to match exactly. 

This would turn the example above into the following:

mysql: 
    type: tosca.nodes.DBMS.MySQL 
    properties: 
      # omitted here for sake of brevity 
    requirements: 
      - host: tosca.nodes.Compute 
        search_criteria: 
          - num_cpus: { in_range: [ 1, 4 ] } 
          - mem_size: { greater_or_equal: 2 } 
          - os_arch: { equal: x86_64}
          - os_type: { equal: linux}
          - os_distribution: { equal: ubuntu}


> Fix grammar for "Constraints" on a Target node of a requirement  (Chapter 11)
> -----------------------------------------------------------------------------
>
>                 Key: TOSCA-190
>                 URL: https://issues.oasis-open.org/browse/TOSCA-190
>             Project: OASIS Topology and Orchestration Specification for Cloud Applications (TOSCA) TC
>          Issue Type: Task
>          Components: Profile-YAML
>    Affects Versions: CSD03
>            Reporter: Matthew Rutkowski 
>            Assignee: Thomas Spatzier 
>            Priority: Critical
>
> Section 11  of WD03, Rev05 has the following example which shows constraints on a requirement.  The intent is to constrain the properties used for finding/matching the Target (Compute) node of a relationship.  If we still want to allow this, we have no grammar for doing this and need one. Also, the grammar implied by the example perhaps is not sufficient to indicate that these constraints are on the properties of the Target node.  
> Here is the example as written:
> node_templates:
>   mysql:
>     type: tosca.nodes.DBMS.MySQL
>     properties:
>       # omitted here for sake of brevity
>     requirements:
>       - host: tosca.nodes.Compute
>         constraints:
>           - num_cpus: { in_range: [ 1, 4 ] }
>           - mem_size: { greater_or_equal: 2 }
>           - os_arch: x86_64
>           - os_type: linux
>           - os_distribution: ubuntu



--
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]