[
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)