From 58d1beaa026d4a31d68e3cb376f64093d6deeddb Mon Sep 17 00:00:00 2001 From: Renat Akhmerov Date: Thu, 25 Jun 2015 17:42:11 +0600 Subject: [PATCH] Simplifying a few data_flow methods Change-Id: I604620f2dc4d6f45dfaa1ea1d13adcd7aaef0f15 --- mistral/engine/default_engine.py | 8 +++---- mistral/workflow/data_flow.py | 36 ++++++++++++-------------------- 2 files changed, 17 insertions(+), 27 deletions(-) diff --git a/mistral/engine/default_engine.py b/mistral/engine/default_engine.py index d0939f90a..5d69ad009 100644 --- a/mistral/engine/default_engine.py +++ b/mistral/engine/default_engine.py @@ -436,10 +436,10 @@ class DefaultEngine(base.Engine): }, }) - data_flow.add_openstack_data_to_context(wf_ex.context) - data_flow.add_execution_to_context(wf_ex, wf_ex.context) - data_flow.add_environment_to_context(wf_ex, wf_ex.context) - data_flow.add_workflow_variables_to_context(wf_spec, wf_ex.context) + data_flow.add_openstack_data_to_context(wf_ex) + data_flow.add_execution_to_context(wf_ex) + data_flow.add_environment_to_context(wf_ex) + data_flow.add_workflow_variables_to_context(wf_ex, wf_spec) return wf_ex diff --git a/mistral/workflow/data_flow.py b/mistral/workflow/data_flow.py index 02ec20888..951a9cd39 100644 --- a/mistral/workflow/data_flow.py +++ b/mistral/workflow/data_flow.py @@ -225,9 +225,8 @@ def evaluate_workflow_output(wf_spec, context): return ProxyAwareDict(output or context).to_builtin_dict() -def add_openstack_data_to_context(context): - if context is None: - context = {} +def add_openstack_data_to_context(wf_ex): + wf_ex.context = wf_ex.context or {} if CONF.pecan.auth_enable: exec_ctx = auth_ctx.ctx() @@ -235,45 +234,36 @@ def add_openstack_data_to_context(context): LOG.debug('Data flow security context: %s' % exec_ctx) if exec_ctx: - context.update({'openstack': exec_ctx.to_dict()}) - - return context + wf_ex.context.update({'openstack': exec_ctx.to_dict()}) -def add_execution_to_context(wf_ex, context): - if context is None: - context = {} +def add_execution_to_context(wf_ex): + wf_ex.context = wf_ex.context or {} - context['__execution'] = { + wf_ex.context['__execution'] = { 'id': wf_ex.id, 'spec': wf_ex.spec, 'params': wf_ex.params, 'input': wf_ex.input } - return context - -def add_environment_to_context(wf_ex, context): - if context is None: - context = {} +def add_environment_to_context(wf_ex): + wf_ex.context = wf_ex.context or {} # If env variables are provided, add an evaluated copy into the context. if 'env' in wf_ex.params: env = copy.deepcopy(wf_ex.params['env']) # An env variable can be an expression of other env variables. - context['__env'] = expr.evaluate_recursively(env, {'__env': env}) - - return context + wf_ex.context['__env'] = expr.evaluate_recursively(env, {'__env': env}) -def add_workflow_variables_to_context(wf_spec, context): - if context is None: - context = {} +def add_workflow_variables_to_context(wf_ex, wf_spec): + wf_ex.context = wf_ex.context or {} return utils.merge_dicts( - context, - expr.evaluate_recursively(wf_spec.get_vars(), context) + wf_ex.context, + expr.evaluate_recursively(wf_spec.get_vars(), wf_ex.context) )