Skip to content

Commit 4789bed

Browse files
authored
feat: updated default value of member_memory_mb to 4096.<br><br>Reference: [Cloud Database Hosting Models](https://cloud.ibm.com/docs/cloud-databases?topic=cloud-databases-hosting-models)<br><br>The [host model switching](https://cloud.ibm.com/docs/cloud-databases?topic=cloud-databases-hosting-models&interface=api#hosting-models-switching) section has details of the migrations that the service is rolling out. All instances will have to be switched and the [time line](https://cloud.ibm.com/docs/cloud-databases?topic=cloud-databases-hosting-models&interface=api#hosting-model-transition-timeline) for the migrations is outlined.<br><br>During the transition both existing and new models are supported.<br><br>Users of this module should consider the changes being implemented by the service. It is recommended that new deployments use the shared or isolated compute models to start, by specifying the member_host_flavor. It is recommended that existing deployments make updates to control the upgrade process by specifying shared or isolate compute configurations and the resource required to run the service, by adding the member_host_flavor. (#439)
1 parent ec2fd4e commit 4789bed

File tree

9 files changed

+42
-36
lines changed

9 files changed

+42
-36
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,7 @@ To attach access management tags to resources in this module, you need the follo
101101
| <a name="input_member_cpu_count"></a> [member\_cpu\_count](#input\_member\_cpu\_count) | Allocated dedicated CPU per member. For shared CPU, set to 0. For more information, see https://cloud.ibm.com/docs/databases-for-postgresql?topic=databases-for-postgresql-resources-scaling | `number` | `0` | no |
102102
| <a name="input_member_disk_mb"></a> [member\_disk\_mb](#input\_member\_disk\_mb) | Allocated disk per member. For more information, see https://cloud.ibm.com/docs/databases-for-postgresql?topic=databases-for-postgresql-resources-scaling | `number` | `5120` | no |
103103
| <a name="input_member_host_flavor"></a> [member\_host\_flavor](#input\_member\_host\_flavor) | Allocated host flavor per member. For more information, see https://registry.terraform.io/providers/IBM-Cloud/ibm/latest/docs/resources/database#host_flavor | `string` | `null` | no |
104-
| <a name="input_member_memory_mb"></a> [member\_memory\_mb](#input\_member\_memory\_mb) | Allocated memory per-member. See the following doc for supported values: https://cloud.ibm.com/docs/databases-for-postgresql?topic=databases-for-postgresql-resources-scaling | `number` | `1024` | no |
104+
| <a name="input_member_memory_mb"></a> [member\_memory\_mb](#input\_member\_memory\_mb) | Allocated memory per-member. See the following doc for supported values: https://cloud.ibm.com/docs/databases-for-postgresql?topic=databases-for-postgresql-resources-scaling | `number` | `4096` | no |
105105
| <a name="input_members"></a> [members](#input\_members) | Allocated number of members. Members can be scaled up but not down. | `number` | `2` | no |
106106
| <a name="input_name"></a> [name](#input\_name) | The name to give the Postgresql instance. | `string` | n/a | yes |
107107
| <a name="input_pg_version"></a> [pg\_version](#input\_pg\_version) | Version of the PostgreSQL instance to provision. If no value is passed, the current preferred version of IBM Cloud Databases is used. | `string` | `null` | no |

examples/backup/main.tf

Lines changed: 18 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -11,14 +11,15 @@ module "resource_group" {
1111
}
1212

1313
module "postgresql_db" {
14-
count = var.postgresql_db_backup_crn != null ? 0 : 1
15-
source = "../.."
16-
resource_group_id = module.resource_group.resource_group_id
17-
name = "${var.prefix}-postgres"
18-
pg_version = var.pg_version
19-
region = var.region
20-
resource_tags = var.resource_tags
21-
access_tags = var.access_tags
14+
count = var.postgresql_db_backup_crn != null ? 0 : 1
15+
source = "../.."
16+
resource_group_id = module.resource_group.resource_group_id
17+
name = "${var.prefix}-postgres"
18+
pg_version = var.pg_version
19+
region = var.region
20+
resource_tags = var.resource_tags
21+
access_tags = var.access_tags
22+
member_host_flavor = "multitenant"
2223
}
2324

2425
data "ibm_database_backups" "backup_database" {
@@ -28,12 +29,13 @@ data "ibm_database_backups" "backup_database" {
2829

2930
# New postgresql instance pointing to the backup instance
3031
module "restored_postgresql_db" {
31-
source = "../.."
32-
resource_group_id = module.resource_group.resource_group_id
33-
name = "${var.prefix}-postgres-restored"
34-
pg_version = var.pg_version
35-
region = var.region
36-
resource_tags = var.resource_tags
37-
access_tags = var.access_tags
38-
backup_crn = var.postgresql_db_backup_crn == null ? data.ibm_database_backups.backup_database[0].backups[0].backup_id : var.postgresql_db_backup_crn
32+
source = "../.."
33+
resource_group_id = module.resource_group.resource_group_id
34+
name = "${var.prefix}-postgres-restored"
35+
pg_version = var.pg_version
36+
region = var.region
37+
resource_tags = var.resource_tags
38+
access_tags = var.access_tags
39+
member_host_flavor = "multitenant"
40+
backup_crn = var.postgresql_db_backup_crn == null ? data.ibm_database_backups.backup_database[0].backups[0].backup_id : var.postgresql_db_backup_crn
3941
}

examples/complete/main.tf

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -106,6 +106,7 @@ module "postgresql_db" {
106106
resource_tags = var.resource_tags
107107
service_credential_names = var.service_credential_names
108108
access_tags = var.access_tags
109+
member_host_flavor = "multitenant"
109110
# Example of setting configuration - none of the below is mandatory - those settings are set in this example for illustation purpose and ensure path is exercised in automated test using this example.
110111
configuration = {
111112
shared_buffers = 32000

examples/fscloud/main.tf

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,7 @@ module "postgresql_db" {
6767
service_credential_names = var.service_credential_names
6868
access_tags = var.access_tags
6969
auto_scaling = var.auto_scaling
70+
member_host_flavor = "b3c.4x16.encrypted"
7071
cbr_rules = [
7172
{
7273
description = "${var.prefix}-postgres access only from vpc"

examples/pitr/main.tf

Lines changed: 15 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -12,17 +12,19 @@ module "resource_group" {
1212

1313
# New ICD postgresql database instance pointing to a PITR time
1414
module "postgresql_db_pitr" {
15-
source = "../.."
16-
resource_group_id = module.resource_group.resource_group_id
17-
name = "${var.prefix}-postgres-pitr"
18-
region = var.region
19-
resource_tags = var.resource_tags
20-
access_tags = var.access_tags
21-
member_memory_mb = 3072
22-
member_disk_mb = 15360
23-
member_cpu_count = 9
24-
members = var.members
25-
pg_version = var.pg_version
26-
pitr_id = var.pitr_id
27-
pitr_time = var.pitr_time == "" ? " " : var.pitr_time
15+
source = "../.."
16+
resource_group_id = module.resource_group.resource_group_id
17+
name = "${var.prefix}-postgres-pitr"
18+
region = var.region
19+
resource_tags = var.resource_tags
20+
access_tags = var.access_tags
21+
member_memory_mb = 3072
22+
member_disk_mb = 15360
23+
member_cpu_count = 9
24+
member_host_flavor = "multitenant"
25+
members = var.members
26+
pg_version = var.pg_version
27+
pitr_id = var.pitr_id
28+
pitr_time = var.pitr_time == "" ? " " : var.pitr_time
29+
2830
}

main.tf

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ resource "ibm_database" "postgresql_db" {
8888
dynamic "group" {
8989
for_each = local.host_flavor_set && var.member_host_flavor != "multitenant" ? [1] : []
9090
content {
91-
group_id = "member" # Only member type is allowed for postgresql
91+
group_id = "member" # Only member type is allowed for IBM Cloud Databases
9292
host_flavor {
9393
id = var.member_host_flavor
9494
}
@@ -108,7 +108,7 @@ resource "ibm_database" "postgresql_db" {
108108
dynamic "group" {
109109
for_each = local.host_flavor_set && var.member_host_flavor == "multitenant" ? [1] : []
110110
content {
111-
group_id = "member" # Only member type is allowed for postgresql
111+
group_id = "member" # Only member type is allowed for IBM Cloud Databases
112112
host_flavor {
113113
id = var.member_host_flavor
114114
}
@@ -134,7 +134,7 @@ resource "ibm_database" "postgresql_db" {
134134
dynamic "group" {
135135
for_each = local.host_flavor_set ? [] : [1]
136136
content {
137-
group_id = "member" # Only member type is allowed for postgresql
137+
group_id = "member" # Only member type is allowed for IBM Cloud Databases
138138
memory {
139139
allocation_mb = var.member_memory_mb
140140
}

modules/fscloud/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ No resources.
4242
| <a name="input_member_cpu_count"></a> [member\_cpu\_count](#input\_member\_cpu\_count) | Allocated dedicated CPU per member. For shared CPU, set to 0. For more information, see https://cloud.ibm.com/docs/databases-for-postgresql?topic=databases-for-postgresql-resources-scaling | `number` | `3` | no |
4343
| <a name="input_member_disk_mb"></a> [member\_disk\_mb](#input\_member\_disk\_mb) | Allocated disk per member. For more information, see https://cloud.ibm.com/docs/databases-for-postgresql?topic=databases-for-postgresql-resources-scaling | `number` | `5120` | no |
4444
| <a name="input_member_host_flavor"></a> [member\_host\_flavor](#input\_member\_host\_flavor) | Allocated host flavor per member. For more information, see https://registry.terraform.io/providers/IBM-Cloud/ibm/latest/docs/resources/database#host_flavor | `string` | `null` | no |
45-
| <a name="input_member_memory_mb"></a> [member\_memory\_mb](#input\_member\_memory\_mb) | Allocated memory per member. For more information, see https://cloud.ibm.com/docs/databases-for-postgresql?topic=databases-for-postgresql-resources-scaling | `number` | `1024` | no |
45+
| <a name="input_member_memory_mb"></a> [member\_memory\_mb](#input\_member\_memory\_mb) | Allocated memory per member. For more information, see https://cloud.ibm.com/docs/databases-for-postgresql?topic=databases-for-postgresql-resources-scaling | `number` | `4096` | no |
4646
| <a name="input_members"></a> [members](#input\_members) | Allocated number of members. Members can be scaled up but not down. | `number` | `2` | no |
4747
| <a name="input_name"></a> [name](#input\_name) | The name to give the Postgresql instance. | `string` | n/a | yes |
4848
| <a name="input_pg_version"></a> [pg\_version](#input\_pg\_version) | Version of the PostgreSQL instance. If no value is passed, the current preferred version of IBM Cloud Databases is used. | `string` | `null` | no |

modules/fscloud/variables.tf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ variable "region" {
3232
variable "member_memory_mb" {
3333
type = number
3434
description = "Allocated memory per member. For more information, see https://cloud.ibm.com/docs/databases-for-postgresql?topic=databases-for-postgresql-resources-scaling"
35-
default = 1024
35+
default = 4096
3636
}
3737

3838
variable "member_disk_mb" {

variables.tf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ variable "region" {
4343
variable "member_memory_mb" {
4444
type = number
4545
description = "Allocated memory per-member. See the following doc for supported values: https://cloud.ibm.com/docs/databases-for-postgresql?topic=databases-for-postgresql-resources-scaling"
46-
default = 1024
46+
default = 4096
4747
# Validation is done in the Terraform plan phase by the IBM provider, so no need to add extra validation here.
4848
}
4949

0 commit comments

Comments
 (0)