-
Notifications
You must be signed in to change notification settings - Fork 580
CORS-4281: Remove the GCP Service Endpoints #2576
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
base: master
Are you sure you want to change the base?
Conversation
|
Pipeline controller notification For optional jobs, comment |
|
@barbacbd: This pull request references CORS-4281 which is a valid jira issue. In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository. |
|
Hello @barbacbd! Some important instructions when contributing to openshift/api: |
damdo
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
|
@barbacbd verify jobs are failing, might be worth rebasing and checking what's wrong |
|
Scheduling tests matching the |
WalkthroughRemoves GCP custom API endpoint support: deletes types, constants, struct and field, removes serviceEndpoints schema from multiple CRD manifests (infrastructures and controllerconfigs), deletes related tests, and cleans up generated deepcopy, OpenAPI, and swagger/docs and feature-gate entries. Changes
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes
✨ Finishing touches
🧪 Generate unit tests (beta)
Warning There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure. 🔧 golangci-lint (2.5.0)Error: build linters: unable to load custom analyzer "kubeapilinter": tools/_output/bin/kube-api-linter.so, plugin: not implemented Comment |
|
/lgtm @everettraven are the CRD verifications failures expected? TY |
|
Scheduling tests matching the |
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: damdo The full list of commands accepted by this bot can be found here.
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
|
New changes are detected. LGTM label has been removed. |
|
@damdo @barbacbd Both That being said, |
Removing the GCP Service Endpoints in favor of a new solution. The new solution will create a
private hosted zone that will route traffic to the googleapi endpoints via an ip address created
during the initialization of the private serivce connect endpoint. The cluster components no longer
need the endpoint overrides, so the service endpoints can and should be removed to avoid confusion.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
🧹 Nitpick comments (1)
config/v1/types_infrastructure.go (1)
756-770: TombstonedserviceEndpointslooks good; consider disabling the remaining kubebuilder/feature-gate markersThe approach of commenting out the
ServiceEndpointsfield and adding a tombstone comment is consistent with the earlierClusterHostedDNStombstone and clearly reserves the JSON field name.However, all of the schema/feature-gate markers immediately below (the
+listType,+listMapKey,+kubebuilder:validation:*, and+openshift:enable:FeatureGate=GCPCustomAPIEndpointsInstalllines) are still active markers even though there is no longer a field. That can:
- Mislead future readers into thinking
serviceEndpointsis still part of the active schema.- Potentially confuse code-generation/validation tooling, since these markers are intended to be field-scoped.
I'd recommend either deleting those marker lines or “hard-commenting” them so they are no longer parsed as markers (e.g. prefix with an extra
/), while keeping the explanatory tombstone comments and the commented-out field name.For example:
-// +listType=map -// +listMapKey=name -// +kubebuilder:validation:MaxItems=11 -// +kubebuilder:validation:XValidation:rule="self.all(x, self.exists_one(y, x.name == y.name))",message="only 1 endpoint override is permitted per GCP service name" -// +optional -// +openshift:enable:FeatureGate=GCPCustomAPIEndpointsInstall -// ServiceEndpoints []GCPServiceEndpoint `json:"serviceEndpoints,omitempty"` +//// +listType=map +//// +listMapKey=name +//// +kubebuilder:validation:MaxItems=11 +//// +kubebuilder:validation:XValidation:rule="self.all(x, self.exists_one(y, x.name == y.name))",message="only 1 endpoint override is permitted per GCP service name" +//// +optional +//// +openshift:enable:FeatureGate=GCPCustomAPIEndpointsInstall +//// ServiceEndpoints []GCPServiceEndpoint `json:"serviceEndpoints,omitempty"`This keeps the historical context while ensuring no stray markers affect CRD/OpenAPI/feature-gate generation.
Please re-run
make updateand theverify-crd-schema/verify-crdify/verifyjobs after such a change to confirm all generators still pass cleanly.
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
Cache: Disabled due to data retention organization setting
Knowledge base: Disabled due to Reviews -> Disable Knowledge Base setting
📒 Files selected for processing (22)
config/v1/tests/infrastructures.config.openshift.io/GCPCustomAPIEndpoints.yaml(0 hunks)config/v1/tests/infrastructures.config.openshift.io/GCPCustomAPIEndpointsInstall.yaml(0 hunks)config/v1/types_infrastructure.go(1 hunks)config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_infrastructures-CustomNoUpgrade.crd.yaml(0 hunks)config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_infrastructures-DevPreviewNoUpgrade.crd.yaml(0 hunks)config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_infrastructures-TechPreviewNoUpgrade.crd.yaml(0 hunks)config/v1/zz_generated.deepcopy.go(0 hunks)config/v1/zz_generated.featuregated-crd-manifests.yaml(0 hunks)config/v1/zz_generated.swagger_doc_generated.go(0 hunks)machineconfiguration/v1/tests/controllerconfigs.machineconfiguration.openshift.io/GCPCustomAPIEndpoints.yaml(0 hunks)machineconfiguration/v1/tests/controllerconfigs.machineconfiguration.openshift.io/GCPCustomAPIEndpointsInstall.yaml(0 hunks)machineconfiguration/v1/zz_generated.crd-manifests/0000_80_machine-config_01_controllerconfigs-CustomNoUpgrade.crd.yaml(0 hunks)machineconfiguration/v1/zz_generated.crd-manifests/0000_80_machine-config_01_controllerconfigs-DevPreviewNoUpgrade.crd.yaml(0 hunks)machineconfiguration/v1/zz_generated.crd-manifests/0000_80_machine-config_01_controllerconfigs-TechPreviewNoUpgrade.crd.yaml(0 hunks)machineconfiguration/v1/zz_generated.featuregated-crd-manifests.yaml(0 hunks)openapi/generated_openapi/zz_generated.openapi.go(1 hunks)payload-manifests/crds/0000_10_config-operator_01_infrastructures-CustomNoUpgrade.crd.yaml(0 hunks)payload-manifests/crds/0000_10_config-operator_01_infrastructures-DevPreviewNoUpgrade.crd.yaml(0 hunks)payload-manifests/crds/0000_10_config-operator_01_infrastructures-TechPreviewNoUpgrade.crd.yaml(0 hunks)payload-manifests/crds/0000_80_machine-config_01_controllerconfigs-CustomNoUpgrade.crd.yaml(0 hunks)payload-manifests/crds/0000_80_machine-config_01_controllerconfigs-DevPreviewNoUpgrade.crd.yaml(0 hunks)payload-manifests/crds/0000_80_machine-config_01_controllerconfigs-TechPreviewNoUpgrade.crd.yaml(0 hunks)
💤 Files with no reviewable changes (20)
- config/v1/zz_generated.swagger_doc_generated.go
- config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_infrastructures-CustomNoUpgrade.crd.yaml
- config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_infrastructures-TechPreviewNoUpgrade.crd.yaml
- machineconfiguration/v1/tests/controllerconfigs.machineconfiguration.openshift.io/GCPCustomAPIEndpointsInstall.yaml
- machineconfiguration/v1/tests/controllerconfigs.machineconfiguration.openshift.io/GCPCustomAPIEndpoints.yaml
- machineconfiguration/v1/zz_generated.featuregated-crd-manifests.yaml
- payload-manifests/crds/0000_10_config-operator_01_infrastructures-CustomNoUpgrade.crd.yaml
- config/v1/zz_generated.deepcopy.go
- config/v1/tests/infrastructures.config.openshift.io/GCPCustomAPIEndpointsInstall.yaml
- payload-manifests/crds/0000_10_config-operator_01_infrastructures-TechPreviewNoUpgrade.crd.yaml
- machineconfiguration/v1/zz_generated.crd-manifests/0000_80_machine-config_01_controllerconfigs-DevPreviewNoUpgrade.crd.yaml
- payload-manifests/crds/0000_80_machine-config_01_controllerconfigs-TechPreviewNoUpgrade.crd.yaml
- payload-manifests/crds/0000_10_config-operator_01_infrastructures-DevPreviewNoUpgrade.crd.yaml
- config/v1/zz_generated.featuregated-crd-manifests.yaml
- machineconfiguration/v1/zz_generated.crd-manifests/0000_80_machine-config_01_controllerconfigs-CustomNoUpgrade.crd.yaml
- payload-manifests/crds/0000_80_machine-config_01_controllerconfigs-DevPreviewNoUpgrade.crd.yaml
- payload-manifests/crds/0000_80_machine-config_01_controllerconfigs-CustomNoUpgrade.crd.yaml
- config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_infrastructures-DevPreviewNoUpgrade.crd.yaml
- config/v1/tests/infrastructures.config.openshift.io/GCPCustomAPIEndpoints.yaml
- machineconfiguration/v1/zz_generated.crd-manifests/0000_80_machine-config_01_controllerconfigs-TechPreviewNoUpgrade.crd.yaml
🧰 Additional context used
📓 Path-based instructions (1)
**
⚙️ CodeRabbit configuration file
-Focus on major issues impacting performance, readability, maintainability and security. Avoid nitpicks and avoid verbosity.
Files:
openapi/generated_openapi/zz_generated.openapi.goconfig/v1/types_infrastructure.go
🔇 Additional comments (1)
openapi/generated_openapi/zz_generated.openapi.go (1)
12930-12940: LGTM - Generated code correctly reflects GCPServiceEndpoint removal.The Dependencies array correctly omits the removed GCPServiceEndpoint type, leaving only the three remaining GCP-related types. Since this is generated code (
zz_generatedprefix), ensure the generators have been run completely viamake updateas mentioned in the PR discussion.
|
/hold @barbacbd and I had agreed that these should stay to follow our newer patterns for populating CCM configuration. Would like to catch up on what's changed before we move forward here |
|
@barbacbd: The following tests failed, say
Full PR test history. Your PR dashboard. Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here. |
Removing the GCP Service Endpoints in favor of a new solution. The new solution will create a private hosted zone that will route traffic to the googleapi endpoints via an ip address created during the initialization of the private serivce connect endpoint. The cluster components no longer need the endpoint overrides, so the service endpoints can and should be removed to avoid confusion.