You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ariatosca.apache.org by ra...@apache.org on 2017/04/06 08:29:46 UTC

[20/32] incubator-ariatosca git commit: extracted unwrap_dict method for parameter objects

extracted unwrap_dict method for parameter objects


Project: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/commit/5992df7a
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/tree/5992df7a
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/diff/5992df7a

Branch: refs/heads/ARIA-48-aria-cli
Commit: 5992df7afd9abc2b29a38e322924d0d5852bb3ba
Parents: a9d1ae3
Author: Ran Ziv <ra...@gigaspaces.com>
Authored: Mon Apr 3 14:59:40 2017 +0300
Committer: Ran Ziv <ra...@gigaspaces.com>
Committed: Thu Apr 6 11:29:17 2017 +0300

----------------------------------------------------------------------
 aria/modeling/service_common.py                 | 9 +++++++++
 aria/orchestrator/workflow_runner.py            | 3 +--
 aria/orchestrator/workflows/executor/celery.py  | 4 +++-
 aria/orchestrator/workflows/executor/process.py | 3 ++-
 aria/orchestrator/workflows/executor/thread.py  | 4 +++-
 5 files changed, 18 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/5992df7a/aria/modeling/service_common.py
----------------------------------------------------------------------
diff --git a/aria/modeling/service_common.py b/aria/modeling/service_common.py
index 48c3170..17e0a17 100644
--- a/aria/modeling/service_common.py
+++ b/aria/modeling/service_common.py
@@ -88,6 +88,15 @@ class ParameterBase(TemplateModelMixin):
             console.puts(context.style.meta(self.description))
 
     @classmethod
+    def unwrap_dict(cls, parameters_dict):
+        """
+        Takes a parameters dict and simplifies it into key-value dict
+        :param parameters_dict: a parameter-name to parameter dict
+        :return: a parameter-name to parameter value dict
+        """
+        return dict((k, v.value) for k, v in parameters_dict.iteritems())
+
+    @classmethod
     def wrap(cls, name, value, description=None):
         """
         Wraps an arbitrary value as a parameter. The type will be guessed via introspection.

http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/5992df7a/aria/orchestrator/workflow_runner.py
----------------------------------------------------------------------
diff --git a/aria/orchestrator/workflow_runner.py b/aria/orchestrator/workflow_runner.py
index 8b6b431..78b17b8 100644
--- a/aria/orchestrator/workflow_runner.py
+++ b/aria/orchestrator/workflow_runner.py
@@ -68,8 +68,7 @@ class WorkflowRunner(object):
             task_retry_interval=task_retry_interval)
 
         # transforming the execution inputs to dict, to pass them to the workflow function
-        execution_inputs_dict = {input.name: input.value for input in
-                                 self.execution.inputs.values()}
+        execution_inputs_dict = models.Parameter.unwrap_dict(self.execution.inputs)
         self._tasks_graph = workflow_fn(ctx=workflow_context, **execution_inputs_dict)
 
         self._engine = Engine(

http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/5992df7a/aria/orchestrator/workflows/executor/celery.py
----------------------------------------------------------------------
diff --git a/aria/orchestrator/workflows/executor/celery.py b/aria/orchestrator/workflows/executor/celery.py
index baa0375..3c98197 100644
--- a/aria/orchestrator/workflows/executor/celery.py
+++ b/aria/orchestrator/workflows/executor/celery.py
@@ -22,6 +22,8 @@ import Queue
 
 from aria.orchestrator.workflows.executor import BaseExecutor
 
+from ....modeling.models import Parameter
+
 
 class CeleryExecutor(BaseExecutor):
     """
@@ -44,7 +46,7 @@ class CeleryExecutor(BaseExecutor):
 
     def execute(self, task):
         self._tasks[task.id] = task
-        inputs = dict((k, v.value) for k, v in task.inputs.iteritems())
+        inputs = Parameter.unwrap_dict(task.inputs.iteritems())
         inputs['ctx'] = task.context
         self._results[task.id] = self._app.send_task(
             task.operation_mapping,

http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/5992df7a/aria/orchestrator/workflows/executor/process.py
----------------------------------------------------------------------
diff --git a/aria/orchestrator/workflows/executor/process.py b/aria/orchestrator/workflows/executor/process.py
index 6397e88..dc369ab 100644
--- a/aria/orchestrator/workflows/executor/process.py
+++ b/aria/orchestrator/workflows/executor/process.py
@@ -48,6 +48,7 @@ from aria.utils import exceptions
 from aria.orchestrator.workflows.executor import base
 from aria.storage import instrumentation
 from aria.modeling import types as modeling_types
+from aria.modeling.models import Parameter
 
 _IS_WIN = os.name == 'nt'
 
@@ -148,7 +149,7 @@ class ProcessExecutor(base.BaseExecutor):
         return {
             'task_id': task.id,
             'implementation': task.implementation,
-            'operation_inputs': dict((k, v.value) for k, v in task.inputs.iteritems()),
+            'operation_inputs': Parameter.unwrap_dict(task.inputs),
             'port': self._server_port,
             'context': task.context.serialization_dict,
         }

http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/5992df7a/aria/orchestrator/workflows/executor/thread.py
----------------------------------------------------------------------
diff --git a/aria/orchestrator/workflows/executor/thread.py b/aria/orchestrator/workflows/executor/thread.py
index 1a49af5..8b443cc 100644
--- a/aria/orchestrator/workflows/executor/thread.py
+++ b/aria/orchestrator/workflows/executor/thread.py
@@ -21,7 +21,9 @@ import Queue
 import threading
 
 from aria.utils import imports
+
 from .base import BaseExecutor
+from ....modeling.models import Parameter
 
 
 class ThreadExecutor(BaseExecutor):
@@ -58,7 +60,7 @@ class ThreadExecutor(BaseExecutor):
                 self._task_started(task)
                 try:
                     task_func = imports.load_attribute(task.implementation)
-                    inputs = dict((k, v.value) for k, v in task.inputs.iteritems())
+                    inputs = Parameter.unwrap_dict(task.inputs)
                     task_func(ctx=task.context, **inputs)
                     self._task_succeeded(task)
                 except BaseException as e: