ariatosca-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF GitHub Bot (JIRA)" <>
Subject [jira] [Commented] (ARIA-92) Execution plugin operations default mappings
Date Wed, 12 Apr 2017 16:20:41 GMT


ASF GitHub Bot commented on ARIA-92:

Github user tliron commented on a diff in the pull request:
    --- Diff: aria/orchestrator/workflows/api/ ---
    @@ -66,98 +66,84 @@ def __init__(self,
    -                 runs_on=None,
    +                 inputs=None,
    -                 ignore_failure=None,
    -                 inputs=None):
    +                 ignore_failure=None):
             Do not call this constructor directly. Instead, use :meth:`for_node` or
    -        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,
    +        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:
>             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 >" and "remote >"

This message was sent by Atlassian JIRA

View raw message