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

CORS-2814: Add support for in-cluster DNS on Cloud Platforms when cloud DNS cannot be used #4018

Merged
merged 6 commits into from
Feb 1, 2024

Conversation

sadasu
Copy link
Contributor

@sadasu sadasu commented Nov 6, 2023

- What I did
Based on enhancement : openshift/enhancements#1468

- How to verify it
Verification still in-progress.

- Description for the changelog
These changes allow MCO to read an optional configmap containing the LB IPs of the LBs configured on cloud platforms, to be used to generate in-cluster DNS for API and API-Int URLs.

Contains implementation for CORS-2814, CORS-2815 and CORS-3169

@openshift-ci openshift-ci bot requested review from cdoern and cgwalters November 6, 2023 03:50
@sadasu sadasu force-pushed the custom-dns branch 5 times, most recently from af6e921 to cd53a07 Compare November 15, 2023 04:11
@sadasu sadasu changed the title Add support for in-cluster DNS on Cloud Platforms when cloud DNS cannot be used WIP: Add support for in-cluster DNS on Cloud Platforms when cloud DNS cannot be used Nov 15, 2023
@openshift-ci openshift-ci bot added the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Nov 15, 2023
@sadasu sadasu force-pushed the custom-dns branch 2 times, most recently from ea46d07 to e5a1767 Compare November 16, 2023 16:32
@sadasu sadasu force-pushed the custom-dns branch 4 times, most recently from b1585f0 to 92bdbd0 Compare January 17, 2024 22:41
@sadasu sadasu changed the title WIP: Add support for in-cluster DNS on Cloud Platforms when cloud DNS cannot be used Add support for in-cluster DNS on Cloud Platforms when cloud DNS cannot be used Jan 18, 2024
@openshift-ci openshift-ci bot removed the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Jan 18, 2024
@sadasu
Copy link
Contributor Author

sadasu commented Jan 25, 2024

/retest-required

@sadasu
Copy link
Contributor Author

sadasu commented Jan 25, 2024

@cybertron, @mkowalski could PTAL ?

@sadasu sadasu changed the title Add support for in-cluster DNS on Cloud Platforms when cloud DNS cannot be used CORS-2814: Add support for in-cluster DNS on Cloud Platforms when cloud DNS cannot be used Jan 25, 2024
@openshift-ci-robot openshift-ci-robot added the jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. label Jan 25, 2024
@openshift-ci-robot
Copy link
Contributor

openshift-ci-robot commented Jan 25, 2024

@sadasu: This pull request references CORS-2814 which is a valid jira issue.

Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the story to target the "4.16.0" version, but no target version was set.

In response to this:

- What I did
Based on enhancement : openshift/enhancements#1468

- How to verify it
Verification still in-progress.

- Description for the changelog
These changes allow MCO to read an optional configmap containing the LB IPs of the LBs configured on cloud platforms, to be used to generate in-cluster DNS for API and API-Int URLs.

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.

@openshift-ci-robot
Copy link
Contributor

openshift-ci-robot commented Jan 25, 2024

@sadasu: This pull request references CORS-2814 which is a valid jira issue.

Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the story to target the "4.16.0" version, but no target version was set.

In response to this:

- What I did
Based on enhancement : openshift/enhancements#1468

- How to verify it
Verification still in-progress.

- Description for the changelog
These changes allow MCO to read an optional configmap containing the LB IPs of the LBs configured on cloud platforms, to be used to generate in-cluster DNS for API and API-Int URLs.

Contains implementation for https://issues.redhat.com/browse/CORS-2814, https://issues.redhat.com/browse/CORS-2815 and https://issues.redhat.com/browse/CORS-3169

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.

@openshift-ci-robot
Copy link
Contributor

openshift-ci-robot commented Jan 25, 2024

@sadasu: This pull request references CORS-2814 which is a valid jira issue.

Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the story to target the "4.16.0" version, but no target version was set.

In response to this:

- What I did
Based on enhancement : openshift/enhancements#1468

- How to verify it
Verification still in-progress.

- Description for the changelog
These changes allow MCO to read an optional configmap containing the LB IPs of the LBs configured on cloud platforms, to be used to generate in-cluster DNS for API and API-Int URLs.

Contains implementation for CORS-2814, CORS-2815 and CORS-3169

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.

1 similar comment
@openshift-ci-robot
Copy link
Contributor

openshift-ci-robot commented Jan 25, 2024

@sadasu: This pull request references CORS-2814 which is a valid jira issue.

Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the story to target the "4.16.0" version, but no target version was set.

In response to this:

- What I did
Based on enhancement : openshift/enhancements#1468

- How to verify it
Verification still in-progress.

- Description for the changelog
These changes allow MCO to read an optional configmap containing the LB IPs of the LBs configured on cloud platforms, to be used to generate in-cluster DNS for API and API-Int URLs.

Contains implementation for CORS-2814, CORS-2815 and CORS-3169

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.

@sadasu
Copy link
Contributor Author

sadasu commented Jan 25, 2024

/jira-refresh

@sadasu
Copy link
Contributor Author

sadasu commented Jan 25, 2024

/retest-required

@openshift-ci openshift-ci bot added the lgtm Indicates that a PR is ready to be merged. label Jan 30, 2024
@@ -277,12 +277,52 @@ spec:
description: url is fully qualified URI with scheme https, that overrides the default generated endpoint for a client. This must be provided and cannot be empty.
type: string
pattern: ^https://
x-kubernetes-list-type: atomic
Copy link
Contributor

Choose a reason for hiding this comment

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

controllerconfig CRD lives now in openshift/api , you will need to update https://github.com/openshift/api/tree/master/machineconfiguration/v1 and vendor latest changes here.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

@sinnykumari ControllerConfig in openshift/api has already been updated: https://github.com/openshift/api/blob/master/machineconfiguration/v1/0000_80_controllerconfig-TechPreviewNoUpgrade.crd.yaml#L1629 and vendored https://github.com/openshift/machine-config-operator/blob/master/vendor/github.com/openshift/api/machineconfiguration/v1/0000_80_controllerconfig-TechPreviewNoUpgrade.crd.yaml#L1064

I ran make update on my mco branch and that resulted in this manifest being updated. It appears that it is unnecessary. So, I will remove this from my commit.

Copy link
Contributor

Choose a reason for hiding this comment

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

ah ok. @cdoern is this expected?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

@cdoern the same manifest is updated when I run make update on master. So, nothing specific to this PR. Removed this from my commit.

Copy link
Contributor

Choose a reason for hiding this comment

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

This is expected. Make update brings in the new manifests and copies them where necessary. There is a hack script that lists all of the CRDs we copy.

Generate the CoreDNS pod definition and Corefile for cloud platforms
when their DNSType is specified to be `ClusterHosted`. Currently
implemented just for GCP.
The in-cluster CoreDNS pods for cloud platforms would be
running in this namespace.
Start CoreDNS pod for some cloud platforms when their DNSType is
`ClusterHosted`. Currently implemented for GCP. Cloud default Load
Balancers are used so there is no need to start in-cluster Load
Balancers.
Copy link
Member

@cybertron cybertron left a comment

Choose a reason for hiding this comment

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

/lgtm

@openshift-ci openshift-ci bot added the lgtm Indicates that a PR is ready to be merged. label Jan 31, 2024
@sadasu
Copy link
Contributor Author

sadasu commented Jan 31, 2024

/retest-required

@sadasu
Copy link
Contributor Author

sadasu commented Feb 1, 2024

/retest

Copy link
Contributor

@sinnykumari sinnykumari left a comment

Choose a reason for hiding this comment

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

Overall this looks fine to me.
I don't have much expertise in technical details going on here, I assume that @cybertron has taken care of that part.
Before adding approval, few sanity check questions:

Copy link
Contributor

@mkowalski mkowalski left a comment

Choose a reason for hiding this comment

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

As per OCPBUGS-26951, if you are adding new CoreDNS pods you should also annotate them for the workload partitioning. Look at https://github.com/openshift/machine-config-operator/pull/4143/files to see how it's done for on-prem platforms

@sadasu
Copy link
Contributor Author

sadasu commented Feb 1, 2024

Overall this looks fine to me. I don't have much expertise in technical details going on here, I assume that @cybertron has taken care of that part. Before adding approval, few sanity check questions:

Yes, the design has been agreed upon. The enhancement has to be updated. Implementation took priority over that.

  • Do we need review from additional domain expert people?

I think the experts on on-prem CoreDNS @cybertron and @mkowalski are already involved.

  • We usually do pre-merge testing of feature. Are you working with any QE for verifying this feature or this will get tested later by corresponding QE?

Installer QE is testing this feature on 4.15. Hence, the backport PR #4155 has been created.

Adding `PreferredDuringScheduling` annotation to the cloud platform
coreDNS static pods in order to use reserved CPUs according to workload
partitioning.
@openshift-ci openshift-ci bot removed the lgtm Indicates that a PR is ready to be merged. label Feb 1, 2024
@mkowalski
Copy link
Contributor

/lgtm

@openshift-ci openshift-ci bot added the lgtm Indicates that a PR is ready to be merged. label Feb 1, 2024
@sinnykumari
Copy link
Contributor

Thanks, this seems to be a feature at the moment. Features are usually not backported, you may require staff-eng approval to that.
/approve

Copy link
Contributor

openshift-ci bot commented Feb 1, 2024

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: cybertron, mkowalski, sadasu, sinnykumari

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@openshift-ci openshift-ci bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Feb 1, 2024
@openshift-ci-robot
Copy link
Contributor

/retest-required

Remaining retests: 0 against base HEAD 2da0539 and 2 for PR HEAD 11c67c3 in total

Copy link
Contributor

openshift-ci bot commented Feb 1, 2024

@sadasu: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name Commit Details Required Rerun command
ci/prow/okd-scos-e2e-aws-ovn 11c67c3 link false /test okd-scos-e2e-aws-ovn

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/test-infra repository. I understand the commands that are listed here.

@openshift-merge-bot openshift-merge-bot bot merged commit 030bcf7 into openshift:master Feb 1, 2024
15 of 16 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
approved Indicates a PR has been approved by an approver from all required OWNERS files. jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. lgtm Indicates that a PR is ready to be merged.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants