heat/heat_integrationtests/scenario/templates/test_server_signal.yaml
huangtianhua 16be8bae35 Do not set the mime-type for userdata
We set the mime-type to  'x-shellscript' for all
single userdata when user_data_format='SOFTWARE_CONFIG',
it's incorrect, for example, if user create a server
with a cloud-config userdata, we will set the mime-type to
'x-shellscript', then cloud-init will consume the userdata
as a shellscript and fail to execute.

This change will improve this by not setting the mime-type
and letting cloud-init figure it out from the first line
in the file.

Closes-Bug: #1643739
Change-Id: If026884a95c58bb81a0f04ab415909011b1a5414
2016-11-25 14:47:53 +08:00

108 lines
2.5 KiB
YAML

heat_template_version: 2013-05-23
description: |
Template which uses a wait condition to confirm that a minimal
signalling works in a created network
parameters:
key_name:
type: string
flavor:
type: string
image:
type: string
subnet_cidr:
type: string
default: 10.100.0.0/16
timeout:
type: number
public_net:
type: string
default: public
private_net:
type: string
default: heat-net
dns_servers:
type: comma_delimited_list
default: ["8.8.8.8", "8.8.4.4"]
user_data_format:
type: string
default: RAW
resources:
sg:
type: OS::Neutron::SecurityGroup
properties:
name: the_sg
description: Ping and SSH
rules:
- protocol: icmp
- protocol: tcp
port_range_min: 22
port_range_max: 22
floating_ip:
type: OS::Neutron::FloatingIP
properties:
floating_network: {get_param: public_net}
network:
type: OS::Neutron::Net
subnet:
type: OS::Neutron::Subnet
properties:
network: {get_resource: network}
ip_version: 4
cidr: {get_param: subnet_cidr}
dns_nameservers: {get_param: dns_servers}
router:
type: OS::Neutron::Router
properties:
external_gateway_info:
network: {get_param: public_net}
router_interface:
type: OS::Neutron::RouterInterface
properties:
router: {get_resource: router}
subnet: {get_resource: subnet}
wait_handle:
type: OS::Heat::WaitConditionHandle
server:
type: OS::Nova::Server
properties:
image: {get_param: image}
flavor: {get_param: flavor}
key_name: {get_param: key_name}
networks:
- subnet: {get_resource: subnet}
security_groups:
- {get_resource: sg}
user_data_format: {get_param: user_data_format}
user_data:
str_replace:
template: |
#!/bin/sh
wc_notify --data-binary '{"status": "SUCCESS", "data": "test complete"}'
params:
wc_notify: { get_attr: ['wait_handle', 'curl_cli'] }
server_floating_ip_assoc:
type: OS::Neutron::FloatingIPAssociation
properties:
floatingip_id: {get_resource: floating_ip}
port_id: {get_attr: [server, addresses, {get_resource: network}, 0, port]}
wait_condition:
type: OS::Heat::WaitCondition
properties:
handle: {get_resource: wait_handle}
timeout: {get_param: timeout}
outputs:
server_ip:
value: {get_attr: [floating_ip, floating_ip_address]}
wc_data:
value: {get_attr: [wait_condition, data]}