1 heat_template_version: 2015-04-30
2 #################################
3 # Author: Dmitry Orzhehovsky
4 # Email: dorzheho@cisco.com
5 #################################
7 The template intended for deploying vSON VM instance
8 that's supposed to be booted from a Cinder volume.
15 description: Index of the instance.
20 description: Unique name for this VF instance.
25 description: Unique ID for this VF instance.
30 description: Unique name for this VF module instance.
35 description: Unique ID for this VF Module instance
40 description: Unique ID for this VF Module instance
45 description: The ID of the OAM network.
47 oam_net_subnet_prefix_length:
49 label: OAM net subnet prefix length
50 description: Prefix length of the subnet on the OAM network.
54 label: Default gateway
55 description: Default gateway.
58 type: comma_delimited_list
60 description: List of DNS servers.
63 type: comma_delimited_list
65 description: List of NTP servers.
67 oam_net_security_group_id:
69 label: OAM network security group ID
71 The ID of Security group applied on the port
72 bound to the vSON OAM network.
75 type: comma_delimited_list
77 description: List of Volumes IDs.
80 type: comma_delimited_list
81 label: Availability zones
82 description: List of availability zones.
86 label: vSON server group ID
88 Tells what policy should be applied to the ServerGroup.
89 Affinity policy will force instances to share the same hypervisor.
90 Anti-affinity will force instances to run in different hypervisors.
93 type: comma_delimited_list
94 label: vSON Cluster leader names
95 description: A list of unique names to be issued to the vSON Cluster leaders.
98 type: comma_delimited_list
99 label: vSON OAM network IP addresses
100 description: Fixed IP assignments for vSON instances on the OAM network.
105 description: The ID or name of the flavor to boot onto.
109 label: vSON Data Center name
110 description: Name of the vSON Data Center.
114 label: vSON Cluster Manager IP
115 description: IP of the vSON Cluster Manager.
117 swift_account_auth_token:
119 label: Swift account auth token
121 Swift account auth token.
122 Example: 041a5187bb4641f9b89583e2539776b0
127 type: OS::Heat::SwiftSignal
129 handle: {get_resource: wait_handle}
134 type: OS::Heat::SwiftSignalHandle
136 # vSON server OAM network port
137 vson_server_oam_net_port_0:
138 type: OS::Neutron::Port
142 template: VNF_NAME_VNF_ID_SERVER_NAME_oam_net_port_0
144 VNF_NAME: {get_param: vnf_name}
145 VNF_ID: {get_param: vnf_id}
146 SERVER_NAME: {get_param: [vson_vm_names, {get_param: instance_index}]}
147 network_id: {get_param: oam_net_id}
149 - ip_address: {get_param: [oam_net_ips, {get_param: instance_index}]}
151 - {get_param: oam_net_security_group_id}
155 type: OS::Nova::Server
156 depends_on: [vson_server_oam_net_port_0]
158 name: {get_param: [vson_vm_names, {get_param: instance_index}]}
159 block_device_mapping_v2:
161 volume_id: {get_param: [volume_ids, {get_param: instance_index}]}
162 delete_on_termination: False
163 availability_zone: {get_param: [availability_zones, {get_param: instance_index}]}
164 flavor: {get_param: vson_vm_flavor_name}
167 vnf_name: {get_param: vnf_name}
168 vnf_id: {get_param: vnf_id}
169 vf_module_name: {get_param: vf_module_name}
170 vf_module_id: {get_param: vf_module_id}
171 vm_role: {get_param: vfc_role}
173 - port: {get_resource: vson_server_oam_net_port_0}
175 group: {get_param: vson_server_group_id}
176 user_data_format: RAW
179 template: {get_file: deploy.sh}
181 $HOT_INSTANCE_INDEX: {get_param: instance_index}
182 $HOT_VFC_ROLE: {get_param: vfc_role}
183 $HOT_CLM_SERVER_IP: {get_param: vson_clm_oam_net_ip}
184 $HOT_THIS_INSTANCE_OAM_NET_IP: {get_param: [oam_net_ips, {get_param: instance_index}]}
185 $HOT_THIS_INSTANCE_OAM_NET_PREFIX: {get_param: oam_net_subnet_prefix_length}
186 $HOT_THIS_INSTANCE_DEFAULT_GATEWAY: {get_param: default_gateway}
187 $HOT_DNS_SERVERS: {list_join: [',', {get_param: dns_servers}]}
188 $HOT_DC_NAME: {get_param: vson_dc_unit}
189 $HOT_NTP_SERVERS: {list_join: [' ', {get_param: ntp_servers}]}
190 $HOT_SWIFT_AUTH_TOKEN: {get_param: swift_account_auth_token}
191 $HOT_WC_NOTIFY: { get_attr: ['wait_handle', 'curl_cli'] }