resource-signal Mistral workflow with params results in ResourceFailure: AttributeError
Bug #1453558 reported by
Moshe Elisha
This bug affects 1 person
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Heat |
Fix Released
|
Medium
|
Tomer Shtilman |
Bug Description
Sending a signal to a resource of type OS::Mistral:
This issue occurs when there are no params property defined in the workflow.
If arbitrary params are allowed - this should be fixed.
If params must be defined in the workflow - there should be a validation that the signal param is expected (like there is with inputs).
The template and log are attached.
Reproduce by executing:
heat stack-create -f mistral-
heat resource-signal Mistral workflow -D '{"params": {"task_name": "create_vm"}}'
description: | updated |
Changed in heat: | |
status: | New → Triaged |
importance: | Undecided → Medium |
Changed in heat: | |
assignee: | Moshe Elisha (melisha) → Tomer Shtilman (tomer-shtilman) |
Changed in heat: | |
milestone: | none → liberty-1 |
status: | Fix Committed → Fix Released |
Changed in heat: | |
milestone: | liberty-1 → 5.0.0 |
To post a comment you must log in.
“params” is a set of arbitrary runtime workflow parameters that we provide when we launch a certain workflow. They shouldn’t be confused though with “input” which describes input data that the workflow is supposed to process. “params” may contain, for example, variable “env” which describes an environment this workflow will run with (env may contain some certain variables similar to environment variables in operating systems). “params” may also contain workflow type specific meta values. For example, reverse workflows require parameter “task_name” that specifies the target task in the graph that we need to reach to consider workflow completed.
In other words, I think it’s not so easy to implement any validation, only because a set of workflow types will be growing (e.g., we plan to add priority based wf and linear wf) which may need some other meta params influencing their work. Hence we should assume arbitrary number of key-value pairs here.