[
https://issues.apache.org/jira/browse/ARIA-92?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15966148#comment-15966148
]
ASF GitHub Bot commented on ARIA-92:
------------------------------------
Github user tliron commented on a diff in the pull request:
https://github.com/apache/incubator-ariatosca/pull/95#discussion_r111196059
--- Diff: aria/orchestrator/workflows/api/task.py ---
@@ -66,98 +66,84 @@ def __init__(self,
actor_type,
interface_name,
operation_name,
- runs_on=None,
+ inputs=None,
max_attempts=None,
retry_interval=None,
- ignore_failure=None,
- inputs=None):
+ ignore_failure=None):
"""
Do not call this constructor directly. Instead, use
:meth:`for_node` or
:meth:`for_relationship`.
"""
- assert isinstance(actor, (models.Node, models.Relationship))
- assert actor_type in ('node', 'relationship')
assert interface_name and operation_name
- assert runs_on in models.Task.RUNS_ON
super(OperationTask, self).__init__()
+ operation = None
+ interface = actor.interfaces.get(interface_name)
+ if interface is not None:
+ operation = interface.operations.get(operation_name)
+
+ if operation is None:
+ raise exceptions.OperationNotFoundException(
+ 'Could not find operation "{0}" on interface "{1}" for {2}
"{3}"'
+ .format(operation_name, interface_name, actor_type,
actor.name))
+
+ if operation.implementation is None:
--- End diff --
What is the meaning of an empty implementation operation? The operation
would fail in the orchestrator, seems much better to catch that here and not
create that operation.
> Execution plugin operations default mappings
> --------------------------------------------
>
> Key: ARIA-92
> URL: https://issues.apache.org/jira/browse/ARIA-92
> Project: AriaTosca
> Issue Type: Story
> Reporter: Ran Ziv
> Assignee: Tal Liron
>
> The execution plugin serves as the default plugin, i.e. if no other plugin
> was specified, it'll be used to execute scripts in operations.
> These scripts will currently only execute locally. The execution plugin also
> supports running scripts on remote machines (via SSH).
> One option is to have the parser recognize whether the node in question is
> contained inside a host node, in which case the script should be executed
> remotely (by default, yet overridable by specifying the full plugin operation
> mapping), and if not then it should be executed locally.
> Another option is to have the user specify it using special syntax, e.g.:
> "local > script.sh" and "remote > script.sh"
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)