3a8aa828bc
Task: 36946 Depends-On: https://review.opendev.org/#/c/700512/ Change-Id: I0689ac7e434b6e621e8d3a3be9d3420eea570e68
120 lines
2.8 KiB
YAML
120 lines
2.8 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
|
|
while true; do
|
|
wc_notify --data-binary '{"status": "SUCCESS", "data": "test complete"}'
|
|
if [ $? -eq 0 ]; then
|
|
break
|
|
fi
|
|
sleep 10
|
|
done
|
|
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]}
|