Skip to content
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

Introducing CSQL replica promotion support in terraform #7190

Conversation

isaurabhuttam
Copy link
Contributor

This change is regarding following feature ask #10486
Introducing replica promotion support on terraform provider. This change will allow users to promote read replica as stand alone primary instance. To promote read replica as primary instance following steps are required:

  • User sets instance_type property as CLOUD_SQL_INSTANCE
  • User removes master_instance_name and replica_configuration properties from replica terraform script.
  • User runs terraform apply

Appropriate terraform provider level validation are introduced:

  • In case of promote replica request, replica instance can not have master_instance_name and replica_configuration set.
  • This validation will be performed at the time of terraform plan and terraform apply

If this PR is for Terraform, I acknowledge that I have:

  • Searched through the issue tracker for an open issue that this either resolves or contributes to, commented on it to claim it, and written "fixes {url}" or "part of {url}" in this PR description. If there were no relevant open issues, I opened one and commented that I would like to work on it (not necessary for very small changes).
  • Generated Terraform, and ran make test and make lint to ensure it passes unit and linter tests.
  • Ensured that all new fields I added that can be set by a user appear in at least one example (for generated resources) or third_party test (for handwritten resources or update tests).
  • Ran relevant acceptance tests (If the acceptance tests do not yet pass or you are unable to run them, please let your reviewer know).
  • Read the Release Notes Guide before writing my release note below.

Release Note Template for Downstream PRs (will be copied)

sql: added replica promotion support to `google_sql_database_instance`. This change will allow users to promote read replica as stand alone primary instance.

@modular-magician
Copy link
Collaborator

Hello! I am a robot who works on Magic Modules PRs.

I've detected that you're a community contributor. @slevenick, a repository maintainer, has been assigned to assist you and help review your changes.

❓ First time contributing? Click here for more details

Your assigned reviewer will help review your code by:

  • Ensuring it's backwards compatible, covers common error cases, etc.
  • Summarizing the change into a user-facing changelog note.
  • Passes tests, either our "VCR" suite, a set of presubmit tests, or with manual test runs.

You can help make sure that review is quick by running local tests and ensuring they're passing in between each push you make to your PR's branch. Also, try to leave a comment with each push you make, as pushes generally don't generate emails.

If your reviewer doesn't get back to you within a week after your most recent change, please feel free to leave a comment on the issue asking them to take a look! In the absence of a dedicated review dashboard most maintainers manage their pending reviews through email, and those will sometimes get lost in their inbox.


@isaurabhuttam isaurabhuttam changed the title Added replica promotion support in terraform Introducing CSQL replica promotion support in terraform Jan 31, 2023
@modular-magician
Copy link
Collaborator

Hi there, I'm the Modular magician. I've detected the following information about your changes:

Diff report

Your PR generated some diffs in downstreams - here they are.

Terraform GA: Diff ( 3 files changed, 561 insertions(+), 4 deletions(-))
Terraform Beta: Diff ( 3 files changed, 561 insertions(+), 4 deletions(-))
TF Validator: Diff ( 2 files changed, 3 insertions(+), 3 deletions(-))

@modular-magician
Copy link
Collaborator

Tests analytics

Total tests: 2447
Passed tests 2185
Skipped tests: 254
Failed tests: 8

Action taken

Triggering VCR tests in RECORDING mode for the tests that failed during VCR. Click here to see the failed tests
TestAccRegionInstanceGroupManager_stateful|TestAccContainerCluster_failedCreation|TestAccFirebaserulesRelease_BasicRelease|TestAccSqlDatabaseInstance_ReplicaPromoteFailedWithMasterInstanceNameAndReplicaConfigurationPresent|TestAccSqlDatabaseInstance_ReplicaPromoteFailedWithReplicaConfigurationPresent|TestAccSqlDatabaseInstance_ReplicaPromoteFailedWithMasterInstanceNamePresent|TestAccSqlDatabaseInstance_ReplicaPromoteSkippedWithNoMasterInstanceNameAndNoReplicaConfigurationPresent|TestAccSqlDatabaseInstance_ReplicaPromoteSuccessful

@modular-magician
Copy link
Collaborator

Tests passed during RECORDING mode:
TestAccContainerCluster_failedCreation[Debug log]
TestAccFirebaserulesRelease_BasicRelease[Debug log]
TestAccSqlDatabaseInstance_ReplicaPromoteFailedWithMasterInstanceNameAndReplicaConfigurationPresent[Debug log]
TestAccSqlDatabaseInstance_ReplicaPromoteFailedWithReplicaConfigurationPresent[Debug log]
TestAccSqlDatabaseInstance_ReplicaPromoteFailedWithMasterInstanceNamePresent[Debug log]
TestAccSqlDatabaseInstance_ReplicaPromoteSkippedWithNoMasterInstanceNameAndNoReplicaConfigurationPresent[Debug log]
TestAccSqlDatabaseInstance_ReplicaPromoteSuccessful[Debug log]

Tests failed during RECORDING mode:
TestAccRegionInstanceGroupManager_stateful[Error message] [Debug log]

Please fix these to complete your PR
View the build log or the debug log for each test

@c2thorn c2thorn requested review from c2thorn and removed request for slevenick January 31, 2023 16:28
@isaurabhuttam isaurabhuttam marked this pull request as ready for review February 6, 2023 18:58
@modular-magician
Copy link
Collaborator

Hi there, I'm the Modular magician. I've detected the following information about your changes:

Diff report

Your PR generated some diffs in downstreams - here they are.

Terraform GA: Diff ( 3 files changed, 558 insertions(+), 1 deletion(-))
Terraform Beta: Diff ( 3 files changed, 558 insertions(+), 1 deletion(-))
TF Validator: Diff ( 2 files changed, 3 insertions(+), 3 deletions(-))

@modular-magician
Copy link
Collaborator

Tests analytics

Total tests: 2459
Passed tests 2185
Skipped tests: 255
Failed tests: 19

Action taken

Triggering VCR tests in RECORDING mode for the tests that failed during VCR. Click here to see the failed tests
TestAccFrameworkProviderMeta_setModuleName|TestAccFirebaserulesRelease_BasicRelease|TestAccDataSourceDnsRecordSet_basic|TestAccRegionInstanceGroupManager_stateful|TestAccVertexAIFeaturestoreEntitytypeIamPolicyGenerated|TestAccVertexAIFeaturestoreEntitytypeIamMemberGenerated|TestAccVertexAIFeaturestoreEntitytypeIamBindingGenerated|TestAccVertexAIFeaturestoreIamMemberGenerated|TestAccVertexAIFeaturestoreIamBindingGenerated|TestAccApigeeAddonsConfig_apigeeAddonsTestExample|TestAccVertexAIFeaturestoreEntitytypeFeature_vertexAiFeaturestoreEntitytypeFeatureWithBetaFieldsExample|TestAccVertexAIFeaturestoreEntitytype_vertexAiFeaturestoreEntitytypeExample|TestAccVertexAIFeaturestore_vertexAiFeaturestoreScalingExample|TestAccVertexAIFeaturestore_vertexAiFeaturestoreExample|TestAccVertexAIFeaturestore_vertexAiFeaturestoreWithBetaFieldsExample|TestAccSqlDatabaseInstance_withPrivateNetwork_withoutAllocatedIpRange|TestAccVertexAIFeaturestoreIamPolicyGenerated|TestAccVertexAIFeaturestoreEntitytypeFeature_vertexAiFeaturestoreEntitytypeFeatureExample|TestAccVertexAIFeaturestoreEntitytype_vertexAiFeaturestoreEntitytypeWithBetaFieldsExample

@modular-magician
Copy link
Collaborator

Tests passed during RECORDING mode:
TestAccFrameworkProviderMeta_setModuleName[Debug log]
TestAccFirebaserulesRelease_BasicRelease[Debug log]
TestAccDataSourceDnsRecordSet_basic[Debug log]
TestAccVertexAIFeaturestoreEntitytypeIamBindingGenerated[Debug log]
TestAccVertexAIFeaturestoreIamBindingGenerated[Debug log]
TestAccApigeeAddonsConfig_apigeeAddonsTestExample[Debug log]
TestAccVertexAIFeaturestore_vertexAiFeaturestoreExample[Debug log]
TestAccVertexAIFeaturestore_vertexAiFeaturestoreWithBetaFieldsExample[Debug log]
TestAccVertexAIFeaturestoreIamPolicyGenerated[Debug log]
TestAccVertexAIFeaturestoreEntitytypeFeature_vertexAiFeaturestoreEntitytypeFeatureExample[Debug log]

Tests failed during RECORDING mode:
TestAccRegionInstanceGroupManager_stateful[Error message] [Debug log]
TestAccVertexAIFeaturestoreEntitytypeIamPolicyGenerated[Error message] [Debug log]
TestAccVertexAIFeaturestoreEntitytypeIamMemberGenerated[Error message] [Debug log]
TestAccVertexAIFeaturestoreIamMemberGenerated[Error message] [Debug log]
TestAccVertexAIFeaturestoreEntitytypeFeature_vertexAiFeaturestoreEntitytypeFeatureWithBetaFieldsExample[Error message] [Debug log]
TestAccVertexAIFeaturestoreEntitytype_vertexAiFeaturestoreEntitytypeExample[Error message] [Debug log]
TestAccVertexAIFeaturestore_vertexAiFeaturestoreScalingExample[Error message] [Debug log]
TestAccSqlDatabaseInstance_withPrivateNetwork_withoutAllocatedIpRange[Error message] [Debug log]
TestAccVertexAIFeaturestoreEntitytype_vertexAiFeaturestoreEntitytypeWithBetaFieldsExample[Error message] [Debug log]

Please fix these to complete your PR
View the build log or the debug log for each test

@isaurabhuttam isaurabhuttam force-pushed the user/isaurabhuttam/promotereadreplicawithfix branch from 029486e to 02a9228 Compare February 8, 2023 08:15
@isaurabhuttam isaurabhuttam marked this pull request as draft February 8, 2023 08:51
@isaurabhuttam isaurabhuttam marked this pull request as ready for review February 8, 2023 08:52
@isaurabhuttam isaurabhuttam requested a review from c2thorn February 8, 2023 08:53
@c2thorn
Copy link
Member

c2thorn commented Feb 8, 2023

/gcbrun

@modular-magician
Copy link
Collaborator

Hi there, I'm the Modular magician. I've detected the following information about your changes:

Diff report

Your PR generated some diffs in downstreams - here they are.

Terraform GA: Diff ( 3 files changed, 551 insertions(+), 1 deletion(-))
Terraform Beta: Diff ( 3 files changed, 551 insertions(+), 1 deletion(-))
TF Validator: Diff ( 2 files changed, 3 insertions(+), 3 deletions(-))

@modular-magician
Copy link
Collaborator

Tests analytics

Total tests: 2463
Passed tests 2202
Skipped tests: 256
Failed tests: 5

Action taken

Triggering VCR tests in RECORDING mode for the tests that failed during VCR. Click here to see the failed tests
TestAccFrameworkProviderMeta_setModuleName|TestAccFirebaserulesRelease_BasicRelease|TestAccDataSourceDnsRecordSet_basic|TestAccDataSourceDnsManagedZone_basic|TestAccSqlDatabaseInstance_ReplicaPromoteSkippedWithNoMasterInstanceNameAndNoReplicaConfigurationPresent

@modular-magician
Copy link
Collaborator

Tests passed during RECORDING mode:
TestAccFrameworkProviderMeta_setModuleName[Debug log]
TestAccFirebaserulesRelease_BasicRelease[Debug log]
TestAccDataSourceDnsRecordSet_basic[Debug log]
TestAccSqlDatabaseInstance_ReplicaPromoteSkippedWithNoMasterInstanceNameAndNoReplicaConfigurationPresent[Debug log]

Tests failed during RECORDING mode:
TestAccDataSourceDnsManagedZone_basic[Error message] [Debug log]

Please fix these to complete your PR
View the build log or the debug log for each test

@c2thorn c2thorn merged commit ad94d29 into GoogleCloudPlatform:main Feb 8, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants