Format string interpolation issue with OS::Heat::MultipartMime
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Heat |
Incomplete
|
Undecided
|
Unassigned | ||
Kilo |
Incomplete
|
Undecided
|
Unassigned |
Bug Description
Summary
=======
There appears to be a format string interpolation issue with OS::Heat:
that is triggered when the string '%s' occurs twice or more in a MultipartMime
resource part's config: payload. If this is the case, the stack ends up in
state CREATE_FAILED with the following error message:
TypeError: not enough arguments for format string
[There is a full stack trace in stacktrace.txt included in multipart.tar.]
Environment
===========
Openstack Kilo with the following Heat packages:
# dpkg -l | grep heat | awk '{print $2 " " $3}'
heat-api 2015.1.
heat-api-cfn 2015.1.
heat-common 2015.1.
heat-engine 2015.1.
python-heat 2015.1.
python-heatclient 0.3.0-0ubuntu1~
+syseleven1 contains fixes for the following bugs:
* https:/
* https:/
This is the only difference from 2015.1.
Steps to reproduce
==================
1. Download and extract multipart.tar:
% tar -xf multipart.tar
% cd multipart/
2. Instantiate the broken heat template (contains 2 occurences of '%s'):
% heat stack-create -f broken.yaml multipart_broken
+--
| id | stack_name | stack_status | creation_time |
+--
| 859bcd56-
+--
% heat stack-list | grep multipart
| 859bcd56-
stacktrace.txt containts a full stack trace.
3. Instantiate the working heat template (only contains 1 occurence of '%s'):
% heat stack-create -f working.yaml multipart_working
+--
| id | stack_name | stack_status | creation_time |
+--
| 859bcd56-
| ed5cbce0-
+--
% heat stack-list | grep multipart
| 859bcd56-
| ed5cbce0-
%
Looks like this has been already fixed. Can you try this patch?
https:/ /review. openstack. org/#/c/ 203508/