-
Notifications
You must be signed in to change notification settings - Fork 408
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
RFE-2962: Set interface name from node-ip-configuration to configure-ovs #3222
Conversation
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: tsorya 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 |
d6f2262
to
e20bf4c
Compare
This is essentially the next step beyond #3193 (which I think I would like to keep separate for the sake of easy reverting if it ends up breaking something). I do want to have a broader discussion about how we communicate between nodeip-configuration and other services because ovs-configuration isn't the only one that I think should consume this (there are at least two other places I think we could reuse this output, maybe more). I'm wondering if nodeip-configuration should not be directly configuring other services and instead just write a general nodeip file somewhere that other services can look at. This way nodeip-configuration doesn't need to know about every consumer and anyone who needs this information can just use it. I was planning to write up a (hopefully) short enhancement to cover the places I think this could be used and provide a complete picture of the situation for other interested parties. We have had enough problems with this that I think it's worth getting as much input as possible to make sure we don't miss any more scenarios when we fix this. |
@cybertron do you think node-ip should provide only ip or interface too? Currently i added to it interface but maybe better to provide only ip to some file as you said and each service that wants to use will read this file. This will work if we will continue blocking 2 nics on with the same subnet |
I think providing the subnet/ip is probably better. Is more deterministic and requires less logic. What's probably even more important is to make this behavior consistent across the board. |
node-ip-configuration will set env file for configure-ovs when it will set kubelet ip, this will allow to configure ovs with the bridge on the same interface that kubelet will use. Configure ovs should start after nodeip service and set bridge on the interface provided by nodeip
e20bf4c
to
3e3d208
Compare
@tsorya: The following test 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/test-infra repository. I understand the commands that are listed here. |
RFE-2962: Set interface name from node-ip-configuration to configure-ovs
node-ip-configuration will set env file for configure-ovs when it will
set kubelet ip, this will allow to configure ovs with the bridge on the
same interface that kubelet will use.
Configure ovs should start after nodeip service and set bridge on the
interface provided by nodeip
goes with openshift/baremetal-runtimecfg#183
I didn't reuse hint file as i was not sure if it is ok to change it's current logic. We need to set interface regarding if it has default route or not and currently setting hint doesn't help if there is no default route on that interface. That's why i used this logic though i think reusing hint can be nicer but will require to allow to set interface without default route.
The next step will be to not to set default route on bridge if it was not set on interface (still not sure how) or to set very low priority on it. Will be glad to discuss it
- What I did
- How to verify it
- Description for the changelog