diff options
Diffstat (limited to 'deployment/heat/heat.yaml')
-rw-r--r-- | deployment/heat/heat.yaml | 103 |
1 files changed, 103 insertions, 0 deletions
diff --git a/deployment/heat/heat.yaml b/deployment/heat/heat.yaml new file mode 100644 index 0000000..9718c5c --- /dev/null +++ b/deployment/heat/heat.yaml @@ -0,0 +1,103 @@ +description: Heat template for deploying Mass PNF Simulator +heat_template_version: '2017-02-24' +parameters: + flavor_name: + description: Flavor name of the simulator instance. This should depend on the requested amount of simulator instances + type: string + image_name: + description: Name or id of the image (Debian family only) + type: string + key_name: + label: Key pair name for passwordless login to instance + type: string + float_net_id: + description: ID of the network with a pool of floating IPs + label: Floating IP network + type: string + instance_net_id: + type: string + description: Id of a private network for instance interface + simulator_instances: + type: number + description: Number of simulator instances to run on cloud instance + ves_url: + type: string + description: VES Collector url + ftp_user: + type: string + description: Username for the ftp server + ftp_password: + type: string + description: Password for the ftp server +resources: + config: + type: OS::Heat::SoftwareConfig + properties: + config: + get_file: cloud-config.yaml + sim_script: + type: OS::Heat::SoftwareConfig + properties: + config: + str_replace: + template: + get_file: mass-pnf-sim_run.sh + params: + $SIMULATOR_INSTANCES: { get_param: simulator_instances } + $VES_URL: { get_param: ves_url } + $FILE_SERVER: { get_attr: [simulator_floating_ip, floating_ip_address] } + $FTP_USER: { get_param: ftp_user } + $FTP_PASSWORD: { get_param: ftp_password } + sim_script_file: + type: OS::Heat::CloudConfig + properties: + cloud_config: + write_files: + - path: /root/mass-pnf-sim_run.sh + content: + get_attr: [sim_script, config] + simulator_port: + type: OS::Neutron::Port + properties: + network: + get_param: instance_net_id + simulator_floating_ip: + type: OS::Neutron::FloatingIP + properties: + floating_network: + get_param: float_net_id + port_id: + get_resource: simulator_port + cloud_config: + type: OS::Heat::MultipartMime + properties: + parts: + - config: + get_resource: config + - config: + get_resource: sim_script_file + simulator: + type: OS::Nova::Server + properties: + name: mass-pnf-simulator + key_name: + get_param: key_name + image: + get_param: image_name + flavor: + get_param: flavor_name + networks: + - port: + get_resource: simulator_port + user_data_format: RAW + user_data: + get_resource: cloud_config +outputs: + simulator_instance_id: + description: ID of the simulator instance + value: + get_resource: simulator + simulator_instance_fip: + description: Floating IP address of the simulator instance + value: + get_attr: [simulator_floating_ip, floating_ip_address] |