aboutsummaryrefslogtreecommitdiffstats
path: root/deployment/heat/heat.yaml
diff options
context:
space:
mode:
Diffstat (limited to 'deployment/heat/heat.yaml')
-rw-r--r--deployment/heat/heat.yaml103
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]