Newer
Older

Andreas Hamacher
committed
---
heat_template_version: 2013-05-23
description: "A simple template to boot a cluster of desktops (LoginNode, ManagementNodes and Desktop Nodes)"
# avz parameters disabled. they are working but I want just more options than monash-02. I would like to have a parameter that says "I don't care"

Andreas Hamacher
committed
#This requires gc_secgroups to be called beforehand

Andreas Hamacher
committed
parameters:
ubuntu_1804_image_id:
type: string
label: Image ID
description: Ubuntu Image
default: 99d9449a-084f-4901-8bd8-c04aebd589ca
centos_7_image_id:
type: string
label: Image ID
description: Centos Image
default: c47c3acb-9657-4243-9e14-e6c676157e3b #with NetworkManager
rhel_77_image_id:
type: string
label: Image ID
description: Rhel Image
default: 19993115-ad60-4979-bdfb-67ae7a77e40c

Andreas Hamacher
committed
ssh_key:
type: string
default: gc_key
avz:
type: string
default: monash-02
project_name:
type: string
NetID:
type: string
default: Classic Provider
Flavour:
type: string

Andreas Hamacher
committed
SlurmSecGroupID:
type: string
label: Resource ID
default: 6e7a09b0-981c-424f-a9b7-9fd4f4d8f416
NFSSecGroupID:
type: string
label: Resource ID
default: b07a75a3-830c-4778-96c6-8a3732ec7d6c
MySQLSecGroupID:
type: string
label: Resource ID
default: 4478f245-de5c-4177-bcbd-6fa661032cbe
SSHMonashSecGroupID:
type: string
label: Resource ID
default: c15081f4-c756-4c57-b8cf-388dd7fdbcd4
HTTPsSecGroupID:
type: string
label: Resource ID
default: 2d4510c3-ae73-44ea-9700-b6f0a00bf7aa
PublicSSHSecGroupID:
type: string
label: Resource ID
default: 8a029c04-08ce-40f1-a705-d45a2077e27d
LDAPSecGroupID:
type: string
label: Resource ID
default: 070a32e2-858b-462a-b2b5-b3a92eec2669
SYSLOGSecGroupID:
type: string
label: Resource ID
default: 1de45b93-e5f6-4838-94f7-fc307752d6cb

Andreas Hamacher
committed
resources:

Andreas Hamacher
committed
SQLNode0:
type: "OS::Nova::Server"
properties:
name:
list_join: [ '-', [ { get_param: "OS::stack_name" }, 'sql0' ]]
availability_zone: { get_param: avz }
image: { get_param: centos_7_image_id }

Andreas Hamacher
committed
key_name: { get_param: ssh_key }
security_groups: [ { get_param: SSHMonashSecGroupID }, { get_param: SlurmSecGroupID }, { get_param: MySQLSecGroupID }, { get_param: NFSSecGroupID }, { get_param: LDAPSecGroupID }, { get_param: SYSLOGSecGroupID } ]

Andreas Hamacher
committed
metadata:
ansible_host_groups: [ SQLNodes, NFSNodes, LDAPServer, CentosNodes, LogNodes ]

Andreas Hamacher
committed
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
project_name: { get_param: project_name }
networks:
- network: { get_param: NetID }
NFSVolume:
type: OS::Cinder::Volume
properties:
availability_zone: { get_param: avz }
size: 1
name: nfsvol
NFSVolumeAttachment:
type: "OS::Cinder::VolumeAttachment"
properties:
volume_id: { get_resource: NFSVolume }
instance_uuid: { get_resource: SQLNode0 }
SLURMSTATEVolume:
type: OS::Cinder::Volume
properties:
availability_zone: { get_param: avz }
size: 1
name: slurmstate
SLURMSTATEVolumeAttachment:
type: "OS::Cinder::VolumeAttachment"
properties:
volume_id: { get_resource: SLURMSTATEVolume }
instance_uuid: { get_resource: SQLNode0 }
DBVolume:
type: OS::Cinder::Volume
properties:
availability_zone: { get_param: avz }
size: 10
name: dbvol
DBVolumeAttachment:
type: "OS::Cinder::VolumeAttachment"
properties:
volume_id: { get_resource: DBVolume }
instance_uuid: { get_resource: SQLNode0 }

Andreas Hamacher
committed
type: "OS::Heat::ResourceGroup"
properties:

Andreas Hamacher
committed
resource_def:

Andreas Hamacher
committed
properties:
#avz: { get_param: avz }
image: { get_param: centos_7_image_id }
ansible_ssh_user: ec2-user

Andreas Hamacher
committed
mynodename:
list_join: [ '-', [ { get_param: "OS::stack_name" }, 'mgmt%index%' ]]
ssh_key: { get_param: ssh_key }
security_groups: [ default, { get_param: SSHMonashSecGroupID }, { get_param: SlurmSecGroupID }, { get_param: NFSSecGroupID }, { get_param: MySQLSecGroupID }, { get_param: SYSLOGSecGroupID } ]
MgmtNodesU:
type: "OS::Heat::ResourceGroup"
properties:
resource_def:
type: My::Server::MgmtNode
properties:
#avz: { get_param: avz }
image: { get_param: ubuntu_1804_image_id }
ansible_ssh_user: ubuntu
list_join: [ '-', [ { get_param: "OS::stack_name" }, 'mgmtU%index%' ]]
security_groups: [ default, { get_param: SSHMonashSecGroupID }, { get_param: SlurmSecGroupID }, { get_param: NFSSecGroupID }, { get_param: MySQLSecGroupID }, { get_param: SYSLOGSecGroupID } ]

Andreas Hamacher
committed
project_name: { get_param: project_name }

Andreas Hamacher
committed
type: "OS::Heat::ResourceGroup"
properties:

Andreas Hamacher
committed
resource_def:
type: "OS::Nova::Server"
properties:
#availability_zone: { get_param: avz }

Andreas Hamacher
committed
image: { get_param: centos_7_image_id }
key_name: { get_param: ssh_key }
name:
list_join: [ '-', [ { get_param: "OS::stack_name" }, 'login%index%' ]]
security_groups: [ default, { get_param: PublicSSHSecGroupID }, { get_param: SlurmSecGroupID }, { get_param: NFSSecGroupID }, { get_param: LDAPSecGroupID }, { get_param: SYSLOGSecGroupID } ]

Andreas Hamacher
committed
metadata:

Andreas Hamacher
committed
ansible_ssh_user: ec2-user
project_name: { get_param: project_name }
networks:
- network: { get_param: NetID }
LoginNodesU:
type: "OS::Heat::ResourceGroup"
properties:
resource_def:
type: "OS::Nova::Server"
properties:
#availability_zone: { get_param: avz }
image: { get_param: ubuntu_1804_image_id }
key_name: { get_param: ssh_key }
name:
list_join: [ '-', [ { get_param: "OS::stack_name" }, 'loginU%index%' ]]
security_groups: [ default, { get_param: SSHMonashSecGroupID }, { get_param: SlurmSecGroupID }, { get_param: NFSSecGroupID }, { get_param: LDAPSecGroupID }, { get_param: SYSLOGSecGroupID } ]
ansible_ssh_user: ubuntu
project_name: { get_param: project_name }
networks:

Andreas Hamacher
committed
DesktopNodes:
type: "OS::Heat::ResourceGroup"
properties:
count: 0
resource_def:
type: "OS::Nova::Server"
properties:
#availability_zone: { get_param: avz }

Andreas Hamacher
committed
image: { get_param: centos_7_image_id }
key_name: { get_param: ssh_key }
name:
list_join: [ '-', [ { get_param: "OS::stack_name" }, 'desktopc%index%' ]]
security_groups: [ default, { get_param: SSHMonashSecGroupID }, { get_param: SlurmSecGroupID }, { get_param: NFSSecGroupID }, { get_param: LDAPSecGroupID }, { get_param: SYSLOGSecGroupID } ]

Andreas Hamacher
committed
metadata:
ansible_host_groups: [ DesktopNodes, VisNodes, ComputeNodes, CentosNodes ]

Andreas Hamacher
committed
ansible_ssh_user: ec2-user
project_name: { get_param: project_name }
networks:
- network: { get_param: NetID }

Andreas Hamacher
committed
type: "OS::Heat::ResourceGroup"
properties:

Andreas Hamacher
committed
resource_def:
type: "OS::Nova::Server"
properties:
#availability_zone: { get_param: avz }

Andreas Hamacher
committed
key_name: { get_param: ssh_key }
name:
list_join: [ '-', [ { get_param: "OS::stack_name" }, 'computeU%index%' ]]
security_groups: [ default, { get_param: SlurmSecGroupID }, { get_param: NFSSecGroupID }, { get_param: SSHMonashSecGroupID }, { get_param: LDAPSecGroupID }, { get_param: SYSLOGSecGroupID } ]

Andreas Hamacher
committed
metadata:

Andreas Hamacher
committed
project_name: { get_param: project_name }
networks:
- network: { get_param: NetID }
resource_def:
type: "OS::Nova::Server"
properties:
#availability_zone: { get_param: avz }
image: { get_param: centos_7_image_id }
key_name: { get_param: ssh_key }
name:
list_join: [ '-', [ { get_param: "OS::stack_name" }, 'computec7%index%' ]]
security_groups: [ default, { get_param: SSHMonashSecGroupID }, { get_param: SlurmSecGroupID }, { get_param: NFSSecGroupID }, { get_param: LDAPSecGroupID }, { get_param: SYSLOGSecGroupID } ]
ansible_ssh_user: ec2-user
project_name: { get_param: project_name }
networks:
- network: { get_param: NetID }

Andreas Hamacher
committed
UbuntuDesktopNodes:
type: "OS::Heat::ResourceGroup"
properties:
count: 0

Andreas Hamacher
committed
resource_def:
type: "OS::Nova::Server"
properties:
#availability_zone: { get_param: avz }

Andreas Hamacher
committed
image: { get_param: ubuntu_1804_image_id }
key_name: { get_param: ssh_key }
name:
list_join: [ '-', [ { get_param: "OS::stack_name" }, 'gpudesktopu%index%' ]]
security_groups: [ default, { get_param: SSHMonashSecGroupID }, { get_param: SlurmSecGroupID }, { get_param: NFSSecGroupID }, { get_param: LDAPSecGroupID }, { get_param: SYSLOGSecGroupID } ]

Andreas Hamacher
committed
metadata:
ansible_host_groups: [ DesktopNodes, GPU, ComputeNodes, VisNodes, UbuntuNodes ]

Andreas Hamacher
committed
ansible_ssh_user: ubuntu
project_name: { get_param: project_name }
networks:
- network: { get_param: NetID }
CentosDesktopNodes:
type: "OS::Heat::ResourceGroup"
properties:
resource_def:
type: "OS::Nova::Server"
properties:
#availability_zone: { get_param: avz }
flavor: mon.c10r35.gpu-k2
image: { get_param: centos_7_image_id }
key_name: { get_param: ssh_key }
name:
list_join: [ '-', [ { get_param: "OS::stack_name" }, 'gpudesktopc%index%' ]]
security_groups: [ default, { get_param: SSHMonashSecGroupID }, { get_param: SlurmSecGroupID }, { get_param: NFSSecGroupID }, { get_param: SYSLOGSecGroupID } ]
ansible_host_groups: [ DesktopNodes, GPU, ComputeNodes, K1, VisNodes, CentosNodes ]
ansible_ssh_user: ec2-user
project_name: { get_param: project_name }
networks:
- network: { get_param: NetID }
ComputeNodeRHEL:
type: "OS::Heat::ResourceGroup"
properties:
resource_def:
type: "OS::Nova::Server"
properties:
#availability_zone: { get_param: avz }
flavor: m3.xsmall
image: { get_param: rhel_77_image_id }
key_name: { get_param: ssh_key }
name:
list_join: [ '-', [ { get_param: "OS::stack_name" }, 'computerhel%index%' ]]
security_groups: [ default, { get_param: SSHMonashSecGroupID }, { get_param: SlurmSecGroupID }, { get_param: NFSSecGroupID }, { get_param: LDAPSecGroupID }, { get_param: SYSLOGSecGroupID } ]