incubator-ariatosca git commit: wip2 [Forced Update!]
Repository: incubator-ariatosca Updated Branches: refs/heads/ARIA-278-Remove-core-tasks ecf5fc9f0 -> 4d9112085 (forced update) wip2 Project: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/commit/4d911208 Tree: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/tree/4d911208 Diff: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/diff/4d911208 Branch: refs/heads/ARIA-278-Remove-core-tasks Commit: 4d911208504f41e581376d0c5f770fa59571119e Parents: 7f5c620 Author: max-orlovAuthored: Thu Jun 15 13:49:19 2017 +0300 Committer: max-orlov Committed: Thu Jun 15 13:58:43 2017 +0300 -- aria/orchestrator/workflow_runner.py| 4 +- aria/orchestrator/workflows/core/engine.py | 78 ++-- tests/orchestrator/test_workflow_runner.py | 31 .../orchestrator/workflows/core/test_engine.py | 6 +- .../test_task_graph_into_execution_graph.py | 17 ++--- 5 files changed, 67 insertions(+), 69 deletions(-) -- http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/4d911208/aria/orchestrator/workflow_runner.py -- diff --git a/aria/orchestrator/workflow_runner.py b/aria/orchestrator/workflow_runner.py index 919da58..c4d8666 100644 --- a/aria/orchestrator/workflow_runner.py +++ b/aria/orchestrator/workflow_runner.py @@ -109,10 +109,10 @@ class WorkflowRunner(object): return self._model_storage.service.get(self._service_id) def execute(self): -self._engine.execute(self._workflow_context) +self._engine.execute(ctx=self._workflow_context) def cancel(self): -self._engine.cancel_execution() +self._engine.cancel_execution(ctx=self._workflow_context) def _create_execution_model(self, inputs): execution = models.Execution( http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/4d911208/aria/orchestrator/workflows/core/engine.py -- diff --git a/aria/orchestrator/workflows/core/engine.py b/aria/orchestrator/workflows/core/engine.py index b9c3439..ade3661 100644 --- a/aria/orchestrator/workflows/core/engine.py +++ b/aria/orchestrator/workflows/core/engine.py @@ -38,75 +38,78 @@ class Engine(logger.LoggerMixin): def __init__(self, executor, **kwargs): super(Engine, self).__init__(**kwargs) self._executors = {executor.__class__: executor} -self._workflow_context = None def execute(self, ctx): """ execute the workflow """ -self._workflow_context = ctx - try: -events.start_workflow_signal.send(self._workflow_context) +events.start_workflow_signal.send(ctx) while True: -cancel = self._is_cancel() +cancel = self._is_cancel(ctx) if cancel: break -for task in self._ended_tasks(): -self._handle_ended_tasks(task) -for task in self._executable_tasks(): -self._handle_executable_task(task) -if self._all_tasks_consumed(): +for task in self._ended_tasks(ctx): +self._handle_ended_tasks(ctx, task) +for task in self._executable_tasks(ctx): +self._handle_executable_task(ctx, task) +if self._all_tasks_consumed(ctx): break else: time.sleep(0.1) if cancel: - events.on_cancelled_workflow_signal.send(self._workflow_context) +events.on_cancelled_workflow_signal.send(ctx) else: -events.on_success_workflow_signal.send(self._workflow_context) +events.on_success_workflow_signal.send(ctx) except BaseException as e: -events.on_failure_workflow_signal.send(self._workflow_context, exception=e) +events.on_failure_workflow_signal.send(ctx, exception=e) raise -def cancel_execution(self): +@staticmethod +def cancel_execution(ctx): """ Send a cancel request to the engine. If execution already started, execution status will be modified to 'cancelling' status. If execution is in pending mode, execution status will be modified to 'cancelled' directly. """ -events.on_cancelling_workflow_signal.send(self._workflow_context) -self._workflow_context.execution = self._workflow_context.execution +events.on_cancelling_workflow_signal.send(ctx) +ctx.execution = ctx.execution -def
incubator-ariatosca git commit: wip2 [Forced Update!]
Repository: incubator-ariatosca Updated Branches: refs/heads/stub_task_branch 222bef595 -> 9bdc64537 (forced update) wip2 Project: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/commit/9bdc6453 Tree: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/tree/9bdc6453 Diff: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/diff/9bdc6453 Branch: refs/heads/stub_task_branch Commit: 9bdc64537cd44dd30f4e69d9090718f58e55e88f Parents: 282fcbf Author: max-orlovAuthored: Sun Apr 30 19:54:12 2017 +0300 Committer: max-orlov Committed: Sun Apr 30 20:03:05 2017 +0300 -- aria/orchestrator/events.py | 8 aria/orchestrator/workflows/api/task.py | 34 +++-- aria/orchestrator/workflows/builtin/utils.py| 38 +++ aria/orchestrator/workflows/core/engine.py | 7 +-- .../workflows/core/events_handler.py| 3 ++ aria/orchestrator/workflows/core/task.py| 50 ++-- aria/orchestrator/workflows/core/translation.py | 13 +++-- aria/orchestrator/workflows/executor/dry.py | 31 +--- tests/end2end/test_hello_world.py | 5 +- 9 files changed, 98 insertions(+), 91 deletions(-) -- http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/9bdc6453/aria/orchestrator/events.py -- diff --git a/aria/orchestrator/events.py b/aria/orchestrator/events.py index 812040b..a1c4922 100644 --- a/aria/orchestrator/events.py +++ b/aria/orchestrator/events.py @@ -28,14 +28,6 @@ start_task_signal = signal('start_task_signal') on_success_task_signal = signal('success_task_signal') on_failure_task_signal = signal('failure_task_signal') -# node state signals: -# Note that each signal corresponds with a task. The basic start_task_signal also changes the state -# of the node on which it runs. (so does the on_success_task_signal and the on_failure_task_signal) -start_node_signal = signal('start_task_signal') -on_success_node_signal = signal('success_task_signal') -on_failure_node_signal = signal('failure_task_signal') - - # workflow engine workflow signals: start_workflow_signal = signal('start_workflow_signal') on_cancelling_workflow_signal = signal('on_cancelling_workflow_signal') http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/9bdc6453/aria/orchestrator/workflows/api/task.py -- diff --git a/aria/orchestrator/workflows/api/task.py b/aria/orchestrator/workflows/api/task.py index 82c40c3..15397c3 100644 --- a/aria/orchestrator/workflows/api/task.py +++ b/aria/orchestrator/workflows/api/task.py @@ -66,7 +66,8 @@ class OperationTask(BaseTask): inputs=None, max_attempts=None, retry_interval=None, - ignore_failure=None): + ignore_failure=None, + is_stub=False): """ Do not call this constructor directly. Instead, use :meth:`for_node` or :meth:`for_relationship`. @@ -87,15 +88,18 @@ class OperationTask(BaseTask): if ignore_failure is None else ignore_failure) self.interface_name = interface_name self.operation_name = operation_name +self.name = OperationTask.NAME_FORMAT.format(type=actor_type, + name=actor.name, + interface=self.interface_name, + operation=self.operation_name) +self.is_stub = is_stub +if self.is_stub: +return operation = self.actor.interfaces[self.interface_name].operations[self.operation_name] self.plugin = operation.plugin self.inputs = modeling_utils.create_inputs(inputs or {}, operation.inputs) self.implementation = operation.implementation -self.name = OperationTask.NAME_FORMAT.format(type=actor_type, - name=actor.name, - interface=self.interface_name, - operation=self.operation_name) def __repr__(self): return self.name @@ -108,7 +112,8 @@ class OperationTask(BaseTask): max_attempts=None, retry_interval=None, ignore_failure=None, - inputs=None): + inputs=None, + is_stub=False): """ Creates an operation on a node. @@ -132,7 +137,9 @@ class OperationTask(BaseTask):