summaryrefslogtreecommitdiffstats
path: root/snaps/openstack/tests/heat/floating_ip_heat_template.yaml
diff options
context:
space:
mode:
Diffstat (limited to 'snaps/openstack/tests/heat/floating_ip_heat_template.yaml')
-rw-r--r--snaps/openstack/tests/heat/floating_ip_heat_template.yaml161
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 ]}