heat-tempest-plugin/heat_tempest_plugin/tests/scenario/templates/test_server_signal.yaml

114 lines
2.6 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
wc_extra_args:
type: string
default: ""
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:
list_join:
- " "
- [ get_attr: ['wait_handle', 'curl_cli'], get_param: wc_extra_args ]
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]}