magic-modules icon indicating copy to clipboard operation
magic-modules copied to clipboard

Adding zone distribution mode in the Cluster resource for Memorystore Redis cluster

Open vickramp opened this issue 10 months ago • 16 comments

Adding zone_distribution_config field to google_redis_cluster to allow creation of single zone clusters.

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).
  • 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). \
  • Generated Terraform providers, and ran make test and make lint in the generated providers to ensure it passes unit and linter tests. \
  • Ran relevant acceptance tests using my own Google Cloud project and credentials (If the acceptance tests do not yet pass or you are unable to run them, please let your reviewer know).
  • Read Write release notes before writing my release note below.
redis: added `zone_distribution_config` field to `google_redis_cluster`

vickramp avatar Apr 16 '24 07:04 vickramp

Hello! I am a robot. Tests will require approval from a repository maintainer to run.

@SarahFrench, a repository maintainer, has been assigned to review your changes. If you have not received review feedback within 2 business days, please leave a comment on this PR asking them to take a look.

You can help make sure that review is quick by doing a self-review and by running impacted tests locally.

github-actions[bot] avatar Apr 16 '24 07:04 github-actions[bot]

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.

google provider: Diff ( 3 files changed, 249 insertions(+)) google-beta provider: Diff ( 4 files changed, 294 insertions(+), 12 deletions(-)) terraform-google-conversion: Diff ( 1 file changed, 40 insertions(+)) Open in Cloud Shell: Diff ( 5 files changed, 146 insertions(+))

Missing test report

Your PR includes resource fields which are not covered by any test.

Resource: google_redis_cluster (2 total tests) Please add an acceptance test which includes these fields. The test should include the following:

resource "google_redis_cluster" "primary" {
  zone_distribution_config = # value needed
}

modular-magician avatar Apr 16 '24 07:04 modular-magician

Tests analytics

Total tests: 18 Passed tests: 12 Skipped tests: 0 Affected tests: 6

Click here to see the affected service packages
  • redis

Action taken

Found 6 affected test(s) by replaying old test recordings. Starting RECORDING based on the most recent commit. Click here to see the affected tests
TestAccRedisCluster_createClusterWithNodeType|TestAccRedisCluster_createClusterWithZoneDistribution|TestAccRedisCluster_redisClusterHaExample|TestAccRedisCluster_redisClusterHaSingleZoneExample|TestAccRedisCluster_updateReplicaCount|TestAccRedisCluster_updateShardCount

Get to know how VCR tests work

modular-magician avatar Apr 16 '24 07:04 modular-magician

$\textcolor{red}{\textsf{Tests failed during RECORDING mode:}}$ TestAccRedisCluster_createClusterWithNodeType[Error message] [Debug log] TestAccRedisCluster_createClusterWithZoneDistribution[Error message] [Debug log] TestAccRedisCluster_redisClusterHaExample[Error message] [Debug log] TestAccRedisCluster_redisClusterHaSingleZoneExample[Error message] [Debug log] TestAccRedisCluster_updateReplicaCount[Error message] [Debug log] TestAccRedisCluster_updateShardCount[Error message] [Debug log]

$\textcolor{red}{\textsf{Please fix these to complete your PR.}}$ View the build log or the debug log for each test

modular-magician avatar Apr 16 '24 08:04 modular-magician

Hi @SarahFrench This is for a new feature that is going to GA soon, we currently have the api fields under a visibility label which will be soon removed for launch. I've now temporarily added the visibility label to the worker running these acceptance tests and also enabled the experiment for these workers, this should now fix the tests.

vickramp avatar Apr 16 '24 19:04 vickramp

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.

google provider: Diff ( 3 files changed, 249 insertions(+)) google-beta provider: Diff ( 4 files changed, 294 insertions(+), 12 deletions(-)) terraform-google-conversion: Diff ( 1 file changed, 40 insertions(+)) Open in Cloud Shell: Diff ( 5 files changed, 146 insertions(+))

Missing test report

Your PR includes resource fields which are not covered by any test.

Resource: google_redis_cluster (2 total tests) Please add an acceptance test which includes these fields. The test should include the following:

resource "google_redis_cluster" "primary" {
  zone_distribution_config = # value needed
}

modular-magician avatar Apr 16 '24 19:04 modular-magician

Tests analytics

Total tests: 18 Passed tests: 12 Skipped tests: 0 Affected tests: 6

Click here to see the affected service packages
  • redis

Action taken

Found 6 affected test(s) by replaying old test recordings. Starting RECORDING based on the most recent commit. Click here to see the affected tests
TestAccRedisCluster_createClusterWithNodeType|TestAccRedisCluster_createClusterWithZoneDistribution|TestAccRedisCluster_redisClusterHaExample|TestAccRedisCluster_redisClusterHaSingleZoneExample|TestAccRedisCluster_updateReplicaCount|TestAccRedisCluster_updateShardCount

Get to know how VCR tests work

modular-magician avatar Apr 16 '24 19:04 modular-magician

$\textcolor{green}{\textsf{Tests passed during RECORDING mode:}}$ TestAccRedisCluster_createClusterWithNodeType[Debug log] TestAccRedisCluster_redisClusterHaExample[Debug log] TestAccRedisCluster_updateReplicaCount[Debug log] TestAccRedisCluster_updateShardCount[Debug log]

$\textcolor{green}{\textsf{No issues found for passed tests after REPLAYING rerun.}}$


$\textcolor{red}{\textsf{Tests failed during RECORDING mode:}}$ TestAccRedisCluster_createClusterWithZoneDistribution[Error message] [Debug log] TestAccRedisCluster_redisClusterHaSingleZoneExample[Error message] [Debug log]

$\textcolor{red}{\textsf{Please fix these to complete your PR.}}$ View the build log or the debug log for each test

modular-magician avatar Apr 16 '24 20:04 modular-magician

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.

google provider: Diff ( 3 files changed, 249 insertions(+)) google-beta provider: Diff ( 4 files changed, 294 insertions(+), 12 deletions(-)) terraform-google-conversion: Diff ( 1 file changed, 40 insertions(+)) Open in Cloud Shell: Diff ( 5 files changed, 146 insertions(+))

Missing test report

Your PR includes resource fields which are not covered by any test.

Resource: google_redis_cluster (2 total tests) Please add an acceptance test which includes these fields. The test should include the following:

resource "google_redis_cluster" "primary" {
  zone_distribution_config = # value needed
}

modular-magician avatar Apr 16 '24 20:04 modular-magician

Tests analytics

Total tests: 18 Passed tests: 16 Skipped tests: 0 Affected tests: 2

Click here to see the affected service packages
  • redis

Action taken

Found 2 affected test(s) by replaying old test recordings. Starting RECORDING based on the most recent commit. Click here to see the affected tests
TestAccRedisCluster_createClusterWithZoneDistribution|TestAccRedisCluster_redisClusterHaSingleZoneExample

Get to know how VCR tests work

modular-magician avatar Apr 16 '24 20:04 modular-magician

$\textcolor{green}{\textsf{Tests passed during RECORDING mode:}}$ TestAccRedisCluster_createClusterWithZoneDistribution[Debug log] TestAccRedisCluster_redisClusterHaSingleZoneExample[Debug log]

$\textcolor{green}{\textsf{No issues found for passed tests after REPLAYING rerun.}}$


$\textcolor{green}{\textsf{All tests passed!}}$ View the build log or the debug log for each test

modular-magician avatar Apr 16 '24 21:04 modular-magician

I'm happy to approve this but I'm going to hold off until I get a 👍 from the Terraform provider team. I'm a HashiCorp employee and I'm still learning about how to handle PR approvals in the context of something that not yet in GA and going through Google's different launch stages.

I left a few comments about improving documentation of immutable fields that will help users, and a nit that isn't a blocker.

Note: I'm not sure why the missing test detector is saying that the new field isn't present in tests, as it's present in generated and handwritten tests. The handwritten test is Beta-specific, which may be a factor. Either way I'm satisfied with the test coverage and this isn't a blocker.

Thanks Appreciate the help. Note: i will only merge this pull request once all the restrictions on the API are removed and is officially in GA. i have sent this for review so that i can launch API, gcloud and terraform everything at once, instead of waiting for approvals after the API is in GA.

vickramp avatar Apr 17 '24 17:04 vickramp

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.

google provider: Diff ( 3 files changed, 238 insertions(+)) google-beta provider: Diff ( 4 files changed, 283 insertions(+), 12 deletions(-)) terraform-google-conversion: Diff ( 1 file changed, 40 insertions(+)) Open in Cloud Shell: Diff ( 5 files changed, 146 insertions(+))

Missing test report

Your PR includes resource fields which are not covered by any test.

Resource: google_redis_cluster (2 total tests) Please add an acceptance test which includes these fields. The test should include the following:

resource "google_redis_cluster" "primary" {
  zone_distribution_config = # value needed
}

modular-magician avatar Apr 17 '24 17:04 modular-magician

Tests analytics

Total tests: 18 Passed tests: 15 Skipped tests: 0 Affected tests: 3

Click here to see the affected service packages
  • redis

Action taken

Found 3 affected test(s) by replaying old test recordings. Starting RECORDING based on the most recent commit. Click here to see the affected tests
TestAccRedisCluster_createClusterWithNodeType|TestAccRedisCluster_updateReplicaCount|TestAccRedisCluster_updateShardCount

Get to know how VCR tests work

modular-magician avatar Apr 17 '24 17:04 modular-magician

$\textcolor{green}{\textsf{Tests passed during RECORDING mode:}}$ TestAccRedisCluster_createClusterWithNodeType[Debug log] TestAccRedisCluster_updateReplicaCount[Debug log] TestAccRedisCluster_updateShardCount[Debug log]

$\textcolor{green}{\textsf{No issues found for passed tests after REPLAYING rerun.}}$


$\textcolor{green}{\textsf{All tests passed!}}$ View the build log or the debug log for each test

modular-magician avatar Apr 17 '24 18:04 modular-magician

Google-internal details captured in b/335469333, @vickramp will follow up here when we should merge.

rileykarson avatar Apr 17 '24 19:04 rileykarson

@vickramp, this PR is waiting for action from you. Please address any comments or change requests, or re-request review from a core reviewer if no action is required.

Image showing the re-request review button

If no action is taken, this PR will be closed in 14 days.

This notification can be disabled with the disable-automatic-closure label.

github-actions[bot] avatar May 29 '24 09:05 github-actions[bot]

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.

google provider: Diff ( 1 file changed, 1 insertion(+), 1 deletion(-))

modular-magician avatar May 31 '24 17:05 modular-magician

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.

google provider: Diff ( 3 files changed, 238 insertions(+)) google-beta provider: Diff ( 4 files changed, 289 insertions(+), 9 deletions(-)) terraform-google-conversion: Diff ( 1 file changed, 40 insertions(+)) Open in Cloud Shell: Diff ( 5 files changed, 146 insertions(+))

modular-magician avatar May 31 '24 18:05 modular-magician

Tests analytics

Total tests: 19 Passed tests: 14 Skipped tests: 0 Affected tests: 5

Click here to see the affected service packages
  • redis

Action taken

Found 5 affected test(s) by replaying old test recordings. Starting RECORDING based on the most recent commit. Click here to see the affected tests
TestAccRedisCluster_createClusterWithZoneDistribution|TestAccRedisCluster_redisClusterHaExample|TestAccRedisCluster_updateRedisConfigs|TestAccRedisCluster_updateReplicaCount|TestAccRedisCluster_updateShardCount

Get to know how VCR tests work

modular-magician avatar May 31 '24 18:05 modular-magician

$\textcolor{green}{\textsf{Tests passed during RECORDING mode:}}$ TestAccRedisCluster_createClusterWithZoneDistribution[Debug log] TestAccRedisCluster_redisClusterHaExample[Debug log]

$\textcolor{green}{\textsf{No issues found for passed tests after REPLAYING rerun.}}$


$\textcolor{red}{\textsf{Tests failed during RECORDING mode:}}$ TestAccRedisCluster_updateRedisConfigs[Error message] [Debug log] TestAccRedisCluster_updateReplicaCount[Error message] [Debug log] TestAccRedisCluster_updateShardCount[Error message] [Debug log]

$\textcolor{red}{\textsf{Please fix these to complete your PR.}}$ View the build log or the debug log for each test

modular-magician avatar May 31 '24 19:05 modular-magician

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.

google provider: Diff ( 3 files changed, 238 insertions(+)) google-beta provider: Diff ( 4 files changed, 297 insertions(+), 17 deletions(-)) terraform-google-conversion: Diff ( 1 file changed, 40 insertions(+)) Open in Cloud Shell: Diff ( 5 files changed, 146 insertions(+))

modular-magician avatar May 31 '24 19:05 modular-magician

Tests analytics

Total tests: 19 Passed tests: 17 Skipped tests: 0 Affected tests: 2

Click here to see the affected service packages
  • redis

Action taken

Found 2 affected test(s) by replaying old test recordings. Starting RECORDING based on the most recent commit. Click here to see the affected tests
TestAccRedisCluster_updateRedisConfigs|TestAccRedisCluster_updateReplicaCount

Get to know how VCR tests work

modular-magician avatar May 31 '24 19:05 modular-magician

$\textcolor{green}{\textsf{Tests passed during RECORDING mode:}}$ TestAccRedisCluster_updateReplicaCount[Debug log]

$\textcolor{green}{\textsf{No issues found for passed tests after REPLAYING rerun.}}$


$\textcolor{red}{\textsf{Tests failed during RECORDING mode:}}$ TestAccRedisCluster_updateRedisConfigs[Error message] [Debug log]

$\textcolor{red}{\textsf{Please fix these to complete your PR.}}$ View the build log or the debug log for each test

modular-magician avatar May 31 '24 19:05 modular-magician

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.

google provider: Diff ( 3 files changed, 238 insertions(+)) google-beta provider: Diff ( 4 files changed, 304 insertions(+), 22 deletions(-)) terraform-google-conversion: Diff ( 1 file changed, 40 insertions(+)) Open in Cloud Shell: Diff ( 5 files changed, 146 insertions(+))

modular-magician avatar May 31 '24 20:05 modular-magician

Tests analytics

Total tests: 19 Passed tests: 18 Skipped tests: 0 Affected tests: 1

Click here to see the affected service packages
  • redis

Action taken

Found 1 affected test(s) by replaying old test recordings. Starting RECORDING based on the most recent commit. Click here to see the affected tests
TestAccRedisCluster_updateRedisConfigs

Get to know how VCR tests work

modular-magician avatar May 31 '24 20:05 modular-magician

$\textcolor{green}{\textsf{Tests passed during RECORDING mode:}}$ TestAccRedisCluster_updateRedisConfigs[Debug log]

$\textcolor{green}{\textsf{No issues found for passed tests after REPLAYING rerun.}}$


$\textcolor{green}{\textsf{All tests passed!}}$ View the build log or the debug log for each test

modular-magician avatar May 31 '24 20:05 modular-magician

This PR is ready to be submitted, i have resolved any conflicts/ test failures. FYI @rileykarson

Just clicking this button so merge is blocked in the meantime. Any maintainer can manually dismiss.

@SarahFrench As quoted by @rileykarson , he is fine with merging this change, so please merge this pr if you have no other questions.

vickramp avatar May 31 '24 20:05 vickramp