hpc-cloud/heat_templates/example_cluster.yml

116 lines
3.0 KiB
YAML
Raw Normal View History

---
heat_template_version: 2015-04-30
description: Simple Example template to deploy a virtual compute cluster.
parameters:
image_name:
type: string
label: Image Name
description: Name of image to be used for compute instance
public_net:
type: string
label: Public Net Name
description: Public network used for router.
ssh_key:
type: string
label: ssh key name.
description: ssh public key name. (Must be uploaded to openstack first)
2018-07-31 13:36:31 +02:00
compute_flavor:
type: string
label: Flavor for compute nodes,
description: Flavor with which to start compute nodes.
compute_flavor:
type: string
label: Flavor for auxiliary nodes.
description: Flavor with which to start auxiliary nodes. (for now only the interface machine)
cidr:
type: string
label: Cidr for internal subnet
description: Cidr for the subnet of the internal user network.
volume_size:
type: string
label: Size (GB)
description: Size (GB) of the volume for each compute node
resources:
internal_net:
type: OS::Neutron::Net
internal_subnet:
type: OS::Neutron::Subnet
properties:
network_id: { get_resource: internal_net }
2018-07-31 13:36:31 +02:00
cidr: { get_resource: cidr }
dns_nameservers: [ "129.125.4.6", "129.125.36.10" ]
ip_version: 4
internal_router:
type: OS::Neutron::Router
properties:
external_gateway_info: { network: public_net }
internal_interface:
type: OS::Neutron::RouterInterface
properties:
router_id: { get_resource: internal_router }
subnet: { get_resource: internal_subnet }
interface: # User-interface for cluster-operation
type: OS::Nova::Server
properties:
key_name: {get_param: ssh_key}
image: {get_param: image_name}
2018-07-31 13:36:31 +02:00
flavor: {get_param: aux_flavor}
networks:
- network: internal_net
admin: # Machine to run slurm and other admin tools on.
type: OS::Nova::Server
properties:
key_name: {get_param: ssh_key}
image: {get_param: image_name}
2018-07-31 13:36:31 +02:00
flavor: {get_param: aux_flavor}
networks:
- network: internal_net
vcompute01-volume:
type: OS::Cinder::Volume
properties:
2018-07-31 13:36:31 +02:00
size: { get_param: volume_size }
vcompute01:
type: OS::Nova::Server
properties:
key_name: adminkey
image: {get_param: image_name}
2018-07-31 13:36:31 +02:00
flavor: {get_param: compute_flavor}
networks:
- network: internal_net
volume_attachment:
type: OS::Cinder::VolumeAttachment
properties:
volume_id: {get_resource: vcompute01-volume}
instance_uuid: {get_resource: vcompute01}
vcompute02-volume:
type: OS::Cinder::Volume
properties:
2018-07-31 13:36:31 +02:00
size: { get_param: volume_size }
vcompute02:
type: OS::Nova::Server
properties:
key_name: adminkey
image: {get_param: image_name}
2018-07-31 13:36:31 +02:00
flavor: {get_param: compute_flavor}
networks:
- network: internal_net
volume_attachment:
type: OS::Cinder::VolumeAttachment
properties:
volume_id: {get_resource: vcompute02-volume}
instance_uuid: {get_resource: vcompute02}