From 4885b488fdf103799aec924ca197eb7576dda07b Mon Sep 17 00:00:00 2001 From: Egon Rijpkema Date: Mon, 30 Jul 2018 15:03:58 +0200 Subject: [PATCH] Template for small cluster with its own network. --- heat_templates/example_cluster.yml | 99 ++++++++++++++++++++++++++++++ 1 file changed, 99 insertions(+) create mode 100644 heat_templates/example_cluster.yml diff --git a/heat_templates/example_cluster.yml b/heat_templates/example_cluster.yml new file mode 100644 index 0000000..d0b6cad --- /dev/null +++ b/heat_templates/example_cluster.yml @@ -0,0 +1,99 @@ +--- +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) + +resources: + internal_net: + type: OS::Neutron::Net + + internal_subnet: + type: OS::Neutron::Subnet + properties: + network_id: { get_resource: internal_net } + cidr: "192.168.104.0/24" + 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 } + + 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} + flavor: auxiliary + 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} + flavor: auxiliary + networks: + - network: internal_net + + vcompute01-volume: + type: OS::Cinder::Volume + properties: + size: 100 + + vcompute01: + type: OS::Nova::Server + properties: + key_name: adminkey + image: {get_param: image_name} + flavor: Compute + 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: + size: 100 + + vcompute02: + type: OS::Nova::Server + properties: + key_name: adminkey + image: {get_param: image_name} + flavor: Compute + networks: + - network: internal_net + + volume_attachment: + type: OS::Cinder::VolumeAttachment + properties: + volume_id: {get_resource: vcompute02-volume} + instance_uuid: {get_resource: vcompute02}