This module creates a DDN EXAScaler Cloud Lustre file system using exascaler-cloud-terraform.
More information about the architecture can be found at Architecture: Lustre file system in Google Cloud using DDN EXAScaler.
For more information on this and other network storage options in the Cloud HPC Toolkit, see the extended Network Storage documentation.
Warning: This file system has a license cost as described in the pricing section of the DDN EXAScaler Cloud Marketplace Solution.
Note: By default security.public_key is set to
null
, therefore the admin user is not created. To ensure the admin user is created, provide a public key via the security setting.Note: This module's instances require access to Google APIs and therefore, instances must have public IP address or it must be used in a subnetwork where Private Google Access is enabled.
To mount the DDN EXAScaler Lustre file system you must first install the DDN
Lustre client and then call the proper mount
command.
Both of these steps are automatically handled with the use of the use
command
in a selection of HPC Toolkit modules. See the compatibility matrix in
the network storage doc for a complete list of supported modules.
the hpc-enterprise-slurm.yaml for an
example of using this module with Slurm.
If mounting is not automatically handled as described above, the DDN-EXAScaler module outputs runners that can be used with the startup-script module to install the client and mount the file system. See the following example:
# This file system has an associated license cost.
# https://console.developers.google.com/marketplace/product/ddnstorage/exascaler-cloud
- id: lustrefs
source: community/modules/file-system/DDN-EXAScaler
use: [network1]
settings: {local_mount: /scratch}
- id: mount-at-startup
source: modules/scripts/startup-script
settings:
runners:
- $(lustrefs.install_ddn_lustre_client_runner)
- $(lustrefs.mount_runner)
See additional documentation from DDN EXAScaler.
EXAScaler Cloud includes self-help support with access to publicly available documents and videos. Premium support includes 24x7x365 access to DDN's experts, along with support community access, automated notifications of updates and other premium support features. For more information, visit EXAscaler Cloud on GCP.
Copyright 2022 Google LLC
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Name | Version |
---|---|
terraform | >= 0.13.0 |
No providers.
Name | Source | Version |
---|---|---|
ddn_exascaler | github.com/DDNStorage/exascaler-cloud-terraform//gcp | a3355d50deebe45c0556b45bd599059b7c06988d |
No resources.
Name | Description | Type | Default | Required |
---|---|---|---|---|
boot | Boot disk properties | object({ |
{ |
no |
cls | Compute client properties | object({ |
{ |
no |
clt | Compute client target properties | object({ |
{ |
no |
fsname | EXAScaler filesystem name, only alphanumeric characters are allowed, and the value must be 1-8 characters long | string |
"exacloud" |
no |
image | DEPRECATED: Source image properties | any |
null |
no |
instance_image | Source image properties Expected Fields: name: Unavailable with this module. family: The image family to use. project: The project where the image is hosted. |
map(string) |
{ |
no |
labels | Labels to add to EXAScaler Cloud deployment. Key-value pairs. | map(string) |
{} |
no |
local_mount | Mountpoint (at the client instances) for this EXAScaler system | string |
"/shared" |
no |
mds | Metadata server properties | object({ |
{ |
no |
mdt | Metadata target properties | object({ |
{ |
no |
mgs | Management server properties | object({ |
{ |
no |
mgt | Management target properties | object({ |
{ |
no |
mnt | Monitoring target properties | object({ |
{ |
no |
network_properties | Network options. 'network_self_link' or 'network_properties' must be provided. | object({ |
null |
no |
network_self_link | The self-link of the VPC network to where the system is connected. Ignored if 'network_properties' is provided. 'network_self_link' or 'network_properties' must be provided. | string |
null |
no |
oss | Object Storage server properties | object({ |
{ |
no |
ost | Object Storage target properties | object({ |
{ |
no |
prefix | EXAScaler Cloud deployment prefix (null defaults to 'exascaler-cloud') |
string |
null |
no |
project_id | Compute Platform project that will host the EXAScaler filesystem | string |
n/a | yes |
security | Security options | object({ |
{ |
no |
service_account | Service account name used by deploy application | object({ |
{ |
no |
subnetwork_address | The IP range of internal addresses for the subnetwork. Ignored if 'subnetwork_properties' is provided. | string |
null |
no |
subnetwork_properties | Subnetwork properties. 'subnetwork_self_link' or 'subnetwork_properties' must be provided. | object({ |
null |
no |
subnetwork_self_link | The self-link of the VPC subnetwork to where the system is connected. Ignored if 'subnetwork_properties' is provided. 'subnetwork_self_link' or 'subnetwork_properties' must be provided. | string |
null |
no |
waiter | Waiter to check progress and result for deployment. | string |
null |
no |
zone | Compute Platform zone where the servers will be located | string |
n/a | yes |
Name | Description |
---|---|
client_config_script | Script that will install DDN EXAScaler lustre client. The machine running this script must be on the same network & subnet as the EXAScaler. |
http_console | HTTP address to access the system web console. |
install_ddn_lustre_client_runner | Runner that encapsulates the client_config_script output on this module. |
mount_command | Command to mount the file system. client_config_script must be run first. |
mount_runner | Runner to mount the DDN EXAScaler Lustre file system |
network_storage | Describes a EXAScaler system to be mounted by other systems. |
private_addresses | Private IP addresses for all instances. |
ssh_console | Instructions to ssh into the instances. |