1 ##############################################################################
2 # Copyright (c) 2017 Cable Television Laboratories, Inc. ("CableLabs")
3 # and others. All rights reserved.
5 # Licensed under the Apache License, Version 2.0 (the "License");
6 # you may not use this file except in compliance with the License.
7 # You may obtain a copy of the License at:
9 # http://www.apache.org/licenses/LICENSE-2.0
11 # Unless required by applicable law or agreed to in writing, software
12 # distributed under the License is distributed on an "AS IS" BASIS,
13 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 # See the License for the specific language governing permissions and
15 # limitations under the License.
16 ##############################################################################
17 heat_template_version: 2013-05-23
25 default: 'Ubuntu 16.04'
36 description: Size of the volume to be created.
39 - range: { min: 1, max: 1024 }
40 description: must be between 1 and 1024 Gb.
44 - custom_constraint: neutron.network
48 - custom_constraint: neutron.network
55 type: "OS::Nova::Server"
58 image: { get_param: image }
59 flavor: { get_param: flavor }
60 key_name: { get_param: key_name }
62 - port: { get_resource: agent_port }
63 user_data: { get_resource: agent_config }
65 availability_zone: { get_param: availability_zone}
68 type: "OS::Heat::CloudConfig"
72 - name: { get_param: username }
75 sudo: "ALL=(ALL) NOPASSWD:ALL"
77 - ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDEbnDiqZ8RjQJJzJPf074J41XlYED+zYBzaUZ5UkkUquXzymyUmoWaFBXJP+XPu4Ns44U/S8614+JxGk96tjUdJlIjL0Ag8HP6KLtTNCabucKcEASpgJIVWqJvE3E9upZLIEiTGsF8I8S67T2qq1J1uvtxyeZmyjm7NMamjyFXE53dhR2EHqSutyKK1CK74NkRY9wr3qWUIt35kLdKSVSfrr4gOOicDALbIRu77skHIvrjt+wK1VWphBdMg6ytuq5mIE6pjWAU3Gwl4aTxOU0z43ARzCLq8HVf8s/dKjYMj8plNqaIfceMbaEUqpNHv/xbvtGNG7N0aB/a4pkUQL07
80 package_upgrade: false
81 manage_etc_hosts: localhost
84 type: "OS::Neutron::Port"
86 network_id: { get_param: agent_network }
88 - { get_param: open_security_group }
91 type: OS::Neutron::FloatingIP
93 floating_network_id: { get_param: public_network }
94 port_id: { get_resource: agent_port }
97 type: OS::Cinder::Volume
99 size: { get_param: volume_size }
102 type: OS::Cinder::VolumeAttachment
104 instance_uuid: { get_resource: agent }
105 volume_id: { get_resource: agent_volume}
109 description: The floating IP address of the agent on the public network
110 value: { get_attr: [ floating_ip, floating_ip_address ] }