Non-string inputs cause error in os-refresh-config
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Heat Templates |
Fix Committed
|
Undecided
|
Steve McLellan |
Bug Description
Given the template fragment below, which passes an integer input value to a heat SW config deployment, os-refresh-config fails with the error:
[2014-06-24 19:08:01,663] (heat-config) [DEBUG] Running /var/lib/
Traceback (most recent call last):
File "/var/lib/
sys.
File "/var/lib/
stderr=
File "/usr/lib/
errread, errwrite)
File "/usr/lib/
raise child_exception
TypeError: execve() arg 3 contains a non-string value
If `input1` is changed to "100", it works as expected. The bug is in 55-heat-config; it needs to iterate over c['inputs'] and replace all "value"s with their string arguments.
heat_template_
resources:
execve:
properties:
flavor: m1.small
image: Ubuntu 13.10 Heat SW config
key_name: devstack
user_
type: OS::Nova::Server
execve-
properties:
config: '#!/bin/bash
echo "Input values was input1" | tee /tmp/test-heat.txt
'
group: script
inputs:
- name: input1
type: OS::Heat:
execve-
properties:
config: {get_resource: execve-
server: {get_resource: execve}
input_values:
input1: 100
type: OS::Heat:
Changed in heat-templates: | |
assignee: | nobody → Steve McLellan (sjmc7) |
Fix proposed to branch: master /review. openstack. org/102343
Review: https:/