This module creates a opinionated deployment of DAOS on GCP.
The resources/services/activations/deletions that this module will create/trigger are:
- Create an instance tempate for DAOS servers
- Create a stateful instance group for DAOS servers
Copyright 2023 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.14.5 |
>= 3.54.0 | |
google-beta | >= 4.16.0 |
Name | Version |
---|---|
>= 3.54.0 | |
google-beta | >= 4.16.0 |
No modules.
Name | Type |
---|---|
google-beta_google_compute_instance.named_instances | resource |
google_compute_disk.daos_server_boot_disk | resource |
google_secret_manager_secret.daos_ca | resource |
google_secret_manager_secret_iam_policy.daos_ca_secret_policy | resource |
google_compute_default_service_account.default | data source |
google_compute_image.os_image | data source |
google_iam_policy.daos_ca_secret_version_manager | data source |
Name | Description | Type | Default | Required |
---|---|---|---|---|
allow_insecure | Sets the allow_insecure setting in the transport_config section of the daos_*.yml files | bool |
false |
no |
daos_crt_timeout | crt_timeout | number |
300 |
no |
daos_disk_count | Number of local ssd's to use | number |
16 |
no |
daos_scm_size | scm_size | number |
200 |
no |
gvnic | Use Google Virtual NIC (gVNIC) network interface | bool |
false |
no |
instance_base_name | Base name for DAOS server instances | string |
"daos-server" |
no |
labels | Set of key/value label pairs to assign to daos-server instances | any |
{} |
no |
machine_type | GCP machine type. ie. e2-medium | string |
"n2-custom-36-215040" |
no |
network_name | Name of the GCP network to use | string |
"default" |
no |
number_of_instances | Number of daos servers to bring up | number |
4 |
no |
os_disk_size_gb | OS disk size in GB | number |
20 |
no |
os_disk_type | OS disk type ie. pd-ssd, pd-standard | string |
"pd-ssd" |
no |
os_family | OS GCP image family | string |
"daos-server-hpc-rocky-8" |
no |
os_project | OS GCP image project name. Defaults to project_id if null. | string |
null |
no |
pools | List of pools and containers to be created | list(object({ |
[] |
no |
preemptible | If preemptible instances | string |
false |
no |
project_id | The GCP project to use | string |
n/a | yes |
region | The GCP region to create and test resources in | string |
n/a | yes |
service_account | Service account to attach to the instance. See https://www.terraform.io/docs/providers/google/r/compute_instance_template.html#service_account. | object({ |
{ |
no |
subnetwork_name | Name of the GCP sub-network to use | string |
"default" |
no |
subnetwork_project | The GCP project where the subnetwork is defined | string |
null |
no |
zone | The GCP zone to create and test resources in | string |
n/a | yes |
Name | Description |
---|---|
access_points | List of DAOS servers to use as access points |
certs_install_content | Cert installation content to include in the daos_client startup script |
daos_agent_yml | YAML to configure the daos agent. This is typically saved in /etc/daos/daos_agent.yml |
daos_client_config_script | Script to configure the DAOS system. This will format the sytem with dmg -l and optionally create the specified pools. |
daos_client_install_script | Script to install the DAOS client package. |
daos_control_yml | YAML configuring DAOS control. This is typically saved in /etc/daos/daos_control.yml |
daos_pools | Specification of pools and containers to create |