diff options
Diffstat (limited to 'snaps/openstack/tests/heat/floating_ip_heat_template.yaml')
-rw-r--r-- | snaps/openstack/tests/heat/floating_ip_heat_template.yaml | 161 |
1 files changed, 161 insertions, 0 deletions
diff --git a/snaps/openstack/tests/heat/floating_ip_heat_template.yaml b/snaps/openstack/tests/heat/floating_ip_heat_template.yaml new file mode 100644 index 0000000..9da1cb7 --- /dev/null +++ b/snaps/openstack/tests/heat/floating_ip_heat_template.yaml @@ -0,0 +1,161 @@ +############################################################################## +# Copyright (c) 2017 Cable Television Laboratories, Inc. ("CableLabs") +# and others. All rights reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +############################################################################## +heat_template_version: 2015-04-30 + +description: > + Sample template with two VMs instantiated against different images and + flavors on the same network and the first one has a floating IP + +parameters: + image1_name: + type: string + label: Image ID for first VM + description: Image name to be used for first instance + default: image_1 + image2_name: + type: string + label: Image ID for second VM + description: Image name to be used for second instance + default: image_2 + flavor1_name: + type: string + label: Instance Flavor for first VM + description: Flavor name for the first instance + default: m1.small + flavor2_name: + type: string + label: Instance Flavor for second VM + description: Flavor name for the second instance + default: m1.med + net_name: + type: string + label: Test network name + description: The name of the stack's network + default: test_net + subnet_name: + type: string + label: Test subnet name + description: The name of the stack's subnet + default: test_subnet + router_name: + type: string + label: Test router name + description: The name of the stack's router + default: mgmt_router + keypair_name: + type: string + label: Keypair name + description: The name of the stack's keypair + default: keypair_name + inst1_name: + type: string + label: First VM name + description: The name of the first VM to be spawned + default: test_vm1 + inst2_name: + type: string + label: Second VM name + description: The name of the second VM to be spawned + default: test_vm2 + external_net_name: + type: string + description: Name of the external network which management network will connect to + default: external + +resources: + flavor1: + type: OS::Nova::Flavor + properties: + ram: 4096 + vcpus: 4 + disk: 4 + flavor2: + type: OS::Nova::Flavor + properties: + ram: 4096 + vcpus: 4 + disk: 4 + + network: + type: OS::Neutron::Net + properties: + name: { get_param: net_name } + + subnet: + type: OS::Neutron::Subnet + properties: + name: { get_param: subnet_name } + ip_version: 4 + cidr: 10.1.2.0/24 + network: { get_resource: network } + + management_router: + type: OS::Neutron::Router + properties: + name: { get_param: router_name } + external_gateway_info: + network: { get_param: external_net_name } + + management_router_interface: + type: OS::Neutron::RouterInterface + properties: + router: { get_resource: management_router } + subnet: { get_resource: subnet } + + floating_ip: + type: OS::Neutron::FloatingIP + properties: + floating_network: { get_param: external_net_name } + + floating_ip_association: + type: OS::Nova::FloatingIPAssociation + properties: + floating_ip: { get_resource: floating_ip } + server_id: {get_resource: vm1} + + keypair: + type: OS::Nova::KeyPair + properties: + name: { get_param: keypair_name } + save_private_key: True + + vm1: + type: OS::Nova::Server + depends_on: [subnet, keypair, flavor1] + properties: + name: { get_param: inst1_name } + image: { get_param: image1_name } + flavor: { get_resource: flavor1 } + key_name: {get_resource: keypair} + networks: + - network: { get_resource: network } + + vm2: + type: OS::Nova::Server + depends_on: [subnet, flavor2] + properties: + name: { get_param: inst2_name } + image: { get_param: image2_name } + flavor: { get_resource: flavor2 } + key_name: {get_resource: keypair} + networks: + - network: { get_resource: network } + +outputs: + private_key: + description: "SSH Private Key" + value: { get_attr: [ keypair, private_key ]} |