summaryrefslogtreecommitdiff
path: root/heat
diff options
context:
space:
mode:
Diffstat (limited to 'heat')
-rw-r--r--heat/engine/resources/openstack/mistral/workflow.py6
-rw-r--r--heat/tests/openstack/mistral/test_workflow.py13
2 files changed, 14 insertions, 5 deletions
diff --git a/heat/engine/resources/openstack/mistral/workflow.py b/heat/engine/resources/openstack/mistral/workflow.py
index bdb1c3821..e5b290665 100644
--- a/heat/engine/resources/openstack/mistral/workflow.py
+++ b/heat/engine/resources/openstack/mistral/workflow.py
@@ -595,11 +595,7 @@ class Workflow(signal_responder.SignalResponder,
self.data_set(self.EXECUTIONS, ','.join(executions))
def handle_update(self, json_snippet, tmpl_diff, prop_diff):
- update_allowed = [self.INPUT, self.PARAMS, self.DESCRIPTION]
- for prop in update_allowed:
- if prop in prop_diff:
- del prop_diff[prop]
- if len(prop_diff) > 0:
+ if prop_diff:
props = json_snippet.properties(self.properties_schema,
self.context)
new_props = self.prepare_properties(props)
diff --git a/heat/tests/openstack/mistral/test_workflow.py b/heat/tests/openstack/mistral/test_workflow.py
index 836791946..4582dfa46 100644
--- a/heat/tests/openstack/mistral/test_workflow.py
+++ b/heat/tests/openstack/mistral/test_workflow.py
@@ -535,6 +535,19 @@ class TestMistralWorkflow(common.HeatTestCase):
self.assertTrue(self.mistral.workflows.update.called)
self.assertEqual((wf.UPDATE, wf.COMPLETE), wf.state)
+ def test_update_input(self):
+ wf = self._create_resource('workflow', self.rsrc_defn,
+ self.stack)
+ t = template_format.parse(workflow_template)
+ t['resources']['workflow']['properties']['input'] = {'foo': 'bar'}
+ rsrc_defns = template.Template(t).resource_definitions(self.stack)
+ new_wf = rsrc_defns['workflow']
+ self.mistral.workflows.update.return_value = [
+ FakeWorkflow('test_stack-workflow-b5fiekfci3yc')]
+ scheduler.TaskRunner(wf.update, new_wf)()
+ self.assertTrue(self.mistral.workflows.update.called)
+ self.assertEqual((wf.UPDATE, wf.COMPLETE), wf.state)
+
def test_update_failed(self):
wf = self._create_resource('workflow', self.rsrc_defn,
self.stack)