Skip to content

Assorted cleanups of GKE resources - #18986

Merged
rileykarson merged 5 commits into
GoogleCloudPlatform:mainfrom
rileykarson:gke-cleanliness
Sep 15, 2026
Merged

rileykarson merged 5 commits into
GoogleCloudPlatform:mainfrom
rileykarson:gke-cleanliness

Conversation

@rileykarson

@rileykarson rileykarson commented Sep 13, 2026

Copy link
Copy Markdown
Member

Hygiene pass for GKE (google_container_cluster and google_container_node_pool):

  • Beta-guard host_maintenance_policy schema and metadata entries in node_config.
  • Remove unneeded beta guards on GA acceptance tests and normalize remaining test guard syntax.
  • Document missing arguments and exported attributes (user_managed_keys_config, tpu_config, host_maintenance_policy, windows_node_config, containerd_config.registry_hosts, and fleet attributes).
  • Clarify internal use of operation across cluster and node pool resources.
  • Fix broken doc links, version badge formatting, and typos.

Release Note Template for Downstream PRs (will be copied)

See Write release notes for guidance.

container: corrected the `host_maintenance_policy` field appearing in the GA provider. Any usage of the field would fail as handlers were correctly in the beta provider & the v1 API does not support the field (GA only)

@modular-magician

modular-magician commented Sep 13, 2026

Copy link
Copy Markdown
Collaborator

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

Diff report

Your PR generated the following diffs in downstream repositories:

Repository Diff Link Changes
google provider View Diff 8 files changed, 544 insertions(+), 48 deletions(-)
google-beta provider View Diff 5 files changed, 90 insertions(+), 27 deletions(-)

Breaking Change(s) Detected

The following breaking change(s) were detected within your pull request.

  • Field node_config.host_maintenance_policy.maintenance_interval within resource google_container_cluster was either removed or renamed - reference
  • Field node_config.host_maintenance_policy.maintenance_interval within resource google_container_node_pool was either removed or renamed - reference
  • Field node_config.host_maintenance_policy within resource google_container_cluster was either removed or renamed - reference
  • Field node_config.host_maintenance_policy within resource google_container_node_pool was either removed or renamed - reference
  • Field node_pool.node_config.host_maintenance_policy.maintenance_interval within resource google_container_cluster was either removed or renamed - reference
  • Field node_pool.node_config.host_maintenance_policy within resource google_container_cluster was either removed or renamed - reference

If you believe this detection to be incorrect please raise the concern with your reviewer.
If you intend to make this change you will need to wait for a major release window.
An override-breaking-change label can be added to allow merging.

Missing test report

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

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

resource "google_container_cluster" "primary" {
  node_pool {
    node_config {
      host_maintenance_policy {
        maintenance_interval = # value needed
      }
    }
  }
}

Test report

Important

Manual Verification Required (GA-only additions)

The following tests are GA-only additions and cannot be run by VCR in Beta mode. Please verify them manually:

🔴 TestAccContainerCluster_nodePool_acceleratorNetworkProfile_Lifecycle
🔴 TestAccContainerCluster_sharedVpc
🔴 TestAccContainerCluster_withBinaryAuthorizationEnabledBool
🔴 TestAccContainerCluster_withBinaryAuthorizationEvaluationModeAutopilot
🔴 TestAccContainerCluster_withBinaryAuthorizationEvaluationModeClassic
🔴 TestAccContainerCluster_withFlexiblePodCIDR

Analytics

Total Tests Passed Skipped Affected
323 303 17 3
Affected Service Packages
  • container

Learn how VCR tests work


Step 1: Replaying Mode

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
  • TestAccContainerCluster_autopilot_privileged_admission
  • TestAccContainerCluster_dataplaneOptimizationMode
  • TestAccContainerNodePool_withSoleTenantConfig

View the replaying VCR build log


Step 2: Recording Mode

Recording Mode Replaying Rerun Test Name
❌ Error · Log - TestAccContainerCluster_autopilot_privileged_admission
❌ Error · Log - TestAccContainerCluster_dataplaneOptimizationMode
❌ Error · Log - TestAccContainerNodePool_withSoleTenantConfig

Caution

Issues requiring attention before PR completion

🔴 Manual Verification Required: New tests were added that are skipped in presubmit tests. See the "Manual Verification Required" section at the top for details.

🔴 Initial Recording Failed: Some tests failed during the recording step. See the table above for details.

Please address these issues to complete your PR. If you believe these detections are incorrect or unrelated to your change, please raise the concern with your reviewer.

View the recording VCR build log or the debug logs folder for detailed results.

@rileykarson VCR tests complete for baf235b!

@rileykarson
rileykarson requested review from slevenick and removed request for slevenick September 14, 2026 20:48
@modular-magician

modular-magician commented Sep 14, 2026

Copy link
Copy Markdown
Collaborator

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

Diff report

Your PR generated the following diffs in downstream repositories:

Repository Diff Link Changes
google provider View Diff 8 files changed, 752 insertions(+), 48 deletions(-)
google-beta provider View Diff 5 files changed, 90 insertions(+), 27 deletions(-)

Breaking Change(s) Detected

The following breaking change(s) were detected within your pull request.

  • Field node_config.host_maintenance_policy.maintenance_interval within resource google_container_cluster was either removed or renamed - reference
  • Field node_config.host_maintenance_policy.maintenance_interval within resource google_container_node_pool was either removed or renamed - reference
  • Field node_config.host_maintenance_policy within resource google_container_cluster was either removed or renamed - reference
  • Field node_config.host_maintenance_policy within resource google_container_node_pool was either removed or renamed - reference
  • Field node_pool.node_config.host_maintenance_policy.maintenance_interval within resource google_container_cluster was either removed or renamed - reference
  • Field node_pool.node_config.host_maintenance_policy within resource google_container_cluster was either removed or renamed - reference

If you believe this detection to be incorrect please raise the concern with your reviewer.
If you intend to make this change you will need to wait for a major release window.
An override-breaking-change label can be added to allow merging.

Missing test report

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

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

resource "google_container_cluster" "primary" {
  node_pool {
    node_config {
      host_maintenance_policy {
        maintenance_interval = # value needed
      }
    }
  }
}

Test report

Important

Manual Verification Required (GA-only additions)

The following tests are GA-only additions and cannot be run by VCR in Beta mode. Please verify them manually:

🔴 TestAccContainerCluster_nodePool_acceleratorNetworkProfile_Lifecycle
🔴 TestAccContainerCluster_sharedVpc
🔴 TestAccContainerCluster_withBinaryAuthorizationEnabledBool
🔴 TestAccContainerCluster_withBinaryAuthorizationEvaluationModeAutopilot
🔴 TestAccContainerCluster_withBinaryAuthorizationEvaluationModeClassic
🔴 TestAccContainerCluster_withFlexiblePodCIDR

Analytics

Total Tests Passed Skipped Affected
323 303 17 3
Affected Service Packages
  • container

Learn how VCR tests work


Step 1: Replaying Mode

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
  • TestAccContainerCluster_autopilot_privileged_admission
  • TestAccContainerCluster_dataplaneOptimizationMode
  • TestAccContainerNodePool_withSoleTenantConfig

View the replaying VCR build log


Step 2: Recording Mode

Recording Mode Replaying Rerun Test Name
❌ Error · Log - TestAccContainerCluster_autopilot_privileged_admission
❌ Error · Log - TestAccContainerCluster_dataplaneOptimizationMode
❌ Error · Log - TestAccContainerNodePool_withSoleTenantConfig

Caution

Issues requiring attention before PR completion

🔴 Manual Verification Required: New tests were added that are skipped in presubmit tests. See the "Manual Verification Required" section at the top for details.

🔴 Initial Recording Failed: Some tests failed during the recording step. See the table above for details.

Please address these issues to complete your PR. If you believe these detections are incorrect or unrelated to your change, please raise the concern with your reviewer.

View the recording VCR build log or the debug logs folder for detailed results.

@rileykarson VCR tests complete for 722bd9c!

@modular-magician

modular-magician commented Sep 14, 2026

Copy link
Copy Markdown
Collaborator

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

Diff report

Your PR generated the following diffs in downstream repositories:

Repository Diff Link Changes
google provider View Diff 8 files changed, 752 insertions(+), 49 deletions(-)
google-beta provider View Diff 5 files changed, 90 insertions(+), 27 deletions(-)

Breaking Change(s) Detected

The following breaking change(s) were detected within your pull request.

  • Field node_config.host_maintenance_policy.maintenance_interval within resource google_container_cluster was either removed or renamed - reference
  • Field node_config.host_maintenance_policy.maintenance_interval within resource google_container_node_pool was either removed or renamed - reference
  • Field node_config.host_maintenance_policy within resource google_container_cluster was either removed or renamed - reference
  • Field node_config.host_maintenance_policy within resource google_container_node_pool was either removed or renamed - reference
  • Field node_pool.node_config.host_maintenance_policy.maintenance_interval within resource google_container_cluster was either removed or renamed - reference
  • Field node_pool.node_config.host_maintenance_policy within resource google_container_cluster was either removed or renamed - reference

If you believe this detection to be incorrect please raise the concern with your reviewer.
If you intend to make this change you will need to wait for a major release window.
An override-breaking-change label can be added to allow merging.

Missing test report

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

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

resource "google_container_cluster" "primary" {
  node_pool {
    node_config {
      host_maintenance_policy {
        maintenance_interval = # value needed
      }
    }
  }
}

Test report

Important

Manual Verification Required (GA-only additions)

The following tests are GA-only additions and cannot be run by VCR in Beta mode. Please verify them manually:

🔴 TestAccContainerCluster_nodePool_acceleratorNetworkProfile_Lifecycle
🔴 TestAccContainerCluster_sharedVpc
🔴 TestAccContainerCluster_withBinaryAuthorizationEnabledBool
🔴 TestAccContainerCluster_withBinaryAuthorizationEvaluationModeAutopilot
🔴 TestAccContainerCluster_withBinaryAuthorizationEvaluationModeClassic
🔴 TestAccContainerCluster_withFlexiblePodCIDR

Analytics

Total Tests Passed Skipped Affected
323 303 17 3
Affected Service Packages
  • container

Learn how VCR tests work


Step 1: Replaying Mode

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
  • TestAccContainerCluster_autopilot_privileged_admission
  • TestAccContainerCluster_dataplaneOptimizationMode
  • TestAccContainerNodePool_withSoleTenantConfig

View the replaying VCR build log


Step 2: Recording Mode

Recording Mode Replaying Rerun Test Name
❌ Error · Log - TestAccContainerCluster_autopilot_privileged_admission
❌ Error · Log - TestAccContainerCluster_dataplaneOptimizationMode
❌ Error · Log - TestAccContainerNodePool_withSoleTenantConfig

Caution

Issues requiring attention before PR completion

🔴 Manual Verification Required: New tests were added that are skipped in presubmit tests. See the "Manual Verification Required" section at the top for details.

🔴 Initial Recording Failed: Some tests failed during the recording step. See the table above for details.

Please address these issues to complete your PR. If you believe these detections are incorrect or unrelated to your change, please raise the concern with your reviewer.

View the recording VCR build log or the debug logs folder for detailed results.

@rileykarson VCR tests complete for c1c9640!

@slevenick slevenick left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is there a bug for using host_maintenance_policy in GA? Breaking change seems fine if it was never actually creatable

@rileykarson

Copy link
Copy Markdown
Member Author

The field was documented as beta, doesn't work in the API, and the expander/flattener were properly guarded as beta. Just a bit of schema was wrong, otherwise I'd tombstone instead.

Error:

{
  "error": {
    "code": 400,
    "message": "Invalid JSON payload received. Unknown name \"hostMaintenancePolicy\" at 'cluster.node_config': Cannot find field.",
    "status": "INVALID_ARGUMENT",
    "details": [
      {
        "@type": "type.googleapis.com/google.rpc.BadRequest",
        "fieldViolations": [
          {
            "field": "cluster.node_config",
            "description": "Invalid JSON payload received. Unknown name \"hostMaintenancePolicy\" at 'cluster.node_config': Cannot find field."
          }
        ]
      }
    ]
  }
}

@rileykarson rileykarson added the override-breaking-change Allows a potential breaking change to be merged label Sep 15, 2026
@rileykarson
rileykarson added this pull request to the merge queue Sep 15, 2026
Merged via the queue into GoogleCloudPlatform:main with commit e58934a Sep 15, 2026
31 of 32 checks passed
@rileykarson
rileykarson deleted the gke-cleanliness branch September 15, 2026 16:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants