diff options
Diffstat (limited to 'heat/TEST.yaml')
-rw-r--r-- | heat/TEST.yaml | 133 |
1 files changed, 133 insertions, 0 deletions
diff --git a/heat/TEST.yaml b/heat/TEST.yaml new file mode 100644 index 00000000..17ba9cc8 --- /dev/null +++ b/heat/TEST.yaml @@ -0,0 +1,133 @@ +heat_template_version: 2013-05-23 + +description: > + HOT template to create a new neutron network plus a router to the public + network, and for deploying two servers into the new network. The template also + assigns floating IP addresses to each server so they are routable from the + public network. +parameters: + key_name: + type: string + description: Name of keypair to assign to servers + default: 'key' + image: + type: string + description: Name of image to use for servers + default: 'QTIP_CentOS' + flavor: + type: string + description: Flavor to use for servers + default: 'm1.large' + public_net: + type: string + description: > + ID or name of public network for which floating IP addresses will be allocated + default: 'provider_network' + private_net_name: + type: string + description: Name of private network to be created + default: 'private_network' + private_net_cidr: + type: string + description: Private network address (CIDR notation) + default: '10.10.17.0/24' + private_net_gateway: + type: string + description: Private network gateway address + default: '10.10.17.1' + private_net_pool_start: + type: string + description: Start of private network IP address allocation pool + default: '10.10.17.2' + private_net_pool_end: + type: string + description: End of private network IP address allocation pool + default: '10.10.17.200' + +resources: + private_net: + type: OS::Neutron::Net + properties: + name: { get_param: private_net_name } + + private_subnet: + type: OS::Neutron::Subnet + properties: + network_id: { get_resource: private_net } + cidr: { get_param: private_net_cidr } + gateway_ip: { get_param: private_net_gateway } + allocation_pools: + - start: { get_param: private_net_pool_start } + end: { get_param: private_net_pool_end } + + router: + type: OS::Neutron::Router + properties: + external_gateway_info: + network: { get_param: public_net } + + router_interface: + type: OS::Neutron::RouterInterface + properties: + router_id: { get_resource: router } + subnet_id: { get_resource: private_subnet } + + server1: + type: OS::Nova::Server + properties: + name: Server1 + image: { get_param: image } + flavor: { get_param: flavor } + + networks: + - port: { get_resource: server1_port } + + server1_port: + type: OS::Neutron::Port + properties: + network_id: { get_resource: private_net } + fixed_ips: + - subnet_id: { get_resource: private_subnet } + + server1_floating_ip: + type: OS::Neutron::FloatingIP + properties: + floating_network: { get_param: public_net } + port_id: { get_resource: server1_port } + + server2: + type: OS::Nova::Server + properties: + name: Server2 + image: { get_param: image } + flavor: { get_param: flavor } + + networks: + - port: { get_resource: server2_port } + + server2_port: + type: OS::Neutron::Port + properties: + network_id: { get_resource: private_net } + fixed_ips: + - subnet_id: { get_resource: private_subnet } + + server2_floating_ip: + type: OS::Neutron::FloatingIP + properties: + floating_network: { get_param: public_net } + port_id: { get_resource: server2_port } + +outputs: + server1_private_ip: + description: IP address of server1 in private network + value: { get_attr: [ server1, first_address ] } + server1_public_ip: + description: Floating IP address of server1 in public network + value: { get_attr: [ server1_floating_ip, floating_ip_address ] } + server2_private_ip: + description: IP address of server2 in private network + value: { get_attr: [ server2, first_address ] } + server2_public_ip: + description: Floating IP address of server2 in public network + value: { get_attr: [ server2_floating_ip, floating_ip_address ] } |