Skip to content

feat: support for new ICD hosting model #439

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 7 commits into from
Jul 12, 2024
Merged

feat: support for new ICD hosting model #439

merged 7 commits into from
Jul 12, 2024

Conversation

shemau
Copy link
Contributor

@shemau shemau commented Jun 26, 2024

Description

Add support for the IBM Cloud Database new hosting model, including bumping minimum memory requirements from 1G to 4G.

Release required?

  • No release
  • Patch release (x.x.X)
  • Minor release (x.X.x)
  • Major release (X.x.x)
Release notes content

Reference: Cloud Database Hosting Models

The host model switching section has details of the migrations that the service is rolling out. All instances will have to be switched and the time line for the migrations is outlined.

During the transition both existing and new models are supported.

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 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 host_flavor.

Run the pipeline

If the CI pipeline doesn't run when you create the PR, the PR requires a user with GitHub collaborators access to run the pipeline.

Run the CI pipeline when the PR is ready for review and you expect tests to pass. Add a comment to the PR with the following text:

/run pipeline

Checklist for reviewers

  • If relevant, a test for the change is included or updated with this PR.
  • If relevant, documentation for the change is included or updated with this PR.

For mergers

  • Use a conventional commit message to set the release level. Follow the guidelines.
  • Include information that users need to know about the PR in the commit message. The commit message becomes part of the GitHub release notes.
  • Use the Squash and merge option.

@shemau shemau marked this pull request as draft June 26, 2024 22:45
@shemau
Copy link
Contributor Author

shemau commented Jun 28, 2024

/run pipeline

@shemau
Copy link
Contributor Author

shemau commented Jun 28, 2024

The only change during upgrade is the group block and results in an update in-place.

This is expected and the exact details vary by the existing deployment.

existing deployment with less then 4G memory: The group memory block will update in-place to 4G of memory.
existing deployment with 4G plus memory: No change.
existing deployment adding host_flavor (as below): The group memory block will update in-place to the flavor chosen.

The upgrade test is safe to skip

TestRunUpgradeCompleteExample 2024-06-28T08:59:07Z command.go:185: 
TestRunUpgradeCompleteExample 2024-06-28T08:59:07Z command.go:185: Terraform used the selected providers to generate the following execution
TestRunUpgradeCompleteExample 2024-06-28T08:59:07Z command.go:185: plan. Resource actions are indicated with the following symbols:
TestRunUpgradeCompleteExample 2024-06-28T08:59:07Z command.go:185:   ~ update in-place
TestRunUpgradeCompleteExample 2024-06-28T08:59:07Z command.go:185:  <= read (data resources)
TestRunUpgradeCompleteExample 2024-06-28T08:59:07Z command.go:185: 
TestRunUpgradeCompleteExample 2024-06-28T08:59:07Z command.go:185: Terraform will perform the following actions:
TestRunUpgradeCompleteExample 2024-06-28T08:59:07Z command.go:185: 
TestRunUpgradeCompleteExample 2024-06-28T08:59:07Z command.go:185:   # module.postgresql_db.data.ibm_database_connection.database_connection will be read during apply
TestRunUpgradeCompleteExample 2024-06-28T08:59:07Z command.go:185:   # (depends on a resource or a module with changes pending)
TestRunUpgradeCompleteExample 2024-06-28T08:59:07Z command.go:185:  <= data "ibm_database_connection" "database_connection" {
TestRunUpgradeCompleteExample 2024-06-28T08:59:07Z command.go:185:       + amqps         = (known after apply)
TestRunUpgradeCompleteExample 2024-06-28T08:59:07Z command.go:185:       + analytics     = (known after apply)
TestRunUpgradeCompleteExample 2024-06-28T08:59:07Z command.go:185:       + bi_connector  = (known after apply)
TestRunUpgradeCompleteExample 2024-06-28T08:59:07Z command.go:185:       + cli           = (known after apply)
TestRunUpgradeCompleteExample 2024-06-28T08:59:07Z command.go:185:       + deployment_id = "crn:v1:bluemix:public:databases-for-postgresql:eu-de:a/abac0df06b644a9cabc6e44f55b3880e:03457398-117d-48f4-9836-25a2bdae477f::"
TestRunUpgradeCompleteExample 2024-06-28T08:59:07Z command.go:185:       + emp           = (known after apply)
TestRunUpgradeCompleteExample 2024-06-28T08:59:07Z command.go:185:       + endpoint_type = "private"
TestRunUpgradeCompleteExample 2024-06-28T08:59:07Z command.go:185:       + grpc          = (known after apply)
TestRunUpgradeCompleteExample 2024-06-28T08:59:07Z command.go:185:       + https         = (known after apply)
TestRunUpgradeCompleteExample 2024-06-28T08:59:07Z command.go:185:       + id            = (known after apply)
TestRunUpgradeCompleteExample 2024-06-28T08:59:07Z command.go:185:       + mongodb       = (known after apply)
TestRunUpgradeCompleteExample 2024-06-28T08:59:07Z command.go:185:       + mqtts         = (known after apply)
TestRunUpgradeCompleteExample 2024-06-28T08:59:07Z command.go:185:       + mysql         = (known after apply)
TestRunUpgradeCompleteExample 2024-06-28T08:59:07Z command.go:185:       + ops_manager   = (known after apply)
TestRunUpgradeCompleteExample 2024-06-28T08:59:07Z command.go:185:       + postgres      = (known after apply)
TestRunUpgradeCompleteExample 2024-06-28T08:59:07Z command.go:185:       + rediss        = (known after apply)
TestRunUpgradeCompleteExample 2024-06-28T08:59:07Z command.go:185:       + secure        = (known after apply)
TestRunUpgradeCompleteExample 2024-06-28T08:59:07Z command.go:185:       + stomp_ssl     = (known after apply)
TestRunUpgradeCompleteExample 2024-06-28T08:59:07Z command.go:185:       + user_id       = "admin"
TestRunUpgradeCompleteExample 2024-06-28T08:59:07Z command.go:185:       + user_type     = "database"
TestRunUpgradeCompleteExample 2024-06-28T08:59:07Z command.go:185:     }
TestRunUpgradeCompleteExample 2024-06-28T08:59:07Z command.go:185: 
TestRunUpgradeCompleteExample 2024-06-28T08:59:07Z command.go:185:   # module.postgresql_db.ibm_database.postgresql_db will be updated in-place
TestRunUpgradeCompleteExample 2024-06-28T08:59:07Z command.go:185:   ~ resource "ibm_database" "postgresql_db" {
TestRunUpgradeCompleteExample 2024-06-28T08:59:07Z command.go:185:         id                        = "crn:v1:bluemix:public:databases-for-postgresql:eu-de:a/abac0df06b644a9cabc6e44f55b3880e:03457398-117d-48f4-9836-25a2bdae477f::"
TestRunUpgradeCompleteExample 2024-06-28T08:59:07Z command.go:185:         name                      = "postgres-upg-tweaqu-postgres"
TestRunUpgradeCompleteExample 2024-06-28T08:59:07Z command.go:185:         tags                      = []
TestRunUpgradeCompleteExample 2024-06-28T08:59:07Z command.go:185:         # (21 unchanged attributes hidden)
TestRunUpgradeCompleteExample 2024-06-28T08:59:07Z command.go:185: 
TestRunUpgradeCompleteExample 2024-06-28T08:59:07Z command.go:185:       - group {
TestRunUpgradeCompleteExample 2024-06-28T08:59:07Z command.go:185:           - group_id = "member" -> null
TestRunUpgradeCompleteExample 2024-06-28T08:59:07Z command.go:185: 
TestRunUpgradeCompleteExample 2024-06-28T08:59:07Z command.go:185:           - cpu {
TestRunUpgradeCompleteExample 2024-06-28T08:59:07Z command.go:185:               - allocation_count = 0 -> null
TestRunUpgradeCompleteExample 2024-06-28T08:59:07Z command.go:185:             }
TestRunUpgradeCompleteExample 2024-06-28T08:59:07Z command.go:185: 
TestRunUpgradeCompleteExample 2024-06-28T08:59:07Z command.go:185:           - disk {
TestRunUpgradeCompleteExample 2024-06-28T08:59:07Z command.go:185:               - allocation_mb = 5120 -> null
TestRunUpgradeCompleteExample 2024-06-28T08:59:07Z command.go:185:             }
TestRunUpgradeCompleteExample 2024-06-28T08:59:07Z command.go:185: 
TestRunUpgradeCompleteExample 2024-06-28T08:59:07Z command.go:185:           - members {
TestRunUpgradeCompleteExample 2024-06-28T08:59:07Z command.go:185:               - allocation_count = 2 -> null
TestRunUpgradeCompleteExample 2024-06-28T08:59:07Z command.go:185:             }
TestRunUpgradeCompleteExample 2024-06-28T08:59:07Z command.go:185: 
TestRunUpgradeCompleteExample 2024-06-28T08:59:07Z command.go:185:           - memory {
TestRunUpgradeCompleteExample 2024-06-28T08:59:07Z command.go:185:               - allocation_mb = 1024 -> null
TestRunUpgradeCompleteExample 2024-06-28T08:59:07Z command.go:185:             }
TestRunUpgradeCompleteExample 2024-06-28T08:59:07Z command.go:185:         }
TestRunUpgradeCompleteExample 2024-06-28T08:59:07Z command.go:185:       + group {
TestRunUpgradeCompleteExample 2024-06-28T08:59:07Z command.go:185:           + group_id = "member"
TestRunUpgradeCompleteExample 2024-06-28T08:59:07Z command.go:185: 
TestRunUpgradeCompleteExample 2024-06-28T08:59:07Z command.go:185:           + cpu {
TestRunUpgradeCompleteExample 2024-06-28T08:59:07Z command.go:185:               + allocation_count = 0
TestRunUpgradeCompleteExample 2024-06-28T08:59:07Z command.go:185:             }
TestRunUpgradeCompleteExample 2024-06-28T08:59:07Z command.go:185: 
TestRunUpgradeCompleteExample 2024-06-28T08:59:07Z command.go:185:           + disk {
TestRunUpgradeCompleteExample 2024-06-28T08:59:07Z command.go:185:               + allocation_mb = 5120
TestRunUpgradeCompleteExample 2024-06-28T08:59:07Z command.go:185:             }
TestRunUpgradeCompleteExample 2024-06-28T08:59:07Z command.go:185: 
TestRunUpgradeCompleteExample 2024-06-28T08:59:07Z command.go:185:           + host_flavor {
TestRunUpgradeCompleteExample 2024-06-28T08:59:07Z command.go:185:               + id = "multitenant"
TestRunUpgradeCompleteExample 2024-06-28T08:59:07Z command.go:185:             }
TestRunUpgradeCompleteExample 2024-06-28T08:59:07Z command.go:185: 
TestRunUpgradeCompleteExample 2024-06-28T08:59:07Z command.go:185:           + members {
TestRunUpgradeCompleteExample 2024-06-28T08:59:07Z command.go:185:               + allocation_count = 2
TestRunUpgradeCompleteExample 2024-06-28T08:59:07Z command.go:185:             }
TestRunUpgradeCompleteExample 2024-06-28T08:59:07Z command.go:185: 
TestRunUpgradeCompleteExample 2024-06-28T08:59:07Z command.go:185:           + memory {
TestRunUpgradeCompleteExample 2024-06-28T08:59:07Z command.go:185:               + allocation_mb = 4096
TestRunUpgradeCompleteExample 2024-06-28T08:59:07Z command.go:185:             }
TestRunUpgradeCompleteExample 2024-06-28T08:59:07Z command.go:185:         }
TestRunUpgradeCompleteExample 2024-06-28T08:59:07Z command.go:185: 
TestRunUpgradeCompleteExample 2024-06-28T08:59:07Z command.go:185:         # (3 unchanged blocks hidden)
TestRunUpgradeCompleteExample 2024-06-28T08:59:07Z command.go:185:     }
TestRunUpgradeCompleteExample 2024-06-28T08:59:07Z command.go:185: 
TestRunUpgradeCompleteExample 2024-06-28T08:59:07Z command.go:185:   # module.vpe.data.ibm_is_virtual_endpoint_gateway.vpe["vpe-to-pg-vpc-postgres-upg-tweaqu-postgres"] will be read during apply
TestRunUpgradeCompleteExample 2024-06-28T08:59:07Z command.go:185:   # (depends on a resource or a module with changes pending)
TestRunUpgradeCompleteExample 2024-06-28T08:59:07Z command.go:185:  <= data "ibm_is_virtual_endpoint_gateway" "vpe" {
TestRunUpgradeCompleteExample 2024-06-28T08:59:07Z command.go:185:       + access_tags                  = (known after apply)
TestRunUpgradeCompleteExample 2024-06-28T08:59:07Z command.go:185:       + allow_dns_resolution_binding = (known after apply)
TestRunUpgradeCompleteExample 2024-06-28T08:59:07Z command.go:185:       + created_at                   = (known after apply)
TestRunUpgradeCompleteExample 2024-06-28T08:59:07Z command.go:185:       + crn                          = (known after apply)
TestRunUpgradeCompleteExample 2024-06-28T08:59:07Z command.go:185:       + health_state                 = (known after apply)
TestRunUpgradeCompleteExample 2024-06-28T08:59:07Z command.go:185:       + id                           = (known after apply)
TestRunUpgradeCompleteExample 2024-06-28T08:59:07Z command.go:185:       + ips                          = (known after apply)
TestRunUpgradeCompleteExample 2024-06-28T08:59:07Z command.go:185:       + lifecycle_state              = (known after apply)
TestRunUpgradeCompleteExample 2024-06-28T08:59:07Z command.go:185:       + name                         = "vpe-to-pg-vpc-postgres-upg-tweaqu-postgres"
TestRunUpgradeCompleteExample 2024-06-28T08:59:07Z command.go:185:       + resource_group               = (known after apply)
TestRunUpgradeCompleteExample 2024-06-28T08:59:07Z command.go:185:       + resource_type                = (known after apply)
TestRunUpgradeCompleteExample 2024-06-28T08:59:07Z command.go:185:       + security_groups              = (known after apply)
TestRunUpgradeCompleteExample 2024-06-28T08:59:07Z command.go:185:       + service_endpoints            = (known after apply)
TestRunUpgradeCompleteExample 2024-06-28T08:59:07Z command.go:185:       + tags                         = (known after apply)
TestRunUpgradeCompleteExample 2024-06-28T08:59:07Z command.go:185:       + target                       = (known after apply)
TestRunUpgradeCompleteExample 2024-06-28T08:59:07Z command.go:185:       + vpc                          = (known after apply)
TestRunUpgradeCompleteExample 2024-06-28T08:59:07Z command.go:185:     }
TestRunUpgradeCompleteExample 2024-06-28T08:59:07Z command.go:185: 
TestRunUpgradeCompleteExample 2024-06-28T08:59:07Z command.go:185: Plan: 0 to add, 1 to change, 0 to destroy.
TestRunUpgradeCompleteExample 2024-06-28T08:59:07Z command.go:185: 
TestRunUpgradeCompleteExample 2024-06-28T08:59:07Z command.go:185: Changes to Outputs:
TestRunUpgradeCompleteExample 2024-06-28T08:59:07Z command.go:185:   ~ hostname                   = "03457398-117d-48f4-9836-25a2bdae477f.bpb68u2f0gvaqgd0n64g.private.databases.appdomain.cloud" -> (known after apply)
TestRunUpgradeCompleteExample 2024-06-28T08:59:07Z command.go:185:   ~ port                       = 31915 -> (known after apply)
TestRunUpgradeCompleteExample 2024-06-28T08:59:07Z command.go:185:

@shemau
Copy link
Contributor Author

shemau commented Jun 28, 2024

/run pipeline

@shemau shemau marked this pull request as ready for review June 28, 2024 13:58
@shemau
Copy link
Contributor Author

shemau commented Jul 1, 2024

/run pipeline

@shemau
Copy link
Contributor Author

shemau commented Jul 2, 2024

/run pipeline

@ocofaigh
Copy link
Contributor

/run pipeline

@ocofaigh ocofaigh merged commit 4789bed into main Jul 12, 2024
2 checks passed
@ocofaigh ocofaigh deleted the host-flavour branch July 12, 2024 10:56
@terraform-ibm-modules-ops
Copy link
Contributor

🎉 This issue has been resolved in version 3.15.0 🎉

The release is available on GitHub release

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants