heat-config script hook fails when an input value is None
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Heat Templates |
New
|
Undecided
|
Unassigned |
Bug Description
heat-config script hook fails when an input value is None (not given). This occurs when the script is a python script.
What's even worse about this problem, is that the resulting software deployment is marked as successful (should rather be error).
The relevant template excerpt:
resources:
config:
type: OS::Heat:
properties:
group: script
inputs:
- name: JSONTEST
type: Json
config: |
# ... the contents are irrelevant because never called
The relevant log excerpt (manually truncated for better readability):
...
os-collect-config: [2016-01-08 12:31:35,798] (heat-config) [INFO] JSONTEST=None
os-collect-config: [2016-01-08 12:31:35,798] (heat-config) [INFO] deploy_
...
os-collect-config: [2016-01-08 12:31:35,799] (heat-config) [DEBUG] Running /var/lib/
os-collect-config: Traceback (most recent call last):
os-collect-config: File "/var/lib/
os-collect-config: sys.exit(
os-collect-config: File "/var/lib/
os-collect-config: stderr=
os-collect-config: File "/usr/lib/
os-collect-config: errread, errwrite)
os-collect-config: File "/usr/lib/
os-collect-config: raise child_exception
os-collect-config: TypeError: execve() arg 3 contains a non-string value
os-collect-config:
os-collect-config: [2016-01-08 12:31:35,807] (heat-config) [ERROR] Error running /var/lib/
...