[ 
https://issues.apache.org/jira/browse/ARIA-254?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16036233#comment-16036233
 ] 

ASF GitHub Bot commented on ARIA-254:
-------------------------------------

Github user mxmrlv commented on a diff in the pull request:

    https://github.com/apache/incubator-ariatosca/pull/143#discussion_r120005524
  
    --- Diff: aria/modeling/service_template.py ---
    @@ -613,6 +597,56 @@ def dump(self):
                 utils.dump_dict_values(self.capability_templates, 'Capability 
templates')
                 utils.dump_list_values(self.requirement_templates, 
'Requirement templates')
     
    +    @property
    +    def next_index(self):
    +        """
    +        Next available node index.
    +
    +        :returns: node index
    +        :rtype: int
    +        """
    +
    +        max_index = 0
    +        if self.nodes:
    +            max_index = max(int(n.name.rsplit('_', 1)[-1]) for n in 
self.nodes)
    +        return max_index + 1
    +
    +    @property
    +    def next_name(self):
    +        """
    +        Next available node name.
    +
    +        :returns: node name
    +        :rtype: basestring
    +        """
    +
    +        return '{name}_{index}'.format(name=self.name, 
index=self.next_index)
    +
    +    @property
    +    def default_instances(self):
    +        # TODO: currently finds the first matching policy; but we should 
emit a validation error
    +        # if more than one policy applies to the same node
    +        for policy_template in 
self.service_template.policy_templates.itervalues():
    +            if policy_template.type.role == 'scaling':
    +                if policy_template.is_for_node_template(self.name):
    +                    default_instances = 
policy_template.properties.get('default_instances')
    +                    if (default_instances is not None) \
    +                        and (default_instances.type_name == 'integer'):
    --- End diff --
    
    how can it not be 'integer'?


> Support multiple nodes of a node template at service creation time
> ------------------------------------------------------------------
>
>                 Key: ARIA-254
>                 URL: https://issues.apache.org/jira/browse/ARIA-254
>             Project: AriaTosca
>          Issue Type: Story
>            Reporter: Ran Ziv
>            Assignee: Tal Liron
>            Priority: Critical
>
> Currently each node template can only have a single node.
> We need to support having multiple nodes of a given node-template at service 
> creation time. The mechanism for this should take into consideration future 
> stories which would require allowing scaling the number of nodes of a 
> node-template up or down.
> Note: the term {{default_instances}} appears in several places in the code 
> ([1|https://github.com/apache/incubator-ariatosca/blob/1f3e7ff42fefcd5dc8191e3b0eeac0460db059b0/extensions/aria_extension_tosca/profiles/tosca-simple-1.0/capabilities.yaml#L151],
>  
> [2|https://github.com/apache/incubator-ariatosca/blob/fdd57c47acfe63dc25c6f20bcb3785225b3f774d/aria/modeling/service_template.py#L310],
>  
> [3|https://github.com/apache/incubator-ariatosca/blob/60ea3ebb21e762d36115db26563a93dd3cb72003/extensions/aria_extension_tosca/simple_v1_0/modeling/__init__.py#L163])
>  - we could perhaps use this or an extension based on this idea to support 
> this issue.
> One other thing that should be taken into consideration (but perhaps be moved 
> to a separate JIRA issue) is the implicit declaration of multiple instances 
> via the capabilities&requirements mechanism in TOSCA - We need to decide if 
> to support this as well or not, and if we do, how does this play together 
> with the primary method of declaring multiple nodes (or perhaps would this be 
> the only method of doing so?)



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to