-
Notifications
You must be signed in to change notification settings - Fork 1.4k
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
libvirt: Inject Wildcard dns records in host's dnsmasq #2600
Conversation
Hi @gyohuangxin. Thanks for your PR. I'm waiting for a openshift member to verify that this patch is reasonable to test. If it is, they should reply with Once the patch is verified, the new status will be reflected by the I understand the commands that are listed here. 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. |
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: gyohuangxin 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 |
At this stage, we need a workaround to inject wildcard dns records in host's dnsmasq, and domain entry in cluster-ingress-02-config.yml file should not contain cluster name, refer to https://github.com/openshift/installer/blob/master/docs/dev/libvirt/README.md#console-doesnt-come-up. We make it be done automatically at the installconfig-creating stage. Fixes #1007
I don't think the installer should be using shell scripts in the asset generation esp when generating install-config. If you want to do something when creating cluster that might still be debatable. Why is this not something that the terraform or operator can't do? Also don't change the ingress for all platforms. |
agree we should only focus on libvirt only and don't affect others when you say so the proposal is to generate a set of dns records and inject those records into dnsmasq configuration file or directly insert this into libvirt definition, both way we need the file like
|
@abhinavdahiya @jichenjc Thanks for your suggestions, and I also think it's a better way to do it in terraform or operator. However, I was trying it in Ingress operator, refer to our discussion in openshift/cluster-ingress-operator#308, but it seems a hard work. Why not do it in terraform?
It only works on libvirt platform.
Pls let me know if I missed something, Thanks. |
// AddWildcardDNS configures the host's dnsmasq, so that all apps can | ||
// found by Ingress Operator | ||
func AddWildcardDNS(domain string) error { | ||
cmd := exec.Command("hack/configure-dnsmasq.sh", domain) |
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.
Considering that the installer is a binary, is this portable or does this expect hack/configure-dnsmasq.sh to be in the $PATH?
@zeenix @jaypoulz @gyohuangxin as another optinos. I created another one doing same thing here.. |
@crawford @jichenjc @gyohuangxin This looks like a good implementation (speaking purely in terms of getting dnsmasq to have the wildcard card), but I think @crawford should hold this PR for the same reason as #2614 (comment). I will take this code and add it to the installation configuration for our CI job. Thanks again for for all the hard work in figuring this out. |
I don't think the current implementation of running the shell script is acceptable at all. |
@abhinavdahiya I believe you may have misunderstood my intention. This implementation is not acceptable as part of the installer. That much is clear. Please see the comment I have linked for context. A similar implementation, however, can be used as a work around in the job configuration for our libvirt based CI job to get ingress traffic working. It won't be a perfect IPI solution, but until libvirt has support for injecting non-disruptive wildcard records - or someone comes up with a clean solution for a load-balancer as part of a libvirt deploy, we will need to work around this in a fashion similar to this. I updated my comment to be a little less ambiguous and hope that this additional context is helpful. |
@jaypoulz Thank you too.
This code aims to make cluster installed and run well one time. Should it just generate a script so that CI job can use it configure dnsmasq locally or remotely? And how do you take this code? Does a new branch need created? Please tell me if there are any problems afterwards. |
@gyohuangxin I am working on a new branch of openshift/release that is going to live here while I work on it. Basically, I will incorporate your shell script into a new test configuration template specific to our Z environment. I haven't gotten far enough yet to show you what I mean, but I will let you know if I have any trouble. |
using the local script to run dnsmasq updates is not acceptable and seems like we have moved to CI specific changes for now. i'm closing this based on ^^ /close Please feel free to reopen if you think I misunderstood the current state. |
@abhinavdahiya: Closed this PR. 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 kubernetes/test-infra repository. |
At this stage, we need a workaround to inject wildcard dns records in
host's dnsmasq, and domain entry in cluster-ingress-02-config.yml file should not contain cluster name, refer to
https://github.com/openshift/installer/blob/master/docs/dev/libvirt/README.md#console-doesnt-come-up.
We make it be done automatically at the installconfig-creating stage.
Fixes #1007